单片机的定时闹钟
MOV MOV CLR C
INC A ;秒钟自加1
CJNE A,#3CH,GO1 ;判断秒钟是否到60秒? MOV
20H,#0 ;到60秒复位 R2,#14H A,20H
MOV 30H,#0 MOV 31H,#0 MOV
A,21H
INC A CJNE
A,#3CH,GO2 MOV 21H,#0H MOV 32H,#0 MOV 33H,#0 MOV A,22H
INC A CJNE
A,#18H,GO3
MOV 22H,#00H MOV 34H,#0 MOV 35H,#0
AJMP
RET0
GO1:
MOV
20H,A MOV B,#0AH DIV AB MOV 31H,A MOV 30H,B
AJMP RET0
GO2:
MOV
21H,A
MOV B,#0AH DIV AB MOV 33H,A MOV 32H,B
AJMP
RET0
GO3:
MOV
22H,A
MOV B,#0AH DIV AB MOV 35H,A
MOV 34H,B
;分钟自加1
;判断分钟是否到60分?
;到60分复位 ;时钟自加1 ;判断时钟是否到24时?
;到24时复位
32
单片机的定时闹钟
AJMP
RET0
RET0: POP PSW ;恢复现场 POP ACC RETI
;×××××运行部分××××× DISPLAY1: MOV R0,#30H MOV R3,#0FEH
MOV
A,R3
PLAY1: MOV P2,A MOV A,@R0
MOV DPTR,#DSEG1 MOVC A,@A+DPTR MOV P0,A LCALL DL1
MOV P2,#0FFH MOV A,R3
RL A JNB ACC.6,LD1 INC R0 MOV R3,A
LJMP PLAY1 LD1: RET
DISPLAY2: PUSH ACC PUSH PSW MOV R0,#36H
MOV R3,#0FBH
MOV
A,R3
PLAY2: MOV P2,A MOV A,@R0
MOV DPTR,#DSEG1 MOVC A,@A+DPTR MOV P0,A LCALL DL1
MOV P2,#0FFH MOV A,R3 RL A JNB ACC.6,LD2
INC R0
;表首地址送DPTR ;送高电平到P2 ; ;调用查表程序 ;现场保护 ;表首地址送DPTR ;查ASCII特码 ;查表结果送A ;送高电平到P2 33
单片机的定时闹钟
MOV R3,A LJMP PLAY2
LD2: POP PSW ;恢复现场 POP ACC RET
;×××××延时时间××××× DL1: MOV R7,#02H ;延时时间 DL: MOV
R6,#0200H DL6: DJNZ
R6,$ DJNZ R7,DL
RET
DSEG1:DB 3FH,06H,5BH,4FH,66H DB 6DH,7DH,07H,7FH,6FH
END
附2:系统原理图
34
单片机的定时闹钟
35