說明書 使用說明: 一、首先開機顯示“00-00-00”為“時-分-秒”時間顯示。 二、按“調整”鍵進入調整界面“1-000000”為“代號-時分秒”。“S”,“M”,“H”為時、分、秒的調整,調整結束后按“確認”鍵進入下一個的調整“2-000000”為定時開機時間的調整,調整方法同上,依次調整“3-定時關機時間”、“4-鬧鈴時間”、“5-定時時間”、“6-年月日”。 三、調整結束后顯示正常時間,按鍵“定時”進入定時界面,根據調整的時間開始定時,同時看“正反”計時鍵按下為倒計時,不按為正計時。到時間響鈴,按鍵“返回”回到主界面。 四、正常顯示時間的時候按鍵“正反”計時鍵切換到年月日的顯示。按住“返回”鍵3秒可以軟關機,開機亦如此。
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
0.png (17.57 KB, 下載次數: 55)
下載附件
2019-7-16 01:00 上傳
0.png (11.61 KB, 下載次數: 50)
下載附件
2019-7-16 01:01 上傳
單片機源程序如下:
- S_SET BIT P1.0
- M_SET BIT P1.1
- H_SET BIT P1.2
- R_SET BIT P1.3
- Y_SET BIT P1.4
- N_SET BIT P1.5
- D_SET BIT P1.6
- S EQU 30H
- M EQU 31H
- H EQU 32H
- R EQU 33H
- Y EQU 34H
- N EQU 35H
- ORG 0000H
- LJMP MAIN
- ORG 000BH
- LJMP INT_T0
- ORG 0100H
- MAIN:MOV DPTR,#TAB
- MOV H,#0
- MOV M,#0
- MOV S,#0
- MOV R,#1
- MOV Y,#1
- MOV N,#0
- MOV R0,#0
- MOV TMOD,#01H
- MOV TH0,#3CH
- MOV TL0,#0B0H
- SETB TR0
- SETB ET0
- SETB EA
- A1: ACALL DISPLAY
- JNB S_SET,S1
- JNB M_SET,S2
- JNB H_SET,S3
- JNB D_SET,A2
- LJMP A1
- S1: ACALL DEL
- JB S_SET,A1
- INC S
- MOV A,S
- CJNE A,#60,J0
- MOV S,#0
- LJMP J0
- S2: ACALL DEL
- JB M_SET,A1
- K1: INC M
- MOV A,M
- CJNE A,#60,J1
- MOV M,#0
- LJMP J1
- S3: ACALL DEL
- JB H_SET,A1
- K2: INC H
- MOV A,H
- CJNE A,#24,J2
- MOV H,#0
- LJMP J2
- J0: JB S_SET,A1
- ACALL DISPLAY
- SJMP J0
- J1: JB M_SET,A1
- ACALL DISPLAY
- SJMP J1
- J2: JB H_SET,A1
- ACALL DISPLAY
- SJMP J2
- A2: ACALL NYR
- JNB R_SET,S4
- JNB Y_SET,S5
- JNB N_SET,S6
- JB D_SET,A1
- LJMP A2
- S4: ACALL DEL
- JB R_SET,A2
- MOV A,Y
- CJNE A,#2,J304
- INC R
- MOV A,R
- CJNE A,#29,J3
- MOV R,#1
- LJMP J3
- S5: ACALL DEL
- JB Y_SET,A2
- K3: INC Y
- MOV A,Y
- CJNE A,#12,J4
- MOV Y,#1
- LJMP J4
- S6: ACALL DEL
- JB N_SET,A2
- K4: INC N
- MOV A,N
- CJNE A,#60,J5
- MOV N,#0
- LJMP J5
- J3: JB R_SET,A2
- ACALL NYR
- SJMP J3
- J4: JB Y_SET,A2
- ACALL NYR
- SJMP J4
- J5: JB N_SET,A2
- ACALL NYR
- SJMP J5
- J304: MOV A,Y
- CJNE A,#4,J306
- INC R
- MOV A,R
- CJNE A,#31,J3
- MOV R,#1
- LJMP J3
- J306: MOV A,Y
- CJNE A,#6,J309
- INC R
- MOV A,R
- CJNE A,#31,J3
- MOV R,#1
- LJMP J3
- J309: MOV A,Y
- CJNE A,#9,J3011
- INC R
- MOV A,R
- CJNE A,#31,J3
- MOV R,#1
- LJMP J3
- J3011: MOV A,Y
- CJNE A,#11,J31
- INC R
- MOV A,R
- CJNE A,#31,J3
- MOV R,#1
- LJMP J3
- J31: INC R
- MOV A,R
- CJNE A,#32,J3
- MOV R,#1
- LJMP J3
- INT_T0: MOV TH0,#3CH
- MOV TL0,#0B0H
- INC R0
- MOV A,R0
- CJNE A,#20,RETUNE
- INC S
- MOV R0,#0
- MOV A,S
- CJNE A,#60,RETUNE
- INC M
- MOV S,#0
- MOV A,M
- CJNE A,#60,RETUNE
- INC H
- MOV M,#0
- MOV A,H
- CJNE A,#24,RETUNE
- INC R
- MOV H,#0
- MOV M,#0
- MOV S,#0
- MOV A,Y
- CJNE A,#2,T304
- MOV A,R
- CJNE A,#29,RETUNE
- INC Y
- MOV R,#1
- MOV A,Y
- CJNE A,#12,RETUNE
- INC N
- MOV Y,#0
- MOV A,N
- CJNE A,#60,RETUNE
- MOV R,#1
- MOV Y,#1
- MOV N,#0
- MOV R0,#0
- RETUNE: RETI
- T304: MOV A,Y
- CJNE A,#4,T306
- MOV A,R
- CJNE A,#31,RETUNE1
- INC Y
- MOV R,#1
- LJMP DN
- T306: MOV A,Y
- CJNE A,#6,T309
- MOV A,R
- CJNE A,#31,RETUNE1
- INC Y
- MOV R,#1
- LJMP DN
- T309: MOV A,Y
- CJNE A,#9,T3011
- MOV A,R
- CJNE A,#31,RETUNE1
- INC Y
- MOV R,#1
- LJMP DN
- T3011: MOV A,Y
- CJNE A,#11,T31
- MOV A,R
- CJNE A,#31,RETUNE1
- INC Y
- MOV R,#1
- LJMP DN
- T31: MOV A,R
- CJNE A,#32,RETUNE1
- INC Y
- MOV R,#1
- LJMP DN
- DN: MOV A,Y
- CJNE A,#12,RETUNE1
- INC N
- MOV Y,#0
- MOV A,N
- CJNE A,#60,RETUNE1
- MOV R,#0
- MOV Y,#0
- MOV N,#0
- MOV R0,#0
- RETUNE1: RETI
- DISPLAY:MOV A,S
- MOV B,#10
- DIV AB
- SETB P2.6
- MOVC A,@A+DPTR
- MOV P0,A
- ACALL DEL
- CLR P2.6
- MOV A,B
- SETB P2.7
- MOVC A,@A+DPTR
- MOV P0,A
- ACALL DEL
- CLR P2.7
- SETB P2.5
- MOV P0,#0BFH
- ACALL DEL
- CLR P2.5
- MOV A,M
- MOV B,#10
- DIV AB
- SETB P2.3
- MOVC A,@A+DPTR
- MOV P0,A
- ACALL DEL
- CLR P2.3
- MOV A,B
- SETB P2.4
- MOVC A,@A+DPTR
- MOV P0,A
- ACALL DEL
- CLR P2.4
- SETB P2.2
- MOV P0,#0BFH
- ACALL DEL
- CLR P2.2
- MOV A,H
- MOV B,#10
- DIV AB
- SETB P2.0
- MOVC A,@A+DPTR
- MOV P0,A
- ACALL DEL
- CLR P2.0
- MOV A,B
- SETB P2.1
- MOVC A,@A+DPTR
- MOV P0,A
- ACALL DEL
- CLR P2.1
- RET
- NYR: MOV A,R
- MOV B,#10
- DIV AB
- SETB P2.6
- MOVC A,@A+DPTR
- MOV P0,A
- ACALL DEL
- CLR P2.6
- MOV A,B
- SETB P2.7
- MOVC A,@A+DPTR
- MOV P0,A
- ACALL DEL
- CLR P2.7
- SETB P2.5
- MOV P0,#0BFH
- ACALL DEL
- CLR P2.5
- MOV A,Y
- MOV B,#10
- DIV AB
- SETB P2.3
- MOVC A,@A+DPTR
- MOV P0,A
- ACALL DEL
- CLR P2.3
- MOV A,B
- SETB P2.4
- MOVC A,@A+DPTR
- MOV P0,A
- ACALL DEL
- CLR P2.4
- SETB P2.2
- MOV P0,#0BFH
- ACALL DEL
- CLR P2.2
- MOV A,N
- MOV B,#10
- DIV AB
- SETB P2.0
- MOVC A,@A+DPTR
- MOV P0,A
- ACALL DEL
- CLR P2.0
- MOV A,B
- SETB P2.1
- MOVC A,@A+DPTR
- MOV P0,A
- ACALL DEL
- CLR P2.1
- RET
- TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
- DEL: MOV R6,#10
- LOOP1:MOV R7,#100
- LOOP2:DJNZ R7,LOOP2
- DJNZ R6,LOOP1
- RET
- END
復制代碼
所有資料51hei提供下載:
電子時鐘(年月日).zip
(50.99 KB, 下載次數: 103)
2019-7-16 00:14 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|