INC MOV CJNE SECOND A,SECOND
;秒值加1
A,#60,J0 ;判断是否加到60秒 MOV SECOND,#0
LJMP
J0
S2:
LCALL DELAY
JB
M_SET,A1
K1: INC
MINUTE
MOV A,MINUTE
CJNE A,#60,J1 MOV MINUTE,#0
LJMP
J1
S3:
LCALL DELAY
JB
H_SET,A1
K2: INC
HOUR
MOV A,HOUR
CJNE A,#24,J2 MOV HOUR,#0
LJMP J2 J0: JB
S_SET,A1
LCALL DISPLAY
SJMP
J0
J1: JB M_SET,A1
LCALL DISPLAY
SJMP
J1
分钟值加1
判断是否加到60分 小时值加1
判断是否加到24小时 若到24,小时清零
; ;
; ; ;
14
J2: JB H_SET,A1
LCALL DISPLAY
SJMP J2
INT_T0: MOV MOV INC MOV CJNE INC MOV MOV CJNE INC MOV MOV CJNE INC MOV MOV CJNE
MOV
DISPLAY: MOV MOV DIV CLR
MOVC
TH0,#(65536-50000)/256 TL0,#(65536-50000)MOD 256 TCNT A,TCNT
A,#20,RETURN ;计时1秒 SECOND TCNT,#0 A,SECOND A,#60, RETURN MINUTE SECOND,#0 A,MINUTE A,#60, RETURN HOUR MINUTE,#0 A,HOUR A,#24, RETURN HOUR,#0
A,SECOND ;B,#10 ;AB ;A/B P3.4 ;A, @A+DPTR ; 15
显示秒
把10送给B寄存器商送给B 片选秒的个位 查表
MOV P2, A ;将码形送给P2口
LCALL DELAY ;扫频 STEB MOV CLR MOVC P3.4 ;停止对秒钟个位扫频 A,B ;将商中值送给A P3.5 ;选中秒钟十位 A,@A+DPTR ;查表
MOV
P2,A ;LCALL DELAY ; P3.5 ;MOV A,MINUTE MOV B,#10 DIV AB CLR P3.2 MOVC A,@A+DPTR MOV
P2,A
LCALL DELAY SETB P3.2 MOV A,B CLR P3.3 MOVC A,@A+DPTR MOV
P2,A
LCALL DELAY
P3.3 MOV A,HOUR MOV B,#10 DIV AB CLR P3.0 MOVC A,@A+DPTR MOV
P2,A
将码形送给P2口
延时
停止扫秒钟十位 显示分钟 显示小时
SETB
; SETB
; 16
LCALL DELAY SETB MOV CLR MOVC MOV
P3.0 A,B P3.1 A,@A+DPTR P2,A
LCALL DELAY SETB RET
P3.1
RETURN :RETI
TABLE:
3FH,06H,5BH,4FH,66H
DB
DELAY: MOV D1:
MOV DJNZ DJNZ RET
DB
6DH,7DH,07H,7FH,6FH
R6,#10
R7,#250 R7,$ R6,D1
END
17