📄 倒计时演示2.asm
字号:
;利用中断的99秒倒计时器
ORG 00H
JMP START
ORG 0BH
JMP TIM0
START:MOV R3,#00
MOV R4,#100
MOV DPTR,#TABLE
MOV SP,#40H
MOV TMOD,#01H
MOV TH0,#HIGH(65536-3800)
MOV TL0,#LOW(65536-3800) ;初值4Ms
SETB TR0
MOV IE,#82H
TIM0:
MOV TH0,#HIGH(65536-3800)
MOV TL0,#LOW(65536-3800)
INC R3
CJNE R3,#250,X1
MOV R3,#00
DEC R4
MOV A,R4
MOV B,#10
DIV AB
MOV 20H,B ; 个位
MOV 21H,A ; 十位
CJNE R4,#00,DD1
MOV R4,#100
DD1: CALL SCAN
X1: PUSH ACC
PUSH PSW
CALL SCAN
POP PSW
POP ACC
RETI
SCAN:MOV P2,#11111011B ;扫描子程序
MOV A,20H
MOVC A,@A+DPTR
MOV P0,A
CALL DELAY1
MOV P2,#11111101B
MOV A,21H
MOVC A,@A+DPTR
MOV P0,A
CALL DELAY1
RET
DELAY:MOV R5,#50
D1: MOV R6,#40
D2: MOV R7,#248
CALL SCAN
DJNZ R7,$
DJNZ R6,D2
DJNZ R5,D1
RET
DELAY1:MOV R6,#4 ;扫描延时
D3: MOV R7,#248
DJNZ R7,$
DJNZ R6,D3
RET
TABLE:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H ;共阴字码表
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -