摘要:介紹利用單片機控制液晶顯示模塊顯示電子萬年歷,給出硬件設計電路,和軟件編程設計,通過Proteus軟件,對硬件電路和軟件編程進行仿真,具有一定的實用價值。
關鍵詞:單片機 液晶顯示模塊 C51編程
液晶顯示模塊在各種測量儀器、測量裝置、顯示儀表等日用電子產品中的應用越來越廣泛,并且對器件的測量精度和顯示精度的要求也越來越高,尤其是對時間的測量不但要準確,而且需要讀取數值更直觀更方便。本文介紹由單片機AT89C52和DS1302控制12864點陣液晶顯示模塊實現電子萬年歷的設計,并且用Proteus軟件對整個電路進行模擬和仿真。
1 系統構成
本系統設計中使用的單片機為AT89C52,其內部是8位的CPU,8KB片內ROM以及256B的可使用的片內RAM,32根并行I/O接口,兩個16位的定時/計數器,五個中斷源,兩個中斷優先級的內部結構。其中單片機的外圍電路有復位電路,時鐘電路。
其次還用到美國DALLAS公司推出的高性能、低功耗、帶RAM的實時時鐘電路DS1302,它可以對年、月、日、周日、時、分、秒進行計時,具有閏年補償功能,工作電壓為2.5V~5.5V。采用三線接口與CPU進行同步通信,并可采用突發方式一次傳送多個字節的時鐘信號或RAM數據。
本系統里用12864LCD顯示模塊來顯示萬年歷的年月日、星期及時間信息,該液晶模塊使用KS0108控制器,5V電壓驅動,帶有背光,內置8192個16×16點陣,128個字符及64×128點陣顯示RAM。與外部CPU接口采用并行或者串行兩種控制方式。
單片機在控制液晶顯示模塊的接口方式主要有兩種方式,直接訪問方式和間接訪問方式,直接訪問方式是把液晶顯示模塊作為存儲器或I/O設備直接連接到單片機總線上。而間接訪問方式是把液晶顯示模塊作為終端與單片機的并行接口連接,而單片機通過對該并行接口的操作實現對液晶顯示。一般在進行液晶顯示模塊的控制時,采用間接訪問的方式。如圖2所示。
2 軟件設計
由于系統實現的功能為萬年歷顯示,這就包括了公歷和陰歷兩種歷法的顯示,在本文中利用單片機實現公歷與農歷的轉換,采用的是查表的辦法。
計算公歷日對應的農歷日期的方法先計算出公歷日離當年元旦的天數,然后查表取得當年的春節日期,計算出春節離元旦的天數,二者相減即可算出公歷日離春節的天數。以后只要根據大小月和閏月信息,減一月天數,調整一月農歷月份,即可推算出公歷日所對應的農歷日期。如公歷日不到春節日期,農歷年要比公歷年小一年,農歷大小月取前一年的信息。農歷月從12月向前推算。由此我們可以計算出公歷和陰歷的日期。
軟件編程的程序主要有幾個子程序包括年月日的公歷和陰歷的計算和顯示程序,星期的計算程序和顯示程序,圖形界面的顯示程序,時間的設置與顯示程序,按鍵判斷掃描程序。在電路里面還設置了可以對年月日和時間進行調整的三個按鍵,用來調整日期和時間的顯示。主程序的大致流程圖如圖3所示。
3 Proteus軟件設計與仿真
按照硬件設計要求,在Proteus軟件內搭建硬件仿真電路。如果在沒有仿真的情況下直接進行電路板和元器件的焊接調試,不但焊接過程中會出現問題,成功率低也會使設計成本升高,但是使用Proteus軟件仿真可以使所設計的電路實用性提高,解決實驗設備和實驗項目不足的問題。使用Proteus軟件對萬年歷的硬件電路進行設計,并且將C語言編寫的程序進行編譯后,將生成的.HEX文件載入單片機以后運行,硬件電路圖和運行結果如圖4所示。
4 結語
在單片機與液晶顯示模塊的接口和軟件編程中,關鍵是要滿足液晶模塊的時序控制,初始化、操作和寫入要顯示的內容,通過DS1302的使用,可以降低編寫程序的復雜程度。通過Proteus仿真軟件平臺和Keil編譯軟件實現單片機控制液晶顯示模塊的萬年歷設計與仿真,可以達到比較好的設計效果。由該電路利用相關軟件設計印制電路板,就可以制作出實際的電子萬年歷。不僅降低了開發成本,也使系統的可靠性得到提高。
參考文獻:
[1]莫禾勝,唐曉輝.基于LCD液晶顯示器的時間顯示系統設計與制作[J].科技信息.2010(21):106-107.
[2]朱奕丹,余文烺.單片機控制的點陣圖形液晶顯示模塊[J]. 儀表技術.2007(3):13-15.
[3]趙青格.單片機和液晶顯示模塊接口及驅動設計[J]. 科學技術與工程.2007(12):6225-6228.
[4]劉金星,李洪文.基于告訴單片機的液晶顯示模塊控制[J].液晶與顯示.2011(2):88-91.
[5]李志廣,李曉泉.中文圖形12864點陣液晶顯示模塊與51單片機的并行接口電路及C51程序設計[J].現代顯示(自然科學版).2008(7):41-44.