單片機電子時鍾設計研究


本篇是摘自山東省泰安市第一中學的高鵬飛老師。

  本文主要通過對單片機的認識研究,以AT89S51單片機作為核心,以C語音對時鍾程序進行編程,進而設計一台可以精准顯示時間和調整時間的LED電子時鍾。該時鍾應具備以下功能:日期的顯示,具體准確到日;時間的顯示,具體准確到秒;准點報時功能;時間調整功能;LED顯示功能;語音提升功能;鬧鍾功能。
1 時鍾電路設計

 

 


      1.1 時鍾的整體硬件分析
      根據本文所要設計的電子時鍾功能來說,本電子時鍾主要包含的電路有單片機電路系統、DS1302芯片電路系統、溫度傳感器DS18B20電路系統、顯示電路系統、鬧鍾電路系統、電源電路系統等主要電路模塊。該電子時鍾的電路圖詳見圖一。
本電子時鍾的核心采用AT89S51單機片;外部時鍾芯片采用DS1302時鍾芯片,通過I/O單機片端口與單機片相連接;溫度傳感器則采用DS18B20溫度傳感器。輸入電路、時間和日期的采集、溫度挑戰和自動時間日期調整的相關數據信息通過單機片進行轉化和處理,然后通過LED數碼管再將這些數據顯示出來。鬧鍾則通過蜂鳴器電路進行數據傳輸,開啟警報系統。本時鍾主要采用5V的直流電作為電源供電,其中,DS1302時鍾芯片則采用3V的直流電作為該芯片的輔助后備電源。
     1.2 時鍾整體控制電路的設計
      通常來說,傳統的電子時鍾設計方案是使用數字控制電路來實現電子時鍾的各項基本功能的。但是這種設計不能很好的實現溫度控制,容易產生內部線路由於溫度過高所導致的電路毀損現象。本文的設計方案主要使用的是單片機作為時鍾的控制核心,電路相對簡單,電源設計比較完善,而且穩定性很高。同時,經過程序的編寫,可以使單片機實現智能化的時鍾控制效果,能夠使LED電子時鍾的功能更加完善。
      1.3 單片機的電路設計
      AT89S51型號的單片機作為一種常用的單片機,它實現了ISP功能的下載,相對於其他單片機來說,AT89S51單片機實現了低能耗和高性能為一體的特點。它具有32個可以進行編程的I/O口,128X8位的內部RAM,4KB的片內程序儲存器,五個中斷源,2個定時器和計數器,片內震盪系統。另外,它支持1000次擦寫循環,引腳DIP封裝達到了40,能夠與MCS-51系列的單片機相關引腳系統和指令系統完美的兼容。
      1.4 顯示器電路設計
      本文主要使用數碼管動態顯示電路設計,所謂LED數碼管,是指由多個發光二極管(一般是紅色)組成的發光器件。而動態顯示是指一位位地輪流將各個發光點位依次點亮,點亮速度要相對較快,能夠使人體的視覺觀察下字符不發生閃爍。顯示的亮度通過電路的導通電流和數碼管的點亮頻率來控制,動態顯示的設計可以降低能耗。
      1.5 時間顯示電路的控制
      通過AT89S51單機片的外部晶振和C語音的軟件程序的編寫,可以實現時鍾的計時程序的穩定准確,但是因為要進行精准的計時,精確到秒,所以考慮到系統的動態調試量,所以在時鍾內加入一塊兒DS1302外部時鍾芯片,可以實現對日期和時間的精准調試,此外,還具備日期的閏年和每月天數的自動調試等功能。時鍾的時間顯示可以通過手動調整選取12小時計時或者24小時計時。DS1302芯片的使用並不會影響到單片機的工作,還可以與單片機之間通過同步線路串行的方式來實現信息聯通,使時鍾的時間顯示更加精准。DS1302芯片和單片機的同步線路串行需要設置三個口線的數據讀寫,分別是串行時鍾口線(SCLK)、復位口線(RES)、數據線口線(I/O)。
      1.6 環境溫度電路
      環境溫度的數據采集工作主要由本電子時鍾內置的DS18B20溫度傳感器進行,它具有價格低、體積小、穩定性高等特點,可以監測周圍-55度到+125度的環境溫度。關於DS18B20的電路設計,主要是通過上拉電阻將DS18B20溫度傳感器的2腳和單片機的P3.3相連,1腳接通電源地,3腳接通+5V,上拉電阻為4.7K。
      1.7 鬧鍾電路
      鬧鍾系統主要是通過P2腳和單片機來控制,方法是,將R7和PNP型的三極管相連接,當鬧鍾所設定的時間與當前的時間相同時,P2腳則輸出低電平,連通三極管,蜂鳴器就會發出鬧鍾聲了。
      2 系統設計
      2.1 主程序總體說明和設計圖
      本文通過使用AT89S51單片機為核心所設計的LED電子時鍾主要由LED數碼管作為顯示秒鍾個位、秒鍾十位、分鍾個位、分鍾十位、小時個位、小時十位。六個位數主要由六個PNP數碼管器件控制,預留一個鍵位以用來做時間調整。詳見圖二。

 

 


      電子時鍾通電后,系統的初始時間定為2015年5月1日0時0分0秒。在LED數碼管上的顯示為“00:00:00”,在同一時刻開始計時。接通電源后,單片機的主要工作為循環調用顯示程序和按鍵程序,如果按下時間調試按鈕,則調用顯示相關的日期、時間、溫度等功能處理程序,並在LED數碼管處進行實時的顯示。
      2.2 顯示模塊子程序設計
      該電子時鍾的設計主要采用5V直流電的導入為時鍾的單片機工作和相關位選電路提供電源支持。詳見圖三。位選電路主要包括有點解電容、瓷片電容、電路二極管、按鍵S1、電阻器構成,按鍵S1與芯片的引腳RST相接,當按下按鍵開關后,芯片的引腳RST為1高電平,斷開電路后,芯片的引腳RST為0低電平。
