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