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