⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 6定时中断动态四数码管显示.asm

📁 自己制作单片机并学习单片机应用的好东东,包含PCB和ASM源程序.
💻 ASM
字号:
;=================================================
; 定时中断动态四数码管显示
;=================================================
;
;	ew51仿真编程器		配套实验板学习例程
;
;	中山单片机学习网	诚电科技
;
;	http://www.zsmcu.com
;	E-mail:ew51@zsmcu.com
;=================================================
LED1	EQU	08H
LED2	EQU	09H
LED3	EQU	0AH
LED4	EQU	0BH

LedT0	EQU	0CH

	ORG 0000H 
	LJMP START;转入主程序


	ORG	000BH			;定时器0中断入口

INT_TO:
	PUSH	ACC
	PUSH	PSW

	CLR	TF0		;清定时0中断标?
	MOV	TH0,#0F6H		;2.5MS
	MOV	TL0,#03DH		;

	MOV	A,#11110000B	;关数码管
	ORL		P2,A

	MOV	A,LedT0
	CJNE	A,#0,INT_T0_1
	MOV	A,LED1
	MOVC	A,@A+DPTR
	MOV	P0,A
	CLR	P2.7	
	MOV	LedT0,#1
	LJMP	INT_T0_END
 INT_T0_1:
  	
	MOV	A,LedT0
	CJNE	A,#1,INT_T0_2
	MOV	A,LED2
	MOVC	A,@A+DPTR
	MOV	P0,A
	CLR	P2.6	
	MOV	LedT0,#2
	LJMP	INT_T0_END
 INT_T0_2:
  	
 	MOV	A,LedT0
	CJNE	A,#2,INT_T0_3
	MOV	A,LED3
	MOVC	A,@A+DPTR
	MOV	P0,A
	CLR	P2.5	
	MOV	LedT0,#3
	LJMP	INT_T0_END
 INT_T0_3:
  	
	MOV	A,LED4
	MOVC	A,@A+DPTR
	MOV	P0,A
	CLR	P2.4	
	MOV	LedT0,#0
	LJMP	INT_T0_END
  	
 INT_T0_END:

	POP	PSW	
	POP	ACC

RETI




START:
	MOV	SP,#60H
	

	MOV	TMOD,#01H		;设定T0为十六位定时模式。
	MOV	TH0,#0F6H		;2MS
	MOV	TL0,#03DH		;
	SETB	TR0		;开定时器0
	SETB	ET0		;致能定时0中断
	CLR	TF0		;清定时0中断标志
	SETB	EA			;开总中断

	MOV	LedT0,#00H
	MOV	DPTR,#TABLE

MAIN:

	MOV	LED1,#1
	MOV	LED2,#2
	MOV	LED3,#3
	MOV	LED4,#4

SCAN:

LJMP	SCAN

TABLE:
	DB	00101000B	;0
	DB	11101011B	;1
	DB	00110010B	;2
	DB	10100010B	;3
	DB	11100001B	;4
	DB	10100100B	;5
	DB	00100100B	;6
	DB	11101010B	;7
	DB	00100000B	;8
	DB	10100000B	;9
	DB	01100000B	;A
	DB	00100101B	;b
	DB	00111100B	;C
	DB	00100011B	;d
	DB	00110100B	;E
	DB	01110100B	;F
	DB	11110111B	;-
	DB	11111111B	;
END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -