基于單片機(jī)的溫度語音播報(bào)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
引言
隨著物聯(lián)網(wǎng)的快速發(fā)展與應(yīng)用普及,人工智能更加為人們所熟知,同時(shí)也深刻影響著人們的日常生活及生產(chǎn)方式,其不但能夠提供便捷化支持,還可以提供良好的安全保障條件。溫控技術(shù)早在20世紀(jì)就已出現(xiàn),發(fā)展到今天已經(jīng)基本成熟與完善,從實(shí)驗(yàn)成果轉(zhuǎn)化為實(shí)踐器具。
本文選用AT89S52單片機(jī)為控制器,由溫度傳感器DS18B20、液晶顯示屏1602、穩(wěn)壓芯片AMS1117、功放芯片LM86、喇叭、駐極體等主要元器件構(gòu)成了一個(gè)完整的溫度語音播報(bào)系統(tǒng)。單片機(jī)可實(shí)時(shí)響應(yīng)溫度傳感器輸出的信號,通過LCD同步顯示,其溫度閾值可依據(jù)應(yīng)用場景動態(tài)調(diào)節(jié),并設(shè)置有語音錄音和播報(bào)功能。通過多次測試一天中屋內(nèi)不同時(shí)間的溫度,驗(yàn)證了其精確度、靈敏度和語音播報(bào)功能達(dá)到預(yù)期目標(biāo)。
1系統(tǒng)設(shè)計(jì)方案
AT89S52單片機(jī)是一款8位微控制器,它因低功耗和高性能的特點(diǎn)而頗受人們喜愛,此外片內(nèi)存儲空間大,可以進(jìn)行更為復(fù)雜的編程設(shè)計(jì),運(yùn)行速度不會受到很大影響。制造方面采用的是Atme1公司的技術(shù),所以與80C51系列的產(chǎn)品有很好的兼容性。AT89S52單片機(jī)擁有帶電可擦可編程只讀存儲器和8位CPU,使其能夠適用于絕大多數(shù)場合。
因此,本文選用AT89S52單片機(jī)為控制器,溫度傳感器DS18B20、實(shí)時(shí)語音芯片ISD4004和按鍵模塊等均為外部設(shè)備串行通信元件。系統(tǒng)結(jié)構(gòu)如圖1所示。
2系統(tǒng)硬件設(shè)計(jì)
2.1單片機(jī)最小系統(tǒng)
本項(xiàng)目中,單片機(jī)構(gòu)成的系統(tǒng)有很多I/0接口可以進(jìn)行多個(gè)微型處理器的嵌套,可以方便地搭建各種所需的系統(tǒng):可編程性較強(qiáng),可以通過仿真軟件實(shí)現(xiàn)仿真模擬,以確保方案的可行性。系統(tǒng)設(shè)計(jì)過程中會用到單片機(jī)定時(shí)器以實(shí)現(xiàn)延時(shí)功能,此外還有中斷系統(tǒng)等。其構(gòu)成電路如圖2所示。
2.1.1復(fù)位電路設(shè)計(jì)
重啟作為微型控制系統(tǒng)執(zhí)行的第一個(gè)步驟,是針對芯片整個(gè)電路實(shí)施控制,芯片中電路初始化,返回到預(yù)定的初始狀態(tài)。外部的復(fù)位電路控制著AT89S52的恢復(fù),復(fù)位電路一般有兩種—上電復(fù)位和手動復(fù)位,前者使用較多。
上電復(fù)位是一種比較簡單的復(fù)位重啟電路,一般在RST端口和高電位中間加一個(gè)電容,之后接一個(gè)電阻再接地。上電復(fù)位一般是指在閉合電源開關(guān)前,將一個(gè)很短的高電平信號輸送到RST輸入端,之后在電源給電容充電時(shí)這個(gè)復(fù)位信號會降低,因此RST引腳高電平維持時(shí)間具體以電容充電時(shí)間為準(zhǔn),一般情況下,RST輸入端口的高電平信號應(yīng)保證充足的時(shí)間。
在手動復(fù)位時(shí)需要于復(fù)位端口加載高電平。一般在使用方式上,是于VCC端和RST中另外增設(shè)按鍵,在按鍵按下之后VCC與RST電位相同,動作時(shí)間一般為幾十毫秒,可以使系統(tǒng)在安全的環(huán)境內(nèi)重啟。
該系統(tǒng)復(fù)位電路圖如圖3所示。
2.1.2時(shí)鐘電路設(shè)計(jì)
由于單片機(jī)各個(gè)部分的執(zhí)行都是以時(shí)鐘頻率作為參考,計(jì)數(shù)和延時(shí)等最常用的功能都依靠時(shí)鐘電路來實(shí)現(xiàn),因此時(shí)鐘電路的精確性決定著整個(gè)系統(tǒng)的穩(wěn)定性與可靠性。時(shí)鐘頻率的大小直接影響著單片機(jī)運(yùn)行速度,一般時(shí)鐘電路的設(shè)計(jì)有兩種—外部時(shí)鐘和內(nèi)部時(shí)鐘,電路如圖4所示。
圖4時(shí)鐘電路
2.2系統(tǒng)外設(shè)電路設(shè)計(jì)
AT89S52內(nèi)包含有32個(gè)I/O口、4k的flaSh、128位RAM、40個(gè)引腳、5個(gè)中斷、2個(gè)16byteS的可編程定時(shí)計(jì)數(shù)器、2個(gè)全雙工串行通信口、wDT電路、片內(nèi)時(shí)鐘振蕩器。AT89S52的I/O端口分配情況如表1所示。
在設(shè)計(jì)中,AT89S52的P0.0~P0.7與LCD的D0~D7相連,以實(shí)時(shí)顯示溫度:P1.4~P1.7與語音芯片ISD4004的M1S0、M0S1、SS以及SCLK對應(yīng)連接:P1.0與DS18B20的第二個(gè)管腳相連,實(shí)現(xiàn)單片機(jī)與傳感器的雙向通信:擴(kuò)音器模塊的+1NPUT與ISD4004的AND0UT相連。
2.3電源電路設(shè)計(jì)
干電池電池容量有限,持續(xù)時(shí)間短,成本高,隨著外設(shè)的增多和時(shí)間的推移,電池電壓在不斷減小,不能保證系統(tǒng)的正常運(yùn)行,因此本系統(tǒng)采用獨(dú)立的DC5V供電。外部電源接到系統(tǒng)5V的DC端口之后經(jīng)過自鎖開關(guān)給整個(gè)系統(tǒng)提供電源,此外,以穩(wěn)壓芯片AMS1117構(gòu)成穩(wěn)壓電路,能夠?qū)?V電壓變?yōu)?.3V給語音芯片ISD4004使用,保證了整個(gè)系統(tǒng)的穩(wěn)定工作。電源穩(wěn)壓電路如圖5所示,其中C4為極性電容,能夠進(jìn)行穩(wěn)壓:C6為非極性電容,能夠進(jìn)行濾波,屬于低通濾波器,保留直流成分。
2..溫度采集模塊設(shè)計(jì)
DS18B20是DallaSSemiconductor第一款支持"單線總線"接口的溫度傳感器,測量精度為士0.5℃,測量精度高,能夠適應(yīng)復(fù)雜惡劣的環(huán)境,對于微處理器處理,能夠直接將溫度轉(zhuǎn)換為串行數(shù)字量。DS18B20采用單線總線,可用數(shù)據(jù)線直接供電,因此可以不使用任何外圍設(shè)備,減少了外圍設(shè)備的使用量。因此,系統(tǒng)選擇DS18B20為溫度采集器,測溫電路圖如圖6所示。
DQ腳作為溫度傳感器中的關(guān)鍵要素,其主要功能情況如表2所示。
2.54LC顯示模塊設(shè)計(jì)
本文選用LCD1602作為顯示單元。LCD1602的工作原理是基于液晶自身的特點(diǎn),通過改變顯示區(qū)域的電壓大小來控制顯示器工作。LCD1602有16個(gè)引腳,其與單片機(jī)的應(yīng)用連接電路圖如圖7所示,LCD基本操作時(shí)序如表3所示。
2.6語音播報(bào)電路設(shè)計(jì)
ISD400系列適用于手機(jī)和其他便攜式電子設(shè)備,工作電壓3V,能夠錄音8~16min,音質(zhì)較好,具備CM0S技術(shù),內(nèi)部還包含振蕩器、平滑濾波器、音頻放大器等。在進(jìn)行芯片設(shè)計(jì)時(shí)需要考慮到所有的控制要求,并且能夠用串行通信接口輸入。在模擬的體積存儲技術(shù)中,每個(gè)樣本都直接存儲在閃存中,因此可以非常自然地再現(xiàn),很大程度上減少了一般的固體錄音電路產(chǎn)生的"金屬聲"和量化噪聲。音頻輸入電路如圖8所示,語音電路如圖9所示。
3系統(tǒng)的軟件設(shè)計(jì)
C語言單片機(jī)的編程設(shè)計(jì),大多數(shù)人選擇使用Kei1,在Kei1中不論是選擇C語言編程還是匯編都非常方便。本文選用Kei1uViSion5進(jìn)行軟件設(shè)計(jì),Kei1uViSion5可以很好地兼容之前的版本,并加大對Cortex系列的開發(fā)力度,不論是界面還是開發(fā)環(huán)境都進(jìn)行了升級優(yōu)化。3.1系統(tǒng)主程序設(shè)計(jì)
程序在開始執(zhí)行時(shí)首先要對主程序進(jìn)行初始化,如溫度檢測程序、I/0口的初始化等。初始化結(jié)束后,執(zhí)行溫度測量的相關(guān)程序,實(shí)時(shí)測量當(dāng)前的溫度值。將測得值與設(shè)定值進(jìn)行比較,判斷此溫度是否超過了閾值,如果超過溫度上限或下限,則調(diào)用報(bào)警子程序并進(jìn)行語音提示。主程序流程圖如圖10所示。
3.2測溫子程序設(shè)計(jì)
該系統(tǒng)能夠正常工作的充分條件是能夠精準(zhǔn)地測量溫度。若溫度采集缺乏準(zhǔn)確性,則即使后面單片機(jī)對信號處理得再好或者顯示電路、語音播報(bào)報(bào)警都能夠正常準(zhǔn)確工作,實(shí)際結(jié)果也還是達(dá)不到要求,整個(gè)系統(tǒng)不能準(zhǔn)確進(jìn)行溫度測量及語音播報(bào)[8]。因此,DS18B20能否正常工作關(guān)系到整個(gè)系統(tǒng)能否正常運(yùn)行。
DS18B20在通信時(shí)發(fā)送和接收信號是分開進(jìn)行的,具備明確定義,其基本規(guī)則為:初始化DS18B20(發(fā)復(fù)位脈沖)二發(fā)出命令二對數(shù)據(jù)進(jìn)行初步處理。其程序流程如圖11所示。
4系統(tǒng)仿真及其結(jié)果分析
系統(tǒng)各項(xiàng)功能仿真方法及結(jié)果如表4所示。
利用ProteuS進(jìn)行的系統(tǒng)仿真如圖12所示,顯示屏可以實(shí)時(shí)顯示當(dāng)前溫度,通過按鍵可以實(shí)現(xiàn)語音播報(bào)功能的切換和溫度上下限的調(diào)節(jié),系統(tǒng)溫度上限調(diào)節(jié)仿真圖如圖13所示,系統(tǒng)錄音選擇仿真圖如圖14所示。
5結(jié)語
本項(xiàng)目基于ProteuS和單片機(jī)AT89S52完成了溫度語音播報(bào)系統(tǒng)的設(shè)計(jì)及研發(fā)工作,不僅實(shí)現(xiàn)了溫度實(shí)時(shí)監(jiān)測,而且可自由錄制提示語音、靈活部署,適用于公共場所、倉儲庫房、客廳、智能化建筑等領(lǐng)域的多點(diǎn)溫度檢測。整個(gè)系統(tǒng)采用模塊化設(shè)計(jì),結(jié)構(gòu)簡單,調(diào)試結(jié)果表明系統(tǒng)符合預(yù)期目標(biāo),可有效保障人們的日常生活安全。