隨著科技的發展,生活中電子萬年歷越來越普遍,功能也越來越多。根據人們的日常基本需求,設計一種電子萬年歷,可以實現測溫、鬧鐘、秒表和語音報警等功能,為人們的日常生活提供舒適和便捷,具有重要的使用價值。 本文設計了一種基于單片機STC89C52 的可測溫式電子萬年歷,能實時地將當前時間和周圍的環境溫度顯示出來,并具有鬧鐘、秒表、語音報時的功能。萬年歷主要使用溫度傳感器DS18B20 采集溫度信息,與單片機實現雙向通信;時鐘芯片DS1302 實現時鐘,準確計時;并通過語音芯片完成整點報時和溫度報警功能。該萬年歷電路結構簡單,具有時間精確、抗干擾能力強、功耗低、可靠性高等優點。 該可測溫式電子萬年歷主要由STC89C52、時鐘芯片、溫度采集、顯示電路、語音報警等組成。按鍵可以實現顯示內容的切換、時間的調整以及語音報警的設置。 1 硬件電路的設計 該可測溫式電子萬年歷工作時,首先初始化時鐘芯片,單片機從時鐘芯片讀取時間和日期等信息,同時又從溫度傳感器采集當前環境溫度,經過驅動電路送給液晶顯示屏,顯示相關的信息。其中,按鍵可以對時間、日期、星期和溫度進行調整,并控制鬧鐘和秒表的功能。萬年歷又加入了語音芯片,可以實現整點報時和溫度報警的功能。 (1)時鐘芯片DS1302 DS1302 在時間顯示方面應用非常普遍,可以對年、月、日、周、時、分、秒進行計時,并且具有閏年補償功能,工作電壓為2.5V ~ 5.5V。采用三線接口與單片機進行同步通,并可采用突發方式一次傳送多個字節的時鐘信號或RAM 數據。DS1302內部有一個用于臨時性放數據的RAM 寄存器,具有主電源和后備電源兩個引腳,并且具有對后備電源進行電流充電的能力。DS1302 與單片機之間采用串行數據傳輸,控制液晶屏顯示時間信息。 圖1 DS1302 引腳圖 DS1302 的引腳圖如圖1 所示, 其中Vcc2 為主電源,Vcc1 為后備電源。在主電源關閉的情況下,也能保持時鐘的連續運行。X1、X2 是振蕩源,外接32.768kHz晶振。RST 是復位/ 片選線,通過把RST輸入驅動置高電平來啟動所有的數據傳送。當RST 為高電平時,所有的數據傳送被初始化,允許對DS1302 進行操作。如果在傳送過程中RST 置為低電平,則會終止此次數據傳送,I/O 引腳變為高阻態。上電運行時,在Vcc > 2.0V 之前,RST 必須保持低電平。只有在SCLK 為低電平時,才能將RST 置為高電平。I/O 為串行數據輸入輸出端( 雙向) ;SCLK 為時鐘輸入端。 (2)溫度傳感器DS18B20 溫度傳感器DS18B20 直接與單片機連接,避免A/D 模數轉換模塊,降低硬件成本,簡化系統電路。DS18B20 的電壓范圍為:3.0 ~ 5.5V,在寄生電源方式下可由數據線供電,采用獨特的單線接口方式。DS18B20 在使用中不需要任何外圍元件,全部傳感元件及轉換電路集成在形如一只三極管的集成電路內。測量溫度的范圍為- 55℃~+ 125℃之間,測溫精度可以達到0.5℃。測量結果直接輸出數字溫度信號,串行傳送給單片機的CPU,同時可傳送CRC 校驗碼,具有極強的抗干擾糾錯能力。 DS18B20 與單片機的連接方式有兩種:寄生電源連接方式和外部電源連接方式。該可測溫式電子萬年歷采用外部電源連接方式。連接方法即DS18B20 的1 腳接地,2 腳(DQ 引腳) 與單片機的一根I/O口線連接(P3.2 腳),3 腳接電源+5V。在STC89C52 的I/O 口線與+5V 之間連接一4.7K 的上拉電阻,以保證數據采集的正常進行。 (3)LCD1602 溫度顯示的設計 該室溫報警裝置液晶顯示屏采用LCD1602,它是一種專門用來顯示字母、數字、符號等的點陣型液晶模塊。它由若干個點陣字符位組成,每個點陣字符位都可以顯示一個字符,每位之間有一個點距的間隔,每行之間也有間隔,起到了字符間距和行間距的作用。 在單片機系統中應用晶液顯示器作為輸出器件有顯示質量高、數字式接口體積小、重量輕、功耗低的優點。LCD1602 液晶模塊內部的字符發生存儲器(CGROM)已經存儲了160 個不同的點陣字符圖形,每一個字符都有一個固定的代碼,與單片機連接后通過C 語言編程就可以工作。在正常工作狀態下,電子萬年歷的設計連接圖如圖2 所示。 圖2 LCD1620 與單片機的連線圖 2 軟件系統設計方案 該萬年歷的程序流程圖如圖3 所示,具體流程如下:首先,接通電源,上電工作,DS1302、DS18B20、LCD1602 進行初始化,通過單片機控制液晶屏顯示“時分秒”、“溫度”、“年月日”、“星期”,并伴隨整點報時的功能;然后,進入功能設置,第一次按下按鍵K4 可以調整“時分秒”和“年月日”,此時K1、K2 和K3 分別對應時間和日期“加”、“減”和“移位選擇”的功能,日期發生變化相應的“星期”也會跟著變化;第二次按下按鍵K4 可以設置鬧鐘的功能,此時K1、K2 和K3 分別對應時間和日期“關閉”、“開啟”和“移位選擇”的功能;第三次按下按鍵K4 可以設置秒表的功能,此時K1、K2 和K3 分別對應時間和日期“復位”、“暫停”和“計時”的功能;第四次按下按鍵K4 可以退出設置功能,因為該萬年歷加入了語音芯片,此時按下K2 鍵具有語音報時的功能。 由于DS18B20 具有溫度采集檢測的功能,所以液晶屏顯示的溫度會隨著周圍環境溫度的變化而變化。該萬年歷設置有復位電路,連接一個按鍵K 可以自動實現復位功能。 圖3 可測溫式電子萬年歷程序流程圖 3 調試和分析 待該可測溫式電子萬年歷焊接和軟件編程完成后,進入調試環節,將keil4 中C 語言程序生成的hex 文件燒入到STC89C52 芯片中,連接電源后將萬年歷放入模擬環境中進行系統調試,調試結果如圖4 所示。液晶顯示屏顯示“時間”、“溫度”、“日期”和“星期”信息,同時可以整點報時,如圖4 中A 圖所示。 圖4 可測溫式電子萬年歷調試結果圖 第一次按下K4 進入時間和日期的設置,調試結果如圖4 中B 圖所示;第二次按下K4 進入鬧鐘的設置,“Y”為開啟鬧鐘,“N”為關閉鬧鐘,調試結構如圖4 中C圖所示;第三次按下K4 進入秒表的設置,調試結構如圖4 中D 圖所示;第四次按下K4 退出功能設置,此時按下K2 具有語音報時功能。 4 總結 電子萬年歷在生活中日益普遍,該設計主要利用時鐘芯片DSl302、溫度傳感器DS18B20 和液晶屏LCD1602 構建了一個可測溫式萬年歷裝置,電路結構簡單,具有語音報時功能,適用于家庭生活,使用價值高,具有較好的應用前景。 |