📄 clock用查询完成.asm
字号:
ORG 0000H
AJMP MAIN
ORG 0100H
MAIN:
MOV SP,#30H
MOV 40H,#00H ;定时10ms
MOV 41H,#00H
MOV 42H,#00H
MOV 43H,#00H
MOV 44H,#00H
MOV TMOD,#01H
MOV TH0,#0D8H
MOV TL0,#0F0H
MOV R0,#41H
MOV IE,#00H
SETB TR0
CYCLE:
ACALL INKEY
JBC TF0,PIPO
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
INC 43H
MOV A,43H
MOV A,43H
DA A
MOV 43H,A
CJNE A,#24H,RET0
MOV 43H,#00H
AJMP CYCLE
RET0:
POP ACC
POP PSW
SETB TR0
AJMP CYCLE
;--------------------------------------
INKEY:
MOV P3,#0FFH
JB P3.3,OUT1
QUDOU:
ACALL SONG
JNB P3.3,QUDOU
MOV R7,44H
CJNE R7,#00H,CHANGE
MOV R0,#42H
INC 44H
AJMP OUT1
CHANGE:
MOV 44H,#00H
OUT1:
RET
SONG:
CLR P1.0
ACALL DELAY
SETB P1.0
RET
;---------------------------------
;显示子程序
DISP:
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 + -