數碼管的數據顯示原理為,通過三極管的集電極鏈接數碼管的接口公共端,以P2口的引腳輸出1高電平,接通三極管。按照這種原理,在同一個時刻中,六個LED數碼管器件會有一個處於接通顯示字符狀態,其他五個器件處於熄滅狀態。在下一個時刻,下一個LED數碼管器件處於接通狀態,其他五個器件處於熄滅狀態,以此類推。
在編寫顯示模塊的子程序時,需要提前編寫好索要顯示的數據二進制數碼,並將其按照順序輸入芯片中。主要包括日期、時間、溫度這三塊內容,這三塊又分為實時值與調整值兩類。
      2.3 時鍾日歷子程序
      主要是為了對DS1302芯片實現日期和時間的讀寫功能,首先,要對其進行初始化操作,將日期和時間的初始值寫入,然后通過對單片機采用串行的方式將DS1302芯片的數據讀取出來並且輸送到顯示屏上。同時需要以定時中斷的方式制造串行脈沖,在串行的過程中,中斷功能會關閉,

 

 


      2.4 環境溫度采集子程序
      DS18B20屬於單線器件,完整的數據傳輸必須要由嚴格的時序來控制,但是AT89S51並不支持單線程的傳輸,所以,需要用軟件寫入程序來模擬單線的時序協議。
      2.5 鬧鍾的子程序
      鬧鍾的設計是根據鬧鍾所設定的時間和當前時間如果數值一致,那么就接通鬧鍾線路,開啟鬧鍾子程序,蜂鳴器初始設定響鈴時間為1分鍾,在鬧鍾響鈴過程中,如果按下貪睡按鈕,那么就暫時關閉鬧鍾,並且將鬧鍾的數值向上增加五分鍾,當鬧鍾所設定的時間再次與當前時間一致時,再次接通鬧鍾線路,開啟鬧鍾子程序。當響鈴結束以后,自動返回到主程序。
      3 設計總結
      3.1 功能介紹
      主要功能包括:日期顯示、時間顯示、日期調整、時間調整、整點報時、環境溫度監測、鬧鍾功能。
      3.2 電子時鍾的調試
      主要包括硬件功能調試與軟件功能調試兩個部分,其中,硬件調試的項目有:單機片系統調試、顯示電路調試、時鍾電源線路調試、按鍵電路調試等。軟件調試的項目有:時鍾日期時間的子程序實時調試、環境溫度監測子程序調試、鬧鍾子程序調試等。
      4 結束語
本文以單片機為核心,進行了單片機電子時鍾的相關研究設計,顯示方式主要采用的是LED數碼管的靜態顯示方式。但是這種顯示方式還是具有一定的局限性,只能夠顯示數字,另外,本設計由於只重視功能,導致設計品的體積不夠精簡。所以綜合考慮可以將數碼管顯示換位液晶顯示,以及簡化相關功能。本設計基於對於單片機的認識和綜合利用,深化了對於電氣相關設備的研究,對於電子時鍾的設計以及相關研究都提供了參考。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM