楊陽 李華
摘要:現(xiàn)在電子時鐘在越來越多的領(lǐng)域得到了應用,尤其是對某些無人看守的測控系統(tǒng)及有關(guān)的自動化控制等對時鐘精確度要求很高的場合,電子時鐘具有十分重要的應用價值。文章利用時鐘芯片DSl302,AT89c52單片機以及數(shù)碼管等元件,設計新的數(shù)字時鐘電路,實現(xiàn)定時、計時、報警等功能。經(jīng)大量的仿真實驗驗證,設計的數(shù)字時鐘顯示時間正確,工作具有較高的準確性和可靠性。
關(guān)鍵詞:DSl302;數(shù)字時鐘;單片機
在人們?nèi)粘I钪?,電子時鐘已成為必需品,被廣泛應用于各行各業(yè)。鐘表數(shù)字化應用極大地改變了人們的生產(chǎn)生活,鐘表的基本報時功能也得到了擴展,比如定時鬧鈴功能、學校上下課的定時電鈴等,因此很多學者對數(shù)字鐘以及研究數(shù)字時鐘的擴展功能進行了研究。本文設計了基于時鐘芯片DSl302和AT89S52單片機的數(shù)字時鐘。
1.設計元件簡介
1.1AT89S52單片機元件簡介
AT89S52是一個具有8k字節(jié)的Flash,I/O口線為32位,具有2個數(shù)據(jù)指針和一個看門狗定時器,還有定時器/計數(shù)器,具有中斷結(jié)構(gòu)的單元機。另外,AT89S52芯片支持可選擇節(jié)電模式??臻e模式下,允許CPu停止工作的條件下,其余功能可以繼續(xù)工作,比如RAM、定時器,計數(shù)器等。掉電保護方式下,隨機存取存儲器(Random Access Memory,RAM)內(nèi)容被保存,振蕩器被凍結(jié),單片機一切工作停止,直到下一個中斷或硬件復位為止。全雙工串行口,片內(nèi)晶振及時鐘電路。
1.2時鐘芯片DSl302簡介
DSl302是美國DALLAS公司研發(fā)的實時時鐘電路,它具有自帶RAM芯片、低功耗、高性能等特點,可以采用各種方法對時間進行精確顯示,具有對閏年和非閏年的判斷功能,2.5~5.5v電壓為芯片的工作電壓范圍。最大特點是CPu與芯片的三線接口可以進行同步通信,一次可以傳送若干個字節(jié)的RAM數(shù)據(jù)。
2.硬件設計
2.1設計思路
利用AT89S52進行全局的控制,用數(shù)碼管來顯示時、分、秒,時、分、秒從DSl302上讀取出來。由于要設置時間所以裝了兩個按鍵。一個用來選中所要修改的時間,一個進行修改(就是+1),為了使定時鬧鐘能夠?qū)崿F(xiàn),又加了個蜂鳴器,當時間走到設定的時間時,蜂鳴器開始發(fā)出聲音,該數(shù)字時鐘硬件電路簡單、使用靈活、功能穩(wěn)定。
2.2系統(tǒng)結(jié)構(gòu)及總流程設計
根據(jù)系統(tǒng)設計的要求和設計思路,確定該系統(tǒng)的系統(tǒng)設計結(jié)構(gòu)圖。系統(tǒng)總體結(jié)構(gòu)如圖1所示。硬件電路主要由MCU微處理控制器單元、DSl302時鐘電路、儲存器、復位電路、晶振電路、數(shù)碼管顯示模塊構(gòu)成。根據(jù)軟件功能要求,將系統(tǒng)軟件劃分為若干個相對獨立的部分,設計出合理的總體結(jié)構(gòu):時鐘顯示是一個無窮死循環(huán),系統(tǒng)主控制器AT89S52重復不間斷地讀取DSl302芯片所提供的時間,把獲得到的時間送LED以24小時模式來完整顯示出來;當達到鬧鐘所設定時間時,控制蜂鳴器發(fā)出聲音;當需要調(diào)整定時的時間或鬧鈴時間時,按下相應數(shù)字鍵即可進入系統(tǒng)中斷處理程序進行中斷處理。本設計中整個系統(tǒng)的電源來自電腦提供的USB電源線。
2.3系統(tǒng)硬件電路設計
(1)整體電路設計。系統(tǒng)的實時時鐘電路的部分由單片機AT89S52的P1接口與DSl302時鐘芯片相連接而成,將鍵盤與單片機的P3.2接口和P3.3接口連接組成系統(tǒng)的按鍵電路,用來對顯示器的控制,數(shù)碼管與單片機的P0接口連接構(gòu)成系統(tǒng)的顯示,最后用三極管連接數(shù)碼管與P2接口。
(2)DSl302時鐘電路設計。芯片的供電電路是將VCC2接電源,將晶振分別與X1,X2引腳相連;芯片的復位引腳電路是將單片機P1.2收引腳與RST引腳相連接;芯片的時鐘端電路是將單片機的PI.0引腳與芯片的SLK引腳相連組成;芯片的I/0端口的電路是將單片機的P1.1引腳與I/O引腳相連組成。
(3)顯示電路。將數(shù)碼顯示管的段選端與單片機的P0接口相連,由于數(shù)碼管采用的是動態(tài)顯示,所以通過對P0的8位二進制數(shù)據(jù)的不斷改變使數(shù)碼顯示管不斷的動態(tài)顯示;用三極管連接單片機的P2接口與數(shù)碼管接口,在兩個信號的配合下實時顯示時間數(shù)據(jù)。
3.主程序及系統(tǒng)Proteus軟件仿真
3.2系統(tǒng)Proteus軟件仿真
用Keil軟件編譯程序生成可執(zhí)行文件.hex文件后,在Proteus文件中剛剛生成的heX文件,而后進行仿真測試。在系統(tǒng)程序設計中已經(jīng)確定顯示的格式為:時時,分分秒秒,在仿真測試中可以看到數(shù)碼管按照時時,分分,秒秒的樣式進行顯示,這種顯示格式是為了便于讀取溫度數(shù)字。對于系統(tǒng)的按鍵部分,當調(diào)節(jié)各個按鍵,數(shù)碼顯示管對應的數(shù)碼位處于閃爍狀態(tài),然后進入可調(diào)整階段,可以對系統(tǒng)的時間顯示部分進行調(diào)整。當時間走到定的時間時蜂鳴器就會響起。系統(tǒng)的電路及顯示效果達到普通用戶的需求,仿真結(jié)果如圖2所示。
4.結(jié)語
本文利用時鐘芯片DSl302,AT89C52單片機以及數(shù)碼管等元件設計出新的數(shù)字時鐘電路,實現(xiàn)定時、計時、報警等功能。該電路使用時鐘芯片DSl302自帶的簡單的三線接口,這樣為AT89C52單片機節(jié)省出較多的接口資源,而且時鐘芯片還帶有后備電池。經(jīng)大量的仿真實驗驗證,文中設計的數(shù)字時鐘顯示時間正確,誤差較小,有一定的應用價值。