李琳
渤海大學
基于單片機的數字時鐘設計
李琳
渤海大學
本文基于單片機進行的數字時鐘設計,論文中論述了系統的總結構設計、數字時鐘的設計原理、分別對硬件設計中的部分模塊和軟件設計進行了詳細介紹。系統實現了時鐘、分鐘、秒鐘、年、月、日的顯示,還可以對時鐘設置鬧鐘,在人們生活中有著重要的應用。
數字時鐘 單片機 時鐘芯片
隨著社會的發展,傳統的時鐘也已經無法滿足人們生活的需要,數字時鐘應運而生。相比較于傳統意義上的機械式的鐘表,數字時鐘在性能方面得到很大地提高,比如數字時鐘在時間顯示方面更加精確,在外形方面更加美觀,在時間顯示方面更加一目了然,且使用的周期壽命比較長。因此數字時鐘在現實生活中的很多領域都得到了很大的應用。
對于數字時鐘的設計一般主要有兩種實現方式,分別是基于數字電路和基于單片機,基于數字電路設計的數字時鐘相比較于基于單片機的數字時鐘在設計過程中所需要的元件比較少,數字集成塊需要很多,而且在資金投入方面的成本也比較高。若采用基于單片機的數字時鐘設計,因為系統中利用軟件進行編程,所以在硬件電路方面的要求會降低要求,同時也會減少在硬件方面的資金成本的投入。考慮都這些因素,本文選擇基于單片機的數字時鐘設計。
本文中基于單片機的數字時鐘的總體設計模塊中主要包括了時鐘模塊,鍵盤控制模塊,數碼顯示電路,主程序電路以及顯示模塊等。系統總體結構圖如圖1所示。

圖1 系統總體結構圖

圖2 系統總體電路圖
系統的總體電路圖如圖2所示。
4.1 數碼管顯示電路
數碼管顯示電路的實現采用 動態顯示方式。數碼管是三位共陰管,二極管的公共端是把數碼管的幾個陰極共同連接在同一個地方,二極管的陽極獨立接出。當將陽極和高電平進行連接時,對應的數碼管指示燈就會亮,顯示器中的顯示數字取決于指示燈的亮與滅。當將這三個共陰的同名端都連接在一起時,數碼管中顯示的數據內容相同。
4.2 時鐘顯示模塊
時鐘模塊選擇的芯片型號是DS1302,通過時鐘芯片可以顯示出時間的時分秒以及年月日等基本信息,在時鐘顯示模塊中的引腳X1和X2之間會加入一個晶體振蕩器,頻率是32.67kHz,這個晶體振蕩器的加入是為了保證確定時鐘的基準,其中加入的電池電壓是3.6V,當電池快沒電的時候可以通過電路中時鐘芯片的充電接寄存器進行充電,可以進行斷電保護保存設置的時間相關信息。
4.3 報警系統模塊
報警模塊主要是發生在設置鬧鐘時,當系統中時間到達提前設置的鬧鐘時間時,系統就會通過蜂鳴器按時發出嘀嘀嘀的聲音,以此來提示用戶時間到點,另外除了設置鬧鐘到點后蜂鳴器會發出響聲之外,如果電網的電壓不夠或者是電壓超過額定的電壓的時候,蜂鳴器也會發出警報聲。當用戶按下停止按鍵 后,鬧鐘的聲音就會停止,警報狀態也就解除。
主程序流程圖如3所示。

圖3 主程序流程圖
5.1 T0定時中斷服務子程序
在中斷設計模塊中,時間的中斷間隔設置為50毫秒,當時間中斷次數累計到20時,秒鐘時間就會增加1,當秒鐘時間累計到60時就會進行進位,即分鐘時間會增加1,此時秒鐘時間自動清零變為0。同理,當分鐘時間是60時,分鐘就會向時進行進位,分鐘時間會自動變為0,時的時間會增加1,當時的時間累計到24的時候,日的時間會增加1,月份的計算也是如此。
T0定時中斷服務子程序流程圖如圖4所示。
5.2 LCD1602顯示程序部分
LCD1602顯示程序部分是顯示時間的基本信息以及液晶顯示模塊中包含的子程序,主要功能包括對LCD程序進行初始化,可以對相關的子程序進行寫操作,比如命令程序或者數據子程序等。

圖4 T0定時中斷服務子程序流程圖
本文選擇的仿真平臺是Protues軟件,界面中觀察結果可以發現LCD顯示器上顯示的時鐘分鐘秒鐘,以及年月日的基本時間信息,而且還可以通過按鍵實現鬧鐘的設置,到固定的時間后,就會報警。系統仿真圖如圖5所示。

圖5 系統仿真結果圖
本文主要介紹了基于單片機的數字時鐘設計,選擇的時鐘芯片是DS1302,液晶顯示器選擇的型號是LCD1602。基于單片機的數字時鐘設計相比較于傳統的機械鐘在性能方面以及實用性方面都有大大的優勢。系統實現了時鐘分鐘秒鐘年月日的顯示還可以對時鐘設置鬧鐘。
[1]戴佳,戴衛恒,劉博文編著.51單片機C語言應用程序設計實例精講.2版.電子工業出版社,2008,12
[2]呂思忠.數子電路實驗與課程設計[M].哈爾濱:哈爾濱工業大學出社,2001
[3]需思孝,馮育氏.單片機系統設計及上程應用[M].陜西:西安電子科技大學出版社,2005
[4]何業軍,李超.基于單片機控制的高精度定時打鈴器的設計,電子技術,2001,7