隨著人們生活水平的提高和生活節奏的加快,對時間的要求越來越高,精準數字計時的消費需求也是越來越多。二十一世紀的今天,最具代表性的計時產品就是電子萬年歷,它是近代世界鐘表業界的第三次革命。第一次是擺和擺輪游絲的發明,相對穩定的機械振蕩頻率源使鐘表的走時差從分級縮小到秒級,代表性的產品就是帶有擺或擺輪游絲的機械鐘或表。第二次革命是石英晶體振蕩器的應用,發明了走時精度更高的石英電子鐘表,使鐘表的走時月差從分級縮小到秒級。第三次革命就是單片機數碼計時技術的應用(電子萬年歷),使計時產品的走時日差從分級縮小到1/600萬秒,從原有傳統指針計時的方式發展為人們日常更為熟悉的夜光數字顯示方式,直觀明了,并增加了全自動日期、星期、溫度以及其他日常附屬信息的顯示功能,它更符合消費者的生活需求!因此,電子萬年歷的出現帶來了鐘表計時業界跨躍性的進步… …
1 設計要求與采用方案
1.1 系統實現功能
(1)基本功能:a.LCD漢字顯示年月日、時分秒、星期;b.LCD漢字顯示天干地支紀年、農歷日期、24節氣,12生肖;c.LCD顯示室溫;d.整點蜂鳴器報時,定時鬧鈴時間到則蜂鳴器提示;e.通過4個按鍵,用來設置時間和進行定時設置。
(2)創新設計:a.采用128×64的LCD顯示萬年歷內容;b.采用ISD111O語音模塊播放鬧鈴鈴聲。
1.2 系統基本方案選擇
1.2.1 單片機
系統的單片機采用高性能、低功耗的AVRATmegal28L微控制器。系統利用4個外部中斷接4個獨立式按鍵來進行參數、功能的設置,蜂鳴器用來整點提示和鬧鈴提示。程序下載可通過預留ISP接口方便地對系統軟件進行升級、添加或裁剪系統功能。
1.2.2 顯示模塊
液晶顯示模塊是128×64點陣的漢字圖形型液晶顯示模塊,可顯示漢字及圖形,內置國標GB2312碼簡體中文字庫(16×16點陣)、128個字符 (8×16點陣)及64×256點陣顯示RAM(GDRAM)。可與單片機直接接口,提供兩種接口來連接微處理機:8-位并行及串行兩種連接方式。具有多種功能:光標顯示、畫面移位、睡眠模式等。
1.2.3 時鐘芯片
采用DS1302時鐘芯片實現時鐘,DS1302芯片是一種高性能的時鐘芯片,可自動對秒、分、時、日、周、月、年以及閏年補償的年進行計數,而且精度高,工作電壓2.5V~5.5V范圍內,2.5V時耗電小于300nA.
1.2.4 溫度傳感器
利用物質各種物理性質隨溫度變化的規律把溫度轉換為電量的傳感器。這些呈現規律性變化的物理性質主要有體。溫度傳感器是溫度測量儀表的核心部分,品種繁多。按測量方式可分為接觸式和非接觸式兩大類,按照傳感器材料及電子元件特性分為熱電阻和熱電偶兩類。
采用數字式溫度傳感器DS18B20,其僅需一條數據線進行數據傳輸,易于與單片機連接,可以去除A/D漠塊,降低硬件成本,簡化系統電路。另外,數字式溫度傳感器還具有測量精度高、測量范圍廣等優點。
2 系統的硬件設計與實現
2.1 系統硬件設計框圖
2.2 系統硬件概述
本電路由AVR ATmegal28L單片機為控制核心,具有在線編程功能,低功耗,能在3V超低壓工作;時鐘電路由DS1302提供,它是一種高性能、低功耗、帶RAM的實時時鐘電路,可以對年、月、日、周日、時、分、秒進行計時,具有閏年補償功能,工作電壓為2.5V~5.5V.采用三線接口與單片機進行同步通信,并可采用突發方式一次傳送多個字節的時鐘信號或RAM數據。DS1302內部有一個31×8的用于臨時性存放數據的RAM 寄存器。可產生年、月、日、周日、時、分、秒,具有使用壽命長,精度高和低功耗等特點,同時具有掉電自動保存功能,本設計中為DS1302增加了備用電池,當主電源掉電時,備用電池自動為其供電;溫度的采集由DS18B20構成;顯示部份由128×64點陣的漢字圖形型LCD模塊來完成顯示功能;當鬧鈴時間到時,通過ISD111O語音錄放模塊播放鬧鈴鈴聲。系統硬件實物圖見圖2.
2.3 主要單元電路的設計
2.3.1 單片機主控制模塊的設計
AVR ATmegal28L單片機為64引腳TQFP封裝,系統的ISP下載接口、晶振電路、復位電路、蜂鳴器電路如圖3所示。
2.3.2 時鐘電路模塊的設計
圖4為DS1302的引腳排列,其中Vcc1為后備電源,Vcc2為主電源。在主電源關閉的情況下,也能保持時鐘的連續運行。DS1302由Vcc1或 Vcc2兩者中的較大者供電。當Vcc2大于Vcc1+0.2V時,Vcc2給DS1302供電。當Vcc2小于Vcc1時,DS1302由Vcc1供電。X1和X2是振蕩源,外接32.768 kHz晶振。RST是復位/片選線,通過把RST輸入驅動置高電平來啟動所有的數據傳送。RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供終止單字節或多字節數據的傳送手段。當RST為高電平時,所有的數據傳送被初始化,允許對DS1302進行操作。如果在傳送過程中RST置為低電平,則會終止此次數據傳送,I/O引腳變為高阻態。上電運行時,在Vcc大于等于2.5V之前,RST必須保持低電平。只有在SCLK為低電平時,才能將RST置為高電平,I/O為串行數據輸入端(雙向)。SCLK始終是輸入端。
2.3.3 溫度采集模塊設計
如圖5所示。采用數字式溫度傳感器DS18B20,它具有測量精度高,電路連接簡單的特點,此類傳感器僅需要一條數據線進行數據傳輸,使用PC7與DS18B20的I/O口連接加一個上拉電阻,VCC接電源,VSS接地。
2.3.4 顯示模塊的設計
設計采用128×64漢字圖形顯示LCD模塊,一屏可顯示32個漢字(16×16點陣字庫),其接口如圖6所示。
2.3.5 語音錄放模塊
設計采用ISD1110語音芯片配合相應的外圍元件構成語音錄放電路,用來實現語音提示功能,其電路如圖7所示。
2.3.6 系統PCB圖
系統PCB如圖8所示。
3 系統的軟件設計
3.1 程序流程框圖
設計主程序流程圖如圖9所示。
3.2 設計實現界面
3.2.1 萬年歷主界面
如圖10所示,第一行顯示公歷的年月日,第二行顯示時分秒和星期,第三行顯示農歷的天干地支紀年和農歷月日,第四行顯示農歷生肖、節氣以及當前的氣溫。
3.2.2 日期時間設置界面
日期時間設置界面如圖11所示。
3.2.3 鬧鈴設置界面
鬧鈴設置界面如圖12所示。
4 結論
本文所介紹的萬年歷的設計方案已經調試成功,其功能全部實現,本產品成本低、壽命長、誤差小、功能齊全,達到設計要求。
評論
查看更多