发布时间 : 星期三 文章定时闹钟设计更新完毕开始阅读
MOV P0,#40H ;显示分隔符
LCALL DELAY SETB
P3.2
;显示小时
MOV A,HOUR1
MOV DIV CLR
AB P3.0
B,#10
MOVC A,@A+DPTR MOV
P0,A
LCALL DELAY SETB MOV CLR
P3.0
A,B
P3.1
MOVC A,@A+DPTR MOV
P0,A
LCALL DELAY SETB P3.1 RET
2、控制模块:负责定时闹钟的中断处理和按键扫描; INT_T0:
- 21 -
MOV MOV
TH0,#(65536-50000)/256 TL0,#(65536-50000)MOD 256
INC TCNT MOV
A,TCNT
CJNE A,#20,RETUNE INC SECOND MOV TCNT,#0 MOV
A,SECOND
CJNE A,#60,RETUNE INC MINUTE MOV SECOND,#0 MOV
A,MINUTE
CJNE A,#60,RETUNE INC HOUR MOV MINUTE,#0 MOV
A,HOUR
CJNE A,#24,RETUNE MOV HOUR,#0 MOV MINUTE,#0 MOV
SECOND,#0
- 22 -
;计时1秒
MOV TCNT,#0
RETUNE: RETI
3、读写模块:负责定时闹钟的时间设置和功能切换操作。 A1: LCALL DISPLAY
JNB JNB
JNB JNB JB CLR
LJMP
B0: SETB LJMP AA: MOV MOV MOV
MOV
A2: LCALL JNB
JNB M_SET,S2 H_SET,S3
QD,B0 ND,AA SD,A1 TR0
A1
TR0 A1 DPTR,#TABLE HOUR1,#0
MINUTE1,#0
SECOND1,#0
DISPLAY1 M_SET1,L1
H_SET1,L2
- 23 -
JB QD,A2
A3: LCALL DISPLAY MOV A,32H CJNE A,52H,A3 MOV CJNE LCALL
LJMP S2: LCALL
JB
K2: INC MOV CJNE MOV
LJMP
S3: LCALL
JB
K3: INC MOV
CJNE
A,31H A,51H,A3 ALARM A1
M_SET,A1 MINUTE ;分钟值加1
A,MINUTE
A,#60,J1 ;判断是否加到60分 MINUTE,#0
K2
DELAY H_SET,A1 HOUR
;小时值加1
A,HOUR
A,#24,J2 ;判断是否加到24小时- 24 -
DELAY