李彩龍 王一凡 馬千里
摘 要:電子萬年歷是一種非常廣泛的日常計時工具,在現代社會越來越流行。它可以對年、月、日、周、時、分、秒進行計時,還具有閏年補償等多種功能。對于數字電子萬年歷采用直觀的數字顯示,可以同時顯示年、月、日、周、時、分、秒和溫度等信息,還具有時間校準等功能。系統軟件設計采用C語言來完成,C語言語法簡潔,使用方便,用于完成軟件設計非常方便。程序采用模塊化設計,使得邏輯關系簡單明了,維護方便。
關鍵詞:AT89S52;時鐘芯片DS1302;液晶顯示屏LCD1602;溫度采集芯片DS18B20
本系統為硬件、軟件相結合的一組設計。除了采用集成化的時鐘芯片外,還有采用MCU的方案,利用AT89系列單片機微機制成萬年歷電路,采用軟件和硬件相結合的方法,控制液晶輸出顯示。其最大的特點是:硬件電路簡單,安裝方便易于實現,軟件設計獨特、可靠。
一、系統總體功能
本系統以AT89S52單片機為控制核心,通過與DS1302和DS18B20通信獲取實時時間和實時環境溫度,并將得到的數據通過LCD1602液晶顯示出來。因此本設計可分為以下模塊:控制模塊、LCD顯示模塊、實時時鐘模塊、實時環境溫度采集模塊。
基本功能:采用LCD為顯示器并能夠顯示年、月、日、時、分、秒、星期,同時具備以下特殊功能:
(1)能夠完成掉電保護;
(2)具有溫度顯示功能。
二、硬件結構設計框架
設計主要分為硬件設計和軟件設計兩大部分。硬件設計包括AT89S52單片機、DS1302時鐘芯片、LCD1602顯示模塊、DS18B20溫度采集模塊等組成。各個部分以單片機為主體協調工作,以完成各種功能。軟件采用C語言編寫,整個軟件系統采用模塊化的程序設計方法,設計程序共分為DS1302程序模塊、LCD1602程序模塊、DS18B20程序模塊和主程序模塊四個模塊。軟件系統的主要特點是在硬件的支持之下,實現了完全的友好的人機交互功能。最后將代碼編譯成HEX文件燒寫入單片機,讓它可以向各個部分收發指令和數據,整體實現數字萬年歷的設計。本系統的結構框圖如下圖1所示:
三、硬件部分
(一)控制系統模塊
使用AT89S52作為萬年歷的主控芯片,AT89S52單片機為40引腳雙列直插芯片,有四個I/O口P0,P1,P2,P3,每一條I/O線都能獨立地作輸出或輸入。
單片機的最小系統如圖2所示,18引腳和19引腳接時鐘電路,XTAL1接外部電容和晶振的一端,在片內它是振蕩器倒相放大器的輸入,XTAL2接外部電容和晶振的另一端,在片內它是振蕩器倒相放大器的輸出,第9引腳為復位輸入端,接上電容,電阻及開關后構成上電復位電路,20引腳為接地端,40引腳為電源端,如圖2所示:
(二)時鐘電路模塊
DS1302是美國DALLAS公司推出的一種高性能、低功耗的實時時鐘芯片,附加31字節靜態RAM,采用SPI三線接口與CPU進行通信,并可采用突發方式一次傳送多個字節的時鐘信號和RAM數據。采用雙電源供電(主電源和備用電源),可設置備用電源充電方式,提供了對后備電源進行涓細電流充電的能力。
圖3為DS1302的引腳排列,其中VCC1為后備電源,VCC2為主電源,在主電源關閉的情況下,VCC1為芯片供電,使其能保持時鐘的連續運行。DS1302由VCC1或VCC2兩者中的較大者供電,當VCC2高于VCC1 0.2V時,VCC2給DS1302供電,當VCC2小于VCC1時候VCC1供電。X1和X2是振蕩源,外接32.768KHz晶振,RST是復位信號線, I/O為串行數據輸入端,SCLK是時鐘輸入端。
(三)LCD顯示模塊
1602液晶也叫1602字符型液晶 它是一種專門用來顯示字母、數字、符號等的點陣型液晶模塊。圖5是其在Proteus中的連接電路。
(四)溫度采集模塊
1.DS18B20特性和引腳介紹
1)DS18B20單線數字溫度傳感器,采用單總線的接口方式與微處理器連接時僅需要一條線即可實現微處理器與DS18B20 的雙向通訊。單總線具有經濟性好,抗干擾能力強,適合于惡劣環境的現場溫度測量,使用方便等優點,使用戶可輕松地組建傳感器網絡,為測量系統的構建引入全新概念。
2)測量溫度范圍寬,測量精度高,DS18B20 的測量范圍為 -55 ℃ ~+ 125 ℃ ;在 -10~+ 85℃范圍內,精度為 ± 0.5℃。
3)在使用中不需要任何外圍元件。
4)支持多點組網功能,多個 DS18B20 可以并聯在唯一的單線上,實現多點測溫。
5)供電方式靈活,DS18B20可以通過內部寄生電路從數據線上獲取電源。因此,當數據線上的時序滿足一定的要求時,可以不接外部電源,從而 使系統結構更趨簡單,可靠性更高。
6)測量參數可配置,DS18B20的測量分辨率可通過程序設定 9~12 位。
7)負壓特性電源極性接反時,溫度計不會因發熱而燒毀,但不能正常工作。
8)掉電保護功能DS18B20內部含有EEPROM ,在系統掉電以后,它仍可保存分辨率及報警溫度的設定值。
9)DS18B20具有體積更小、適用電壓更寬、更經濟、可選更小的封裝方式,更寬的電壓適用范圍,適合于構建自己的經濟的測溫系統,因此也就被設計者們所青睞。
2.下載模塊采用USB接口,使用CH341A芯片
CH341A是南京沁恒電子有限公司生產的USB轉串、并口的芯片,芯片只需幾個周邊元件就可工作,只要在電腦上安裝個小小的驅動就可以對單片機進行程序下載。
四、軟件設計
軟件設計是本設計的關鍵,軟件程序編寫的好壞直接影響著系統運行情況的良好。因本程序涉及的模塊較多,所以程序編寫也采用模塊化設計。C語言具有編寫靈活、移植方便、便于模塊化設計的特點,所以本系統的軟件采用C51編寫。
主程序流程圖:
五、仿真
六、結語
本系統以AT89S52為核心部件,使用串行時鐘芯片DS1302實現時間計時的功能。在該系統設計調試完成之后,對最后的成功進行分析,同時結合在調試過程中出現的錯誤進行綜合分析,總結在實際系統設計和調試過程中的經驗。
在系統硬件設計之前,要結合當前系統的發展趨勢和現狀對系統功能進行定位,使系統在實際應用中具有競爭力。該系統最大的特點就是界面友好,走時準確,和現在使用LED顯示數據的萬年歷相比,體積更小,可以作為轎車車載顯示裝置,系統采用液晶顯示器,可以使系統應用到更加現代化的地方,使系統采用模塊化程序設計法,同時保留了很多的微控制器I/O口,擴展十分方便,以往的采用LED顯示數據的萬年歷要想實現的功能擴展,除需要對系統程序進行修改,還必須增加或減少LED數碼管,硬件改動較大。該系統的顯示部分界面改動非常靈活,僅僅改動程序就能實現界面的修改,用戶還可以選擇自己喜歡的界面,這是以LED作為顯示裝置的數字萬年歷所不能實現的。
參考文獻:
[1]牛昱光.單片機原理與接口技術(第三版).北京:電子工業出版社,2008.
[2]史建芳.智能儀器設計基礎,電子工業出版社,2007.
[3]郁有文.傳感器原理及工程應用(第三版),西安電子科技大學出版社,2008.
[4]胡振宇,劉魯源,杜振輝.DS18B20接口的C語言程序設計[J].單片機與嵌入式系統應用,2002.
作者簡介:李彩龍(1988-),男,漢族,山西呂梁人,本科,助教,研究方向:電子信息工程。