仿真圖:
0.png (31.98 KB, 下載次數(shù): 55)
下載附件
2017-6-13 20:42 上傳
0.png (57.98 KB, 下載次數(shù): 46)
下載附件
2017-6-13 20:42 上傳
系統(tǒng)采用通用的80C51芯片,顯示器為6個共陽極LED數(shù)碼管,用1個BCD 7段譯碼器74LS47驅(qū)動數(shù)碼管(74LS47的輸入為BCD碼,其輸出級為集電極開路輸出,可直接驅(qū)動7段譯碼管,具有首尾消零等特點),用3-8譯碼器74LS138的輸出作為動態(tài)掃描時數(shù)碼管的選通信號,因為采用了上述兩個芯片,所以在對數(shù)碼管進(jìn)行掃描顯示時,只需要單片機的7條I/O線就能完成顯示功能了。
選用P0.0--P0.3作為顯示數(shù)據(jù)值的輸出,連接在BCD 7段譯碼器74LS47的BCD碼輸入端,P0.4--P0.6作為掃描值的輸出連接在3-8譯碼器74LS138的輸入端(74LS138的A、B、C),因此,寫程序時應(yīng)以P0口高4位為位掃描值,低4位為顯示數(shù)據(jù)值(分離BCD碼)。由于LED數(shù)據(jù)管點亮?xí)r耗電量較大,因此使用了排阻作為電源驅(qū)動輸出,以保證數(shù)碼管的正常亮度。單片機的P1.0--P1.5口分別接在S1--S6 6個按鍵上,以控制“時”,“分”,“秒”的調(diào)整。
時間以24小時為一個周期,數(shù)字時鐘鐘的格式為:XX XX XX,由左向右分別為:時、分、秒。完成顯示由秒加1,一直加1至59,再恢復(fù)為00;分加1,一直加1至59,再恢復(fù)00;時加1,一直加1至23,再恢復(fù)00。
***** 按鍵功能*****
1.啟動時,數(shù)字時鐘從23:59:00 開始自動計時;
2.按鍵S1控制對“時”的調(diào)整,每按一次時計數(shù)值加1;
3.按鍵S2控制對“分”的調(diào)整,每按一次分計數(shù)值加1;
4.按鍵S3控制對“秒”的調(diào)整,每按一次秒計數(shù)值加1;
5.按鍵S4控制對“時”的調(diào)整,每按一次時計數(shù)值減1;
6.按鍵S5控制對“分”的調(diào)整,每按一次分計數(shù)值減1;
7.按鍵S6控制對“秒”的調(diào)整,每按一次秒計數(shù)值減1。
課程設(shè)計報告內(nèi)容預(yù)覽:
0.png (61.75 KB, 下載次數(shù): 33)
下載附件
2017-6-13 20:44 上傳
0.png (39.92 KB, 下載次數(shù): 43)
下載附件
2017-6-13 20:44 上傳
單片機源程序如下:
- ORG 0000H
- LJMP START
- ORG 000BH
- LJMP TT0
- ORG 0050H
- START:
- MOV SP,#70H
- MOV 36H,#00H ;(36H)為掃描指針
- MOV 40H,#00H ;秒控制
- MOV 41H,#59H ;分控制
- MOV 42H,#23H ;時控制
- MOV 30H,#00H
- MOV 31H,#00H ;顯示秒
- MOV 32H,#09H
- MOV 33H,#05H ;顯示分
- MOV 34H,#03H
- MOV 35H,#02H ;顯示時
- MOV TMOD,#01H ;定時器T0工作方式設(shè)定
- MOV TL0,#0B0H ;設(shè)置定時器T0低4位初值
- MOV TH0,#3CH ;設(shè)置定時器T0高4位初值
- MOV IE,#82H ;閉合EA,ET0
- MOV 50H,#20 ;定時1秒循環(huán)次數(shù)
- SETB TR0
- LOOP: JB P1.0,N2 ;S1按下時加1
- CALL DE ;消除抖動
- MOV A,42H
- ADD A,#01H
- DA A
- MOV 42H,A
- CJNE A,#24H,N1
- MOV 42H,#00H
- N1: JNB P1.0,$
- CALL DE
- N2: JB P1.1,N4 ;S2按下分加1
- CALL DE
- MOV A,41H
- ADD A,#01H
- DA A
- MOV 41H,A
- CJNE A,#60H,N3
- MOV 41H,#00H
- N3: JNB P1.1,$
- CALL DE
- N4: JB P1.2,N6 ;S3按下秒加1
- CALL DE
- MOV A,40H
- ADD A,#01H
- DA A
- MOV 40H,A
- CJNE A,#60H,N5
- MOV 40H,#00H
- N5: JNB P1.2,$
- CALL DE
- N6: JB P1.3,N8 ;S4按下時減1
- CALL DE
- MOV R7,34H
- CJNE R7,#00H,N60
- MOV R6,35H
- CJNE R6,#00H,N61
- MOV 42H,#23H
- JMP N7
- N60: MOV A,34H
- DEC A
- MOV 34H,A
- MOV A,35H
- SWAP A
- ADD A,34H
- MOV 42H,A
- JMP N7
- N61: MOV 34H,#09H
- MOV A,35H
- DEC A
- SWAP A
- ADD A,34H
- MOV 42H,A
- N7: JNB P1.3,$
- CALL DE
- N8: JB P1.4,N10 ;S5按下分減1
- CALL DE
- MOV R7,32H
- CJNE R7,#00H,N80
- MOV R6,33H
- CJNE R6,#00H,N81
- MOV 41H,#59H
- JMP N9
- N80: MOV A,32H
- DEC A
- MOV 32H,A
- MOV A,33H
- SWAP A
- ADD A,32H
- MOV 41H,A
- JMP N9
- N81: MOV 32H,#09H
- MOV A,33H
- DEC A
- SWAP A
- ADD A,32H
- MOV 41H,A
- N9: JNB P1.4,$
- CALL DE
- N10: JB P1.5,N11 ; S6按下秒減1
- CALL DE
- MOV R7,30H
- CJNE R7,#00H,N100
- MOV R6,31H
- CJNE R6,#00H,N101
- MOV 40H,#59H
- JMP N11
- N100: MOV A,30H
- DEC A
- MOV 30H,A
- MOV A,31H
- SWAP A
- ADD A,30H
- MOV 40H,A
- JMP N11
- N101: MOV 30H,#09H
- MOV A,31H
- DEC A
- MOV 31H,A
- SWAP A
- ADD A,30H
- MOV 40H,A
- N11: JNB P1.5,$
- CALL DE
-
- TT0: MOV TH0,#3CH
- MOV TL0,#0B0H
- PUSH ACC
- PUSH PSW
- DJNZ 50H,TINT0
- CALL TIME
- CALL VIEW
- TINT0: CALL SCAN
- POP ACC
- POP PSW
- LJMP LOOP
- SCAN: MOV R0,#36H
- SCAN0: MOV A,@R0
- ADD A,#30H ;A加30H即為顯示緩沖區(qū)地址
- MOV R1,A
- MOV A,@R0
- SWAP A
- ORL A,@R1
- MOV P0,A ;P0高4位為掃描值,低4位為顯示數(shù)據(jù)值
- CALL DELAY
- INC @R0
- CJNE @R0,#06H,SCAN0
- MOV @R0,#00H
- RET
- TIME: MOV A,40H
- ADD A,#01H
- DA A
- MOV 40H,A
- CJNE A,#60H,TTI
- MOV 40H,#00H
- MOV A,41H
- ADD A,#01H
- DA A
- MOV 41H,A
- MOV A,41H
- CJNE A,#60H,TTI
- MOV 41H,#00H
- MOV A,42H
- ADD A,#01H
- DA A
- MOV 42H,A
- CJNE A,#24H,TTI
- MOV 42H,#00H
- TTI: RET
- VIEW: MOV A,40H ;30H為顯示緩沖區(qū)首地址
- ANL A,#0FH
- MOV 30H,A
- MOV A,40H
- SWAP A
- ANL A,#0FH
- MOV 31H,A
- MOV A,41H
- ANL A,#0FH
- MOV 32H,A
- MOV A,41H
- SWAP A
- ANL A,#0FH
- MOV 33H,A
- MOV A,42H
- ANL A,#0FH
- MOV 34H,A
- MOV A,42H
- SWAP A
- ANL A,#0FH
- MOV 35H,A
- RET
- DELAY: MOV R7,#65
- DJNZ R7,$
- RET
- DE: MOV R4,#10 ;延時5ms
- DE1: MOV R5,#249
- DJNZ R5,$
- DJNZ R4,DE1
- RET
- END
復(fù)制代碼
所有資料51hei提供下載:
單片機課程設(shè)計可運行.zip
(393.35 KB, 下載次數(shù): 82)
2017-6-13 19:41 上傳
點擊文件名下載附件
數(shù)字時鐘 下載積分: 黑幣 -5
|