祝良+郭臣鵬+蘇宏鋒



摘要:設計了一種以AT89S51單片機為控制器的數字鐘,基于Proteus 7.8開發平臺與Keil軟件進行電路設計與仿真,實現數字鐘的PCB實物制作、元件焊接與程序設計。軟件仿真與試驗結果表明,數字鐘電路通電后工作穩定,具有自動計時,時間設置與鬧鐘功能。
關鍵詞:AT89S51;數字鐘;PCB;電路仿真
中圖分類號:TH39 文獻標識碼:A 文章編號:1007-9416(2017)05-0160-02
Design and Implementation of Digital Clock Based on AT89S51 Single Chip Microcomputer
Zhu Liang,Guo Chenpeng,Su Hongfeng
(Sichuan Vocational and Technical College of Communication, Sichuan Chengdu,611130)
Abstract:A digital clock with AT89S51 microcontroller as the controller is designed. Circuit designing and simulation are realized based on Proteus 7.8 development platform and Keil software.It achieves the PCB physical production, component welding and program design. Software simulation and test results show that the digital clock circuit with power works well and has automatic timing, time setting and alarm function.
Key Words:AT89S51;Digital Clock;PCB; Circuit simulation
1 引言
數字鐘是一種用數字電路技術實現時、分、秒計時的鐘表,與機械鐘相比具有更高的準確性和直觀性,具有更長的使用壽命,已得到廣泛的使用[1]。本文所設計的數字鐘具有如下功能:
(1)數字鐘電路上電后,系統從00:00:00開始計時自動顯示時間,6位LED顯示器分別顯示時、分、秒;
(2)具有時鐘校準功能,可設置當前時間;
(3)具有鬧鐘設置/啟鬧/停鬧功能:按下鬧鐘設置鍵,數碼管顯示00:00:00,進入鬧鐘設置狀態;可以設置啟鬧時間,等待鍵入啟鬧時間,按一次設置分,按兩次設置小時,按三次確認設置完畢;當定時時間到,蜂鳴器鳴叫10秒后停鬧。
2 系統方案設計
本系統選用主流芯片AT89S51單片機作為主控制器,利用單片機內部定時器實現計時、以行列式鍵盤(4*4矩陣鍵盤)完成時鐘的設置、修改,利用單片機并行I/O端口連接6位數碼管,實現數字鐘的動態LED顯示。系統總體設計圖1所示。
3 數字鐘設計
3.1 硬件電路設計
控制器選用主流芯片AT89S51[2],內部帶有4KB的Flash ROM,無需外擴程序存儲器。由于數字鐘不需要進行大量運算和數據暫存,片內128B的RAM可以滿足設計要求,無須外擴片外RAM。AT89S51內部定時/計數器進行中斷定時,配合軟件延時實現時、分、秒的設計。使用單片機并行口作為顯示接口,無須外擴接口芯片,實現LED動態顯示。
單片機的P1口作為6位LED顯示的位選口,其中P0.0~P0.5分別對應連接LED0~LED5,P0口作為段選口,由于采用共陰數碼管,因此P1口輸出低電平選中相應的位,而P0口輸出高電平則點亮相應的段。單片機P2口的P2.3~P2.6為鍵盤輸入端(行輸入掃描口),對應0~3行,P2口的P2.0~P2.2做鍵盤的列掃描口。單片機的P2.7引腳接蜂鳴器,高電平驅動蜂鳴器鳴叫,模擬鬧鐘啟鬧。所設計的數字鐘硬件電路原理圖與PCB圖如圖2與圖3所示。
3.2 軟件設計
主程序函數用于完成系統初始化工作,主要包括時鐘、鬧鐘初始參數及初始標記的設定;I/O端口、定時/計數器初始狀態的設定;時間更新顯示,循環掃描按鍵,根據按鍵分別進行鬧鐘和時鐘的設置管理。LED顯示函數根據顯示單元首地址顯示時鐘(或鬧鐘)時間,實現6位LED的動態顯示功能。時鐘設置函數實現時鐘時間的設置修改。鬧鐘判斷啟動函數判斷鬧鐘啟動時間到否,若時間到,則啟動鬧鐘,延時10S后自動關鬧鐘,清除鬧鐘設置標志。定時器中斷函數定時修改時鐘參數中斷服務子程序。數字鐘程序模塊如圖4所示。
3.3 系統仿真
在Proteus 7.8開發環境下,設計了數字鐘的硬件電路,結合Keil uvision5軟件環境,采用C語言編程,編譯通過后生產.hex文件,將程序導入proteus[3]中進行仿真。搭建的仿真電路運行如圖5所示,仿真結果表明該電路實現了計時、時鐘校準與鬧鐘功能。
3.4 PCB實物制作與調試
仿真結果準確無誤后,接下來進行PCB板實物制作。結合四川交通職業技術學院電子實訓情況,采用曝光法制作PCB,主要步驟包括硫酸紙的打印、銅面的處理、貼膜、靜置、曝光、顯影、腐蝕及脫膜[4]。曝光法具有成本低,浪費少,精度高,成功率高的優點。根據元件清單和PCB裝配圖,完成PCB板上的元件焊接。
焊接完成后,使用萬用表進行線路檢測,按照電路原理圖,檢查印制電路板中所有器件的引腳,尤其是電源的連接是否正確,排除短路故障;檢查P0口、P1口和P2口的連接線是否有短路等故障,順序是否正確;檢查各開關按鍵是否能正常開關,是否連接正確;檢查各限流電阻是否短路等。用下載線連接單片機下載接口與電腦,上電后將編譯通過的程序下載到單片機,完成了時間顯示、時間校準與鬧鐘設置等功能,如圖6所示。
4 結語
本文根據數字鐘的功能,設計數字鐘的硬件電路、分析系統軟件流程,實現了系統硬件仿真與實物制作,仿真與實物調試結果表明,系統方案可行,可實現數字鐘的時間顯示,時鐘校準與鬧鐘功能。該方案已應用與四川交通職業技術學院電子專業學生實訓課程中,通過數字鐘的設計,使學生熟練操作Proteus 7.8與Keil uVision5軟件,對提高學生實踐能力與單片機知識的綜合應用能力具有重要意義。
參考文獻
[1]程光璇.普通單片機電子時鐘的設計[J].電子世界,2011(8):33-35.
[2]郭占苗,潘魯寧.基于STC89C52單片機的數字鐘設計[J].微處理機,2016(4):83-86.
[3]黃智偉.印制電路板(PCB)設計技術與實踐[M].北京:電子工業出版社,2013.
[4]徐作華.基本數字鐘電路的設計、制作與檢測[J].數字技術與應用,2013(6):180-180.endprint