張銀慧 天津三星通信技術研究有限公司
電子萬年歷已經普遍應用,給我們的日常生活帶來極大的便利。利用單片機技術設計制作的電子萬年歷,可以很方便的利用軟件編程實現(xiàn)功能的調整和改進,使其在能夠準確顯示日期、時間和星期等基本信息的同時,還能具有農歷日期顯示、鬧鐘設定、整點提醒以及溫度顯示等一些實用性強的功能;同時具有電路實現(xiàn)簡單、設計成本低廉等優(yōu)點。
利用單片機設計電子萬年歷,主要采用單片機系統(tǒng)設計方法,基于單片機最小系統(tǒng),設計合理的外圍硬件電路;同時在軟件系統(tǒng)中利用編程實現(xiàn)單片機的控制功能。本設計的系統(tǒng)原理框圖如圖1所示。
圖1 系統(tǒng)總體原理框圖
(1)單片機控制模塊:以AT89C51單片機為核心器件,作為系統(tǒng)的控制單元,控制時鐘顯示芯片DS1302、按鍵輸入模塊、LCD1602液晶顯示模塊和蜂鳴器報警模塊之間的協(xié)調工作,根據外部輸入信號做出相應的數(shù)據處理以及控制輸出設備進行相應的操作,主要包括液晶顯示和蜂鳴器發(fā)聲等。
(2)時鐘顯示芯片模塊:采用時鐘顯示芯片DS1302,完成對日期時間和星期的讀取,同時實現(xiàn)公歷日期與農歷日期的轉換
(3)按鍵輸入模塊:通過4個按鍵實現(xiàn)對“時分秒”、“年月日”、“星期”信息的調整,以及鬧鐘時間的設置。
(4)液晶顯示模塊:采用LCD1602液晶屏,正常工作狀態(tài)下顯示“年月日”、24時制“時分秒”信息和星期信息;同時,在功能設置狀態(tài)下,顯示調整設置信息。
AT89C51單片機的P0口接LCD1602液晶顯示模塊,P1口接DS1302時鐘顯示芯片,P3口接按鍵輸入模塊和蜂鳴器。
DS1302時鐘顯示芯片內置32.768Hz晶振,采用串行數(shù)據傳輸,可以對“時分秒”、“年月日”、“星期”進行計時,并且具有閏年補償?shù)榷喾N功能。
LCD1602液晶顯示器通過數(shù)據端口(7~14管腳)與AT89C51的P0口相連接實現(xiàn)數(shù)據與指令的傳輸;通過控制端口RS、RW和EN(4~6管腳)與P1口中的P1.0~P1.2端口相接實現(xiàn)對數(shù)據和指令傳輸?shù)目刂啤?/p>
4個獨立按鍵是用戶與萬年歷實現(xiàn)信息交互的接口,本設計中,按鍵具有自動恢復(彈回)的功能。當按鍵按下,與單片機連接的端口被降為低電平,按鍵松開則升為高電平。K1按鍵具有公歷農歷顯示切換和數(shù)值減1的雙重功能;K2按鍵實現(xiàn)數(shù)值加1;K3按鍵用來實現(xiàn)選定需要調整設置項的數(shù)據位置,如時、分、秒、年、月、日和星期;K4按鍵用來切換日期時間和鬧鐘的設置狀態(tài)。
圖2 系統(tǒng)硬件電路原理圖
本設計中,軟件系統(tǒng)主要完成公歷日期與農歷日期的轉換、整點提醒、日期時間和星期的調整、鬧鐘的設置,以及液晶屏顯示等功能。主程序主要完成系統(tǒng)的初始化功能,子程序主要有公歷與農歷日期轉換子程序、整點提醒子程序、鬧鐘提醒子程序、液晶顯示模塊子程序等。軟件系統(tǒng)程序流程圖如圖3所示。
圖3 軟件系統(tǒng)程序流程圖
本設計中的數(shù)字萬年歷具體工作流程如下:
(1)單片機上電工作,系統(tǒng)完成對DS1302和LCD1602的初始化,單片機控制LCD液晶屏顯示“時分秒”、“年月日”和“星期”信息,同時具有整點提醒功能。
(2)當進行功能設置時,按下K1鍵,則液晶顯示農歷日期信息。
(3)當?shù)谝淮伟聪翶4“設置”鍵時,可以調整“時分秒”、“年月日”和“星期”,首先通過K3鍵選擇需要調整的選項位置,然后利用K1鍵(數(shù)字減1)或K2鍵(數(shù)字加1)來調整K3鍵確定的選項;當?shù)诙伟聪翶4鍵時,采用同樣的方法可以設置鬧鐘時間。
(4)當?shù)谌伟聪翶4鍵時,系統(tǒng)保存設置后的參數(shù)信息并退出設置狀態(tài),系統(tǒng)恢復正常工作狀態(tài)。
將利用Keil仿真軟件編寫的C語言單片機程序編譯通過后,在Proteus仿真環(huán)境中加載到AT89C51中,進行軟件系統(tǒng)和硬件仿真電路的聯(lián)合調試,以驗證系統(tǒng)功能。仿真結果顯示,設計要求均能正常實現(xiàn),性能良好。
本設計采用廣泛使用的AT89C51單片機為核心,利用DS1302時鐘芯片和LCD1602液晶顯示模塊,通過軟硬件結合的設計方法,簡化了硬件電路,提高了系統(tǒng)穩(wěn)定性。本方案設計出的帶農歷顯示的數(shù)字萬年歷具有顯示直觀、功能多樣、電路簡潔、成本低廉等諸多優(yōu)點,具有廣闊的市場前景。
[1]徐愛鈞.單片機原理及應用-基于C51和Proteus仿真,北京:清華大學出版社,2015,11. 第1版
[2]張政,路陽.基于AT89C51單片機控制的萬年歷探究,電子技術,2014(04)
[3]王語園,張鑫.基于51單片機的電子萬年歷系統(tǒng)的設計,科技創(chuàng)新.2016(19)
[4]周穎,俞吉.基于AT89S52單片機的電子萬年歷系統(tǒng)設計,現(xiàn)代電子技術,2012, 13