您当前的位置:五五电子网电子知识单片机-工控设备51单片机电子钟(2) 正文
电子钟(2)

电子钟(2)

点击数:7916 次   录入时间:03-04 11:47:46   整理:http://www.55dianzi.com   51单片机

; 显示时钟 /////////////////////////////////////

DISPLAY:

MOV A,DISML

MOV DPTR,#SETTAB

MOVC A,@A+DPTR

MOV SBUF,A

D1: JNB TI,D1

CLR TI

MOV A,DISMH

MOV DPTR,#SETTAB

MOVC A,@A+DPTR

MOV SBUF,A

D2: JNB TI,D2

CLR TI

MOV A,DISHL

97

MOV DPTR,#SETTAB

MOVC A,@A+DPTR

MOV SBUF,A

D3: JNB TI,D3

CLR TI

MOV A,DISHH

MOV DPTR,#SETTAB

MOVC A,@A+DPTR

MOV SBUF,A

D4: JNB TI,D4

CLR TI

RET

;/////////////////////////////////////////////

; 判按键标志 ///////////////////////////////////

CRITERION:

MOV A,SETFLAG

CJNE A,#00H,ERFLAG ; 设置标志为 0 , 即没

有按键,继续去显示

AJMP RET1

ERFLAG: CJNE A,#06H,SETML1 ; 设置标志为 6 ,即错

误了,去显示错误

AJMP ERR

SETML1: CJNE A,#01H,SETMH1

AJMP SETML ; 设置标志为 1 ,显示

设分低

SETMH1: CJNE A,#02H,SETHL1

AJMP SETMH ; 设置标志为 2 ,显示

设分高

98

SETHL1: CJNE A,#03H,SETHH1

AJMP SETHL ; 设置标志为 3 ,显示

设时低

SETHH1: CJNE A,#04H,RET1 ; 设置标志为 5 ,是退

出标志

AJMP SETHH ; 设置标志为 4 ,显示

设时高

RET1: SETB TR0

ACALL DELAY

AJMP DIS

;/////////////////////////////////////////////

; 设分低(分低位闪烁) /////////////////////////

SETML:

CLR TR0

MOV A,ADDFLAG

CJNE A,#01H,SETML2 ; 是否按下了 2 秒钟,

是就开始闪烁设置

JNB P3.2,ADD3

MOV ADDFLAG,#00H ; 松开了,清闪标志

AJMP SETML2

ADD3: INC DISML

MOV A,DISML

CJNE A,#0AH,SETML2

MOV DISML,#00H

SETML2: ACALL DELAY2

ACALL DISPLAY

ACALL DELAY2

MOV SBUF,#00H

99

E1: JNB TI,E1

CLR TI

MOV A,DISMH

MOV DPTR,#SETTAB

MOVC A,@A+DPTR

MOV SBUF,A

E2: JNB TI,E2

CLR TI

MOV A,DISHL

MOV DPTR,#SETTAB

MOVC A,@A+DPTR

MOV SBUF,A

E3: JNB TI,E3

CLR TI

MOV A,DISHH

MOV DPTR,#SETTAB

MOVC A,@A+DPTR

MOV SBUF,A

E4: JNB TI,E4

CLR TI

AJMP CRITERION

;//////////////////////////////////////////////////

; 设分高 ( 分高位闪烁 )////////////////////////////////

SETMH:

CLR TR0

MOV A,ADDFLAG

CJNE A,#01H,SETMH2 ; 是否按下了 2 秒钟,

是就开始闪烁设置

100

JNB P3.2,ADD4

MOV ADDFLAG,#00H ; 松开了,清闪标志

AJMP SETMH2

ADD4: INC DISMH

MOV A,DISMH

CJNE A,#0AH,SETMH2

MOV DISMH,#00H

SETMH2: ACALL DELAY2

ACALL DISPLAY

ACALL DELAY2

MOV A,DISML

MOV DPTR,#SETTAB

MOVC A,@A+DPTR

MOV SBUF,A

F1: JNB TI,F1

CLR TI

MOV SBUF,#00H

F2: JNB TI,F2

CLR TI

MOV A,DISHL

MOV DPTR,#SETTAB

MOVC A,@A+DPTR

MOV SBUF,A

F3: JNB TI,F3

CLR TI

MOV A,DISHH

MOV DPTR,#SETTAB

MOVC A,@A+DPTR

101

MOV SBUF,A

F4: JNB TI,F4

CLR TI

AJMP CRITERION

;//////////////////////////////////////////////////

; 设时低位(时低位闪烁) ////////////////////////////

SETHL:

CLR TR0

MOV A,ADDFLAG

CJNE A,#01H,SETHL2 ; 是否按下了 2 秒钟,

是就开始闪烁设置

JNB P3.2,ADD5

MOV ADDFLAG,#00H ; 松开了,清闪标志

AJMP SETHL2

ADD5: INC DISHL

MOV A,DISHL

CJNE A,#0AH,SETHL2

MOV DISHL,#00H

SETHL2: ACALL DELAY2

ACALL DISPLAY

ACALL DELAY2

MOV A,DISML

MOV DPTR,#SETTAB

[1] [2]  下一页


本文关键字:电子钟  51单片机单片机-工控设备 - 51单片机

上一篇:电子钟(1)