譚銘明,姚玲英(通訊作者),阮煜琴,梁俊焱,鐘楚洪
(廣東第二師范學(xué)院物理與信息工程系,廣東廣州,510303)
在智能化信息時(shí)代的發(fā)展下,人們對(duì)于傳統(tǒng)時(shí)鐘的要求也逐漸增多。該智能貼心時(shí)鐘以STC89C52 單片機(jī)為核心,利用DS1302 時(shí)鐘模塊將時(shí)間顯示詳細(xì)至年、月、日、星期、時(shí)、分、秒,并可通過(guò)按鍵來(lái)實(shí)現(xiàn)對(duì)時(shí)間的校準(zhǔn)和鬧鐘的設(shè)置。同時(shí),利用DHT11 溫濕度傳感器對(duì)溫濕度進(jìn)行采集,單片機(jī)通過(guò)溫濕度變化產(chǎn)生不同的信號(hào),以按鍵實(shí)現(xiàn)當(dāng)前氣候狀態(tài)的溫濕度播報(bào)、貼心提示。
系統(tǒng)電路框圖如圖1 所示,根據(jù)功能之間的不同,可將該系統(tǒng)分為六個(gè)部分,分別為STC89C52 單片機(jī)、溫濕度測(cè)量電路、時(shí)鐘發(fā)生電路、LCD 顯示電路、語(yǔ)音播報(bào)電路及按鍵電路。
圖1 系統(tǒng)電路框圖
2.1.1 主控制模塊
該設(shè)計(jì)使用STC89C52 芯片作為貼心時(shí)鐘的處理器,C52 系列芯片編程簡(jiǎn)單便捷,配合開發(fā)板與Keil 可以輕松地對(duì)芯片中的代碼進(jìn)行修改和測(cè)試。該電路作為貼心時(shí)鐘的處理器,承擔(dān)了信息處理和信息存儲(chǔ)的功能。這部分電路包含主芯片STC89C52,11.0592MHz 晶振電路以及復(fù)位電路。
2.1.2 溫濕度測(cè)量電路
該電路的主要部分為DHT11 溫濕度傳感模塊,占用1個(gè)I/O 口。該模塊可提供實(shí)時(shí)的溫濕度數(shù)據(jù),并通過(guò)一個(gè)數(shù)據(jù)端口輸送給處理器,且該模塊使用比較方便,模塊上引出的3 個(gè)接線端口直接連接到單片機(jī)上便可使用,由于用于傳輸數(shù)據(jù)的只有一個(gè)端口,使用一個(gè)I/O 口便能收集溫濕度數(shù)據(jù),十分節(jié)省I/O口。該電路承擔(dān)了提供溫濕度數(shù)據(jù)的功能,并且在模塊的VCC 與GND 之間連接了一個(gè)104 瓷片電容,用于濾除掉雜波成分,使其輸出數(shù)據(jù)的時(shí)候電壓更穩(wěn)定。
2.1.3 時(shí)鐘電路
時(shí)鐘電路采用DS1302 模塊,共占用3 個(gè)I/O 口。該模塊可提供時(shí)分秒、年月日等信息,采用串行通信方式,節(jié)省I/O 口,且具有工作電壓范圍較寬,芯片功耗低的優(yōu)點(diǎn),其承擔(dān)的主要功能為提供日期與時(shí)間信息。DS1302 采用雙電源供電,在主電源非正常斷電時(shí),仍可利用備用電源繼續(xù)工作。
2.1.4 LCD 時(shí)鐘顯示電路
該電路采用液晶顯示屏LDC1604 作為貼心時(shí)鐘的屏幕,共占用11個(gè)I/O口。該顯示屏最多能同時(shí)顯示16×4個(gè)字符,使用起來(lái)簡(jiǎn)單便捷,但該模塊引腳較多,除VCC 與GND 外仍有12 個(gè)端口。顯示屏采用并行通信方式,直接把八個(gè)數(shù)據(jù)傳輸口與單片機(jī)相連。其承擔(dān)的主要功能為顯示出當(dāng)前的溫濕度、日期與時(shí)間。雖然占用了8 個(gè)I/O 口作為通信端口,但是同時(shí)保證了數(shù)據(jù)的實(shí)時(shí)顯示,減少延時(shí)。
2.1.5 語(yǔ)音播報(bào)電路
語(yǔ)音播報(bào)電路我們采用DFPlayer Mini 模塊(以下簡(jiǎn)稱其為語(yǔ)音模塊),采用串口通信。此模塊具有體積小巧,價(jià)格實(shí)惠,可直接接駁揚(yáng)聲器等優(yōu)點(diǎn)。語(yǔ)音模塊上已集成有MP3、WAV、WMA 的硬解碼功能,無(wú)需進(jìn)行復(fù)雜的編程,通過(guò)簡(jiǎn)單的串口指令即可控制其播放指定的音頻。該模塊上含有一個(gè)TF 卡槽,音頻存儲(chǔ)在TF 卡里,只要將其插入卡槽,便能使其讀取到TF 卡內(nèi)的音頻信息。語(yǔ)音模塊主要承擔(dān)了存儲(chǔ)音頻信息及驅(qū)動(dòng)揚(yáng)聲器播放音頻的功能,按下外置的按鈕即可播放當(dāng)前溫濕度信息、前后溫濕度對(duì)比、以及對(duì)應(yīng)的穿衣搭配和增減衣物建議。
2.1.6 鍵盤電路
鍵盤電路目前采用了各個(gè)功能配備獨(dú)立按鍵的設(shè)計(jì),按鈕類型采用微動(dòng)按鈕,分別設(shè)有“返回主界面按鈕”、“進(jìn)入副界面按鈕”、“UP 按鈕”,“DOWN 按鈕”,“確認(rèn)按鈕”,以及“語(yǔ)音播報(bào)按鈕”這6 個(gè)按鈕。這6 個(gè)按鈕目前直接分配了6 個(gè)I/O 口,按鈕的另一端接地,當(dāng)有按鍵按下時(shí),I/O 口的電平變?yōu)榈碗娖剑S即由芯片檢測(cè)到,并執(zhí)行對(duì)應(yīng)的功能。
2.2.1 系統(tǒng)主程序設(shè)計(jì)
將主程序分成各個(gè)子程序模塊,逐一實(shí)現(xiàn)各個(gè)模塊功能,其整體思路如圖2 所示。
圖2 主程序流程圖
2.2.2 語(yǔ)音模塊軟件實(shí)現(xiàn)
(1)從EEPROM 區(qū)讀取存儲(chǔ)的溫濕度數(shù)據(jù)
內(nèi)部EEPROM 讀一字節(jié):先寫地址,再讀數(shù)據(jù)。
讀操作程序:
(2)溫濕度以及穿衣小提示播報(bào)
播報(bào)溫濕度:將從DHT11 芯片獲取的溫濕度進(jìn)行播報(bào),需要注意的是獲取的溫濕度為十六進(jìn)制,而語(yǔ)音播報(bào)的對(duì)應(yīng)值為十進(jìn)制,此時(shí),通過(guò)十進(jìn)制與十六進(jìn)制轉(zhuǎn)換,完成語(yǔ)音播報(bào)。
播報(bào)穿衣小提示:將常出現(xiàn)的溫濕度劃分為多個(gè)范圍,且將臨界值設(shè)為設(shè)定值,將讀取到的溫濕度與設(shè)定值進(jìn)行對(duì)比,播報(bào)對(duì)應(yīng)的語(yǔ)音。
播報(bào)程序:
(3)將溫濕度數(shù)據(jù)存入EEPROM 區(qū)
內(nèi)部EEPROM 寫一字節(jié):先寫地址,再寫數(shù)據(jù)。需要注意的是,在EEPROM 寫字節(jié)之前需要先將那一扇區(qū)的數(shù)據(jù)擦除。
擦除操作程序:
讀操作程序:
由STC89C52 內(nèi)部EEPROM 詳細(xì)地址表可以編寫。詳細(xì)地址表如表1 所示。
表1 STC89C52內(nèi)部EEPROM詳細(xì)地址表
在完成硬件設(shè)計(jì)后,對(duì)系統(tǒng)進(jìn)行仿真如圖3 所示。系統(tǒng)設(shè)置的初始時(shí)間為2020 年7 月25 日星期六18 點(diǎn)17 分58 秒,初始鬧鐘時(shí)間為18 點(diǎn)18 分,可通過(guò)按下rep 按鈕實(shí)現(xiàn)語(yǔ)音播報(bào)功能,系統(tǒng)還設(shè)有五個(gè)按鍵,利用加入副屏實(shí)現(xiàn)對(duì)當(dāng)前時(shí)間的校準(zhǔn)與鬧鐘的設(shè)置。仿真時(shí)將DHT11 溫濕度調(diào)為27℃、75%,與LCD 液晶屏顯示保持一致。由于Proteus 8 Professional 仿真軟件元件庫(kù)中,沒有語(yǔ)音模塊,在仿真時(shí),采用示波器代替語(yǔ)音模塊,通過(guò)觀察波形的輸出實(shí)現(xiàn)語(yǔ)音播報(bào)。
圖3 系統(tǒng)仿真圖
根據(jù)仿真電路圖,進(jìn)行對(duì)硬件實(shí)物的連接測(cè)試系統(tǒng)的可行性與穩(wěn)定性,測(cè)試結(jié)果如圖4 所示,由圖可見,實(shí)際測(cè)試結(jié)果與仿真結(jié)果一致,時(shí)間顯示與調(diào)節(jié)、實(shí)時(shí)溫濕度顯示、語(yǔ)音播報(bào)等基本功能均可穩(wěn)定實(shí)現(xiàn)。
圖4 液晶屏實(shí)物顯示圖
該電子時(shí)鐘設(shè)計(jì)通過(guò)Keil uVision4進(jìn)行C語(yǔ)言編譯設(shè)計(jì),通過(guò)控制主控芯片STC89C52 實(shí)現(xiàn)溫濕度監(jiān)控顯示、實(shí)時(shí)時(shí)間顯示與設(shè)置、語(yǔ)音播報(bào)功能等基本功能。經(jīng)過(guò)對(duì)系統(tǒng)的硬件測(cè)試,基本功能均可達(dá)到設(shè)計(jì)的預(yù)期效果。從測(cè)試中看出該系統(tǒng)穩(wěn)定性好,操作簡(jiǎn)單,具有一定的實(shí)用性,更加貼近于人們?nèi)粘I钪械氖褂昧?xí)慣,使人們的生活更加便利。