劉季秋+彭森



摘 要:本設計是定時鬧鐘的設計,由單片機AT89C51芯片和LED數碼管為核心,輔以必要的電路,構成的一個單片機電子定時鬧鐘。電子鐘設計可采用數字電路實現,也可以采用單片機來完成。數字電子鐘是用數字集成電路構成的,用數碼管顯示“時”,“分”,“秒”的現代計時裝置。若用數字電路完成,所設計的電路相當復雜,大概需要十幾片數字集成塊,其功能也主要依賴于數字電路的各功能模塊的組合來實現,焊接的過程比較復雜,成本也非常高。若用單片機來設計制作完成,由于其功能的實現主要通過軟件編程來完成,那么就降低了硬件電路的復雜性,而且其成本也有所降低,所以在該設計中采用單片機利用AT89C51,它是低功耗、高性能的CMOS型8位單片機。片內帶有4KB的Flash存儲器,且允許在系統內改寫或用編程器編程。另外, AT89C51的指令系統和引腳與8051完全兼容,片內有128B 的RAM、32條I/O口線、2個16位定時計數器、5個中斷源、一個全雙工串行口等。AT89C51單片機結合七段顯示器設計的簡易定時鬧鈴時鐘,可以設置現在的時間及顯示鬧鈴設置時間,若時間到則發出一陣聲響,進—步可以擴充控制電器的啟停。
1 引言
本設計是定時鬧鐘的設計,由單片機AT89C51芯片和LED數碼管為核心,輔以必要的電路,構成的一個單片機電子定時鬧鐘。設計內容包括了秒信號發生器、時間顯示電路、按鍵電路、供電電源以及鬧鈴指示電路等幾部分的設計。采用四個開關來控制定時鬧鐘的工作狀態,分別為:K1、設置時間和鬧鐘的小時;K2、設置小時以及設置鬧鐘的開關;K3、設置分鐘和鬧鐘的分鐘;K4、設置完成退出。
2 工作原理
電子鬧鐘應包括秒信號發生器、時間顯示電路、按鍵電路、供電電源以及鬧鈴指示電路等幾部分。電子鬧鐘組成部分如圖1所示。
按鍵功能說明:K1,設置時間和鬧鐘的小時;K2,設置小時以及設置鬧鐘的開關;K3,設置分鐘和鬧鐘的分鐘;K4;設置完成退出。
3 主模塊電源電路
主模塊是系統軟件的主框架。結構化程序設計一般有“自上而下”和“自下而上”兩種方式,“自上而下”法的核心就是主框架的構建。它的合理與否關系到程序最終的功能的多少和性能的好壞。
4 時間模塊電路
時間設定模塊的設計要點是按鍵的去抖處理與“一鍵多態”的處理。即只涉及4個鍵完成了6位時間參數的設定。軟件法去抖動的實質是軟件延時,即檢測到某一鍵狀態變化后延時一段時間,再檢測該按鍵的狀態是否還保持著,如是則作為按鍵處理,否則,視為抖動,不予理睬。去抖中的延時時間一般參考資料多描述為10ms左右,實際應用中,應大于20ms,否則,會導致按一次作多次處理,影響程序正常執行?!耙绘I多態”即多功能鍵的實現思想是,根據按鍵時刻的系統狀態,決定按鍵采取何種動作,即何種功能。時間模塊電路如圖2所示。
5 Proteus軟件仿真
圖3為系統仿真圖。該電子鐘有三個按鍵:K1,K2和K3鍵。按K1鍵進行校時,可以分別對時及分進行單獨校時,使其校正到標準時間,校時時需要校正哪一位,哪一位就閃爍。按K2鍵是對閃爍位進行加一或返回的操作。按K3鍵調整定時時間和定時組數,需要調整哪一位,哪一位就閃爍,該電子鐘最多可定時20組鬧鐘。經測試該電子鐘在一天的累計誤差約為0.1秒。該電子鐘的誤差主要由晶振自身的誤差所造成,晶振的誤差約為0.0001~0.000001。在軟件的編程過程中所產生的誤差比較小,在重裝初值的過程中大概需要約8個機器周期,但在程序開始對定時器賦初值時,多加了8個機器周期,減小了這方面的誤差。
6 結論
本設計是定時鬧鐘的設計,由單片機AT89C51芯片和LED數碼管為核心,輔以必要的電路,構成的一個單片機電子定時鬧鐘。本次設計采用了主模塊設計時間模塊設計以及其他基本的模塊設計讓智能定時鬧鐘能夠更加精確的報時。同時該設計中采用單片機利用AT89C51,它是低功耗、高性能的CMOS型8位單片機,大大的減少了設計的成本。
參考文獻
[1]張友德.單片微型機原理、應用與實驗[M].上海:復旦大學出版社,2005.
[2]胡長勝.單片機實用技術教程[M].北京:北京師范大學出版社,2003.
[3]譚浩強.C語言程序設計[M].北京:清華大學出版社,2005.
[4]郭天祥.51單片機C語言教程[M].北京:電子工業出版社,2009
[5]彭偉.單片機C語言程序設計實訓100例[M].北京:電子工業出版社,2009
[6]周潤景.基于proteus的電路及單片機設計與仿真[M].北京:北京航空航天大學出版社,2010
作者簡介
劉季秋,邵陽學院信息工程系電子科學與技術專業學生。
通訊作者(指導老師)
彭森,邵陽學院信息工程系教師。