定时闹钟设计 联系客服

发布时间 : 星期三 文章定时闹钟设计更新完毕开始阅读

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