📄 date.asm
字号:
ORG 0000H
AJMP MAIN
ORG 001BH
AJMP TIME
ORG 000BH
AJMP TIMER2
ORG 0030H
MAIN:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MOV SP,#60H
MOV R0,#40H
MOV @R0,#3FH
INC R0
MOV @R0,#06H
INC R0
MOV @R0,#5BH
INC R0
MOV @R0,#4FH
INC R0
MOV @R0,#66H
INC R0
MOV @R0,#6DH
INC R0
MOV @R0,#7DH
INC R0
MOV @R0,#07H
INC R0
MOV @R0,#7FH
INC R0
MOV @R0,#6FH ;9
INC R0
MOV @R0,#00H
INC R0
MOV @R0,#40H ;-
INC R0
MOV @R0,#08H ;_
MOV 36H,#14H
MOV 35H,#02H
MOV 34H,#08H
MOV 33H,#20H
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MOV TMOD,#11H
MOV 20H,#28H
CLR A
MOV 30H,A ;分别存放时分秒
MOV 31H,A
MOV 32H,A
SETB ET1
SETB EA
MOV IP,#08H ;中断优先级控制,计时器1为高优先级
MOV TH1,#0A6H
MOV TL1,#00H
SETB TR1
SETB ET0
MOV TH0,#0FCH
MOV TL0,#33H
SETB TR0
MOV A,33H
MOV 50H,A
MOV A,34H
MOV 51H,A
MOV A,35H
ANL A,#0F0H
ORL A,#00CH
SWAP A
MOV 52H,A
MOV A,35H
ANL A,#0FH
ORL A,#0C0H
SWAP A
MOV 53H,A
MOV A,36H
MOV 54H,A
MOV 55H,#0AAH
JMAIN:
MOV A,31H
ANL A,#07H
JNZ NZERO
AJMP FIVM
NZERO: CJNE A,#05H,NFIVM
FIVM: MOV A,#01H
MOV 3BH,A
AJMP ENDFIV
NFIVM: MOV A,#00H
MOV 3BH,#00H
ENDFIV:
;;;;;;;;;;;;;;;;
MOV A,3CH
JZ JMAIN
MOV A,50H
SWAP A
MOV 50H,A
MOV A,51H
SWAP A
MOV 51H,A
MOV A,52H
SWAP A
MOV 52H,A
MOV A,53H
SWAP A
MOV 53H,A
MOV A,54H
SWAP A
MOV 54H,A
MOV A,55H
SWAP A
MOV 55H,A
MOV A,50H
MOV R1,#51H
XCHD A,@R1
MOV 50H,A
MOV A,51H
MOV R1,#52H
XCHD A,@R1
MOV 51H,A
MOV A,52H
MOV R1,#53H
XCHD A,@R1
MOV 52H,A
MOV A,53H
MOV R1,#54H
XCHD A,@R1
MOV 53H,A
MOV A,54H
MOV R1,#55H
XCHD A,@R1
MOV 54H,A
CLR A
MOV 3CH,A
;;;;;;;;;;;;;;
AJMP JMAIN
;;;;;;;;;;;;;;;;;;;
TIME: PUSH PSW ;计时器1中断服务程序,提供基准时间
PUSH ACC
MOV TH1,#0A6H
MOV TL1,#00H
MOV A,20H
SUBB A,#0AH
JZ HMINI
SUBB A,#0AH
JZ HMINI
SUBB A,#0AH
JZ HMINI
SUBB A,#0AH
JZ HMINI
HMINIC: DJNZ 20H,RETUNT
MOV 20H,#28H
MOV A,#01H
ADD A,32H
DA A
MOV 32H,A
CJNE A,#60H,RETUNT
MOV 32H,#00H
MOV A,#01H
ADD A,31H
DA A
MOV 31H,A
CJNE A,#60H,RETUNT
MOV 31H,#00H
MOV A,#01H
ADD A,30H
DA A
MOV 30H,A
CJNE A,#24H,RETUNT
MOV 30H,#00H
RETUNT: POP ACC
POP PSW
RETI
HMINI: MOV A,#01H
MOV 3CH,A
AJMP HMINIC
TIMER2: PUSH ACC
MOV TH0,#0F6H
MOV TL0,#00H
ACALL DDSP
POP ACC
RETI
DDSP: MOV A,38H
INC A
CJNE A,#09H,CREL
MOV A,#01H
CREL: MOV 38H,A
DEC A
JZ A01
DEC A
JZ A02
DEC A
JZ A03
DEC A
JZ A04
DEC A
JZ A05
DEC A
JZ A06
DEC A
JZ A07
DEC A
JZ A08
A01: MOV A,#0FH
ANL A,53H
AJMP RTT2
A02: MOV A,#0F0H
ANL A,53H
SWAP A
AJMP RTT2
A03: MOV A,#0FH
ANL A,52H
AJMP RTT2
A04: MOV A,#0F0H
ANL A,52H
SWAP A
AJMP RTT2
A05: MOV A,#0FH
ANL A,51H
AJMP RTT2
A06: MOV A,#0F0H
ANL A,51H
SWAP A
AJMP RTT2
A07: MOV A,#0FH
ANL A,50H
AJMP RTT2
A08: MOV A,#0F0H
ANL A,50H
SWAP A
AJMP RTT2
RTT2: MOV 39H,A
ACALL DPLAY
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
DPLAY: MOV R0,38H
CLR A
SETB CY
LOOPC: RLC A
DJNZ R0,LOOPC
MOV DPTR,#8000H
MOVX @DPTR,A
MOV A,39H
ADD A,#40H
MOV R0,A
MOV A,@R0
MOV DPTR,#9000H
MOVX @DPTR,A
CLR CY
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -