📄 clock用中断完成.asm
字号:
ORG 0000H
AJMP MAIN
ORG 000BH
AJMP PIPO
ORG 0100H
MAIN:
MOV SP,#30H
MOV 40H,#00H ;定时10ms
MOV 41H,#00H
MOV 42H,#00H
MOV TMOD,#01H
MOV TH0,#0D8H
MOV TL0,#0F0H
SETB EA
SETB ET0
SETB TR0
CYCLE:
LCALL DISP
AJMP CYCLE
PIPO:
PUSH PSW
PUSH ACC
SETB PSW.3
CLR TR0
MOV TH0,#0D8H
MOV TL0,#0F0H
INC 40H
MOV A,40H
CJNE A,#64H,RET0
MOV 40H,#00H
INC 41H
MOV A,41H
DA A
MOV 41H,A
CJNE A,#60H,RET0
MOV 41H,#00H
INC 42H
MOV A,42H
DA A
MOV 42H,A
CJNE A,#60H,RET0
MOV 42H,#00H
RET0:
POP ACC
POP PSW
SETB TR0
RETI
;显示子程序
DISP:
MOV R0,#41H
MOV A,@R0
ANL A,#0FH
ACALL TABLE
MOV P2,A
CLR P0.6
ACALL DELAY
SETB P0.6
MOV A,@R0
SWAP A
ANL A,#0FH
ACALL TABLE
MOV P2,A
CLR P0.5
ACALL DELAY
SETB P0.5
INC R0
MOV A,@R0
ANL A,#0FH
ACALL TABLE
MOV P2,A
CLR P0.4
ACALL DELAY
SETB P0.4
MOV A,@R0
SWAP A
ANL A,#0FH
ACALL TABLE
MOV P2,A
CLR P0.3
ACALL DELAY
SETB P0.3
RET
TABLE:
INC A
MOVC A,@A+PC
RET
DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H ;0-9的段码
DELAY: MOV R3,#10H
DELAY0: MOV R4,#50H
DELAY1: DJNZ R4,DELAY1
DJNZ R3,DELAY0
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -