摘要:針對水銀溫度計不便讀數(shù)、響應(yīng)速度慢、在普通家庭中使用面狹窄的特點,提出了數(shù)碼語音溫度計的設(shè)計方案。選擇不銹鋼封裝的DS18B20作溫度傳感器、ISD1720進行語音錄放、STC89C52單片機進行溫度信號采集、數(shù)據(jù)處理和語音回放控制,構(gòu)建了實際的電路系統(tǒng)。實驗表明,該數(shù)碼語音溫度計測量范圍為0~99.9℃,顯示分辨率為0.1℃,誤差不大于±0.5℃,測溫速度快,讀數(shù)方便,語音清晰,語音播報間隔時間可調(diào),可廣泛應(yīng)用于家庭或需要溫度語音提示的場合。
關(guān)鍵詞:數(shù)碼語音溫度計;溫度傳感器;溫度信號采集;數(shù)據(jù)處理
0 引言
溫度測量在人們的日常生活中扮演著重要的角色,當人們感到身體不適時,通常需要測量體溫;家中的嬰兒或病人吃的流質(zhì)食物,給嬰兒準備的洗澡水等,都需要事先感測溫度,溫度過高或過低都會對病人或嬰兒造成危害。目前便宜的體溫計在家中廣泛使用,但其通常只用于測量體溫,量程小、最大42℃;讀數(shù)不方便,特別是老年人視力不好,不容易讀準確;在測量體溫以外的情況下不便使用,并且破損后水銀泄漏對身體會造成危害等,一些國家已開始禁止銷售水銀溫度計;非接觸式的紅外測溫儀雖然方便使用,但價格昂貴。文獻介紹了一種用于工業(yè)應(yīng)用的數(shù)字溫度計設(shè)計方法,文獻分別介紹了采用具有語音處理功能的單片機和語音芯片設(shè)計溫度計的方法,但是在儀器的小型化、
使用方便性以及成本等因數(shù)影響下,在一般家庭不容易推廣,并且其核心技術(shù)也沒有公開。因此,研制一種使用方便、既能數(shù)碼顯示又能語音提示,價格便宜,應(yīng)用場合廣泛,特別適合家庭使用的溫度測量儀器,具有重要的實用價值。
1 系統(tǒng)方案設(shè)計
1.1 系統(tǒng)的工作原理
單片機對溫度傳感器的信號進行采集,采集的數(shù)據(jù)通過處理后一方面輸出給數(shù)碼管進行顯示,另一方面輸出給語音模塊,進行語音溫度提示,語音提示的間隔時間通過撥擋開關(guān)進行設(shè)定,也可以關(guān)斷語音功能。系統(tǒng)框圖如圖1所示。
1.2 系統(tǒng)硬件設(shè)計
1.2.1溫度傳感器
采用數(shù)字溫度傳感器DS18B20,該產(chǎn)品采用美國DALLAS公司生產(chǎn)的可組網(wǎng)數(shù)字溫度傳感器芯片,體積小,使用方便,封裝形式多樣,適用于各種狹小空間數(shù)字測溫和控制領(lǐng)域;由于項目要求能測量液體溫度、方便人體接觸等,因此采用外加不銹鋼保護管的封裝形式,具有耐磨耐碰、防水等功能。DS18B20在與微處理器連接時僅需要一條口線即可實現(xiàn)雙向通信,可測溫范圍:-55~+125℃,可編程為9~12位A/D轉(zhuǎn)換精度,測溫分辨率可達0.062 5℃。被測溫度用符號擴展的16位數(shù)字量方式串行輸出;其工作電源既可在遠端引入,也可采用寄生電源方式產(chǎn)生;多個DS18B20可以并聯(lián)到3根或2根線上,CPU只需一根端口線就能與諸多DS18B20通信,占用微處理器的端口較少,可節(jié)省大量的引線和邏輯電路;連接電路如圖2所示:
圖2中傳感器的2腳與單片機的輸入/輸出(I/O)腳連接,進行雙方通信,采用4.7 kΩ的電阻上拉。由于DS18B20單線通信功能是分時完成的,系統(tǒng)對它的各項操作必須嚴格按協(xié)議進行。操作協(xié)議為:初始化DS18B20(發(fā)復位脈沖)→發(fā)ROM功能命令→發(fā)存儲器操作命令→處理數(shù)據(jù),各項操作都有嚴格的時序要求。[!--empirenews.page--]
1.2.2 單片機
采用與MCS51兼容的
STC89C52,具有8K字節(jié)的在系統(tǒng)可編程Flash存儲器,其MOSI、MISO、REST、SCK等引腳通過鎖存后與計算機的并口連接,就可實現(xiàn)對內(nèi)部的Flash存儲器編程,內(nèi)含512 B的RAM,32個可編程I/O口線,3個16位的定時/計數(shù)器等特點,可以為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案,非常適合本項目的應(yīng)用。
1.2.3 語音模塊
采用美國華幫公司生產(chǎn)的高集成度、高性能的ISD1720語音錄放芯片,采樣率在4~12 kHz之間調(diào)節(jié),根據(jù)采樣頻率的不同,可以錄存12~36 s的語音信息,語音信息在該芯片內(nèi)部的固態(tài)多級存儲陣列里按行存放,可以通過指令中的11位地址精確尋址;該芯片集語音處理和存儲于一體,具有重復自開發(fā),掉電信息保存,可工作于獨立按鍵模式和SPI控制模式,錄放結(jié)束自動進入低功耗狀態(tài),可直接麥克風輸入或模擬通道輸入,也可喇叭直接輸出,芯片工作電壓2.4~5.5 V之間,可以多段錄音,其基本存儲單元入口地址范圍是0X010~0X09F。應(yīng)用電路如圖3所示。根據(jù)需要,將錄制的語音分成13個段,即“零~十、點、度”,如37.5度,播報為“三、十、七、點、五、度”,每段語音的錄制時間約為1.35 s,由于錄制時間不易精確掌握,用手動控制的方式對13段語音進行錄制,然后手動檢查每段語音錄制效果,如圖3所示,閉合S4進行語音信息錄制、松開即錄制結(jié)束,語音信息通過MIC錄入,觸發(fā)S5鍵進行播放,檢查當前錄制信息段的效果,在錄制或者播放的過程中,可以通過LED的閃爍來了解操作的進程;如果某段語音錄制效果不理想,必須及時刪除,因為在手動控制方式下,刪除操作只對開始一段和最末一段信息有效;錄制完成后,還必須檢查每段信息在器件的存儲體系中是否是按環(huán)形結(jié)構(gòu)存儲的,這可以通過閉合S5并保持來實現(xiàn),此時,器件將按順序不停的播放當前信息段與其前一信息段之間的所有信息段,通過反復錄制,直到滿意為止;當然,也可以采用商業(yè)的錄制設(shè)備來實現(xiàn)。
由該芯片內(nèi)部的語音存放地址范圍可知,每段語音存放約11行,為了準確知道每段語音的入口地址和結(jié)束地址,可以利用單片機檢查。 ISD1720提供了4線(SCLK,MOSI,MISO,SS)SPI接口與單片機連接,由于二者的SPI時序不易協(xié)調(diào),系統(tǒng)采用了單片機的P1.1,P1.2,P1.3,P1.4口模擬SPI時序?qū)SD1720進行控制。具體操作時,器件初始化完成后,發(fā)送PLAY指令,器件從當前信息段的開始地址進行語音回放,當
遇到該段語音的結(jié)束標志EOM時,回放結(jié)束,讀取記錄指針和回放指針的位置(即查閱狀態(tài)寄存器SR0和SR1),這樣可以精確的知道每段語音的開始地址和結(jié)束地址。由于系統(tǒng)正常工作時,采用SPI模式,根據(jù)測量得到的溫度值,尋找到相應(yīng)的語音段入口,將語音信息讀出;在SPI模式下,該芯片的操作命令SETPLAY、SET_REC、SET_REASE有一個先入先出的緩存器,在相同類型的SET命令下,使得從一個存儲塊到另一個存儲塊之間可以實現(xiàn)無縫連接,使人聽起來感覺到輸出的溫度語音信號是連續(xù)的。圖3中S1是復位按鈕,S2是快進按鈕,S3是檫除按鈕,S6是直通模式選擇按鈕,S7進行音量調(diào)節(jié);以上開關(guān)按鈕都是低電平有效;R4是語音采樣頻率的選擇電阻,當其為80 kΩ時,語音錄制的采樣頻率為8 kHz;當不使用語音播報功能時,可以將SW開關(guān)斷開,同時語音播報的時問間隔通過單片機電路中的1個三位的撥碼開關(guān)選擇,可以設(shè)置
8個檔位,每個檔位的時間參數(shù)由程序控制。
1.2.4 顯示和電源模塊
采用3位LED數(shù)碼顯示,保留一位小數(shù),輸出方式采用動態(tài)掃描形式,選擇單片機的兩個端口經(jīng)過驅(qū)動器后作為LED的字段線和字位線,減少輸出的總電流;為了便攜式應(yīng)用,電源采用九伏電池供電,通過LM7805降壓為5 V供系統(tǒng)各模塊使用。布線和制作PCB板時,特別要注意地線的處理,要求數(shù)字地、模擬地、以及揚聲器的地都要單獨走線,最后與電源地連接。
[!--empirenews.page--]
1.3 系統(tǒng)軟件設(shè)計
系統(tǒng)的軟件流程如圖4所示。
系統(tǒng)初始化后,復位溫度傳感器,啟動溫度轉(zhuǎn)換,讀取溫度數(shù)據(jù),進行處理,當溫度處于快速變化過程中時,系統(tǒng)不停的進行溫度信號的采集和顯示,判斷語音播報的間隔時間是否來到,當滿足要求時,根據(jù)測得的當前溫度值,取出其十位、個位和小數(shù)位的值,然后查表得其相應(yīng)的語音信號入口地址,復位語音芯片,發(fā)上電指令并延時約25 ms,判斷是否已正常上電,正常上電后,要清除中斷標志,判斷器件是否已準備好接收下一條指令,當準備好后,發(fā)送第一段信息的放音指令,然后檢查狀態(tài)寄存器,判斷器件是否正常執(zhí)行剛發(fā)送的指令,正
常執(zhí)行后,又判斷器件是否已準備好接收下一條指令,只有等到器件已準備好后,才能向器件發(fā)送下一條指令,否則,就可能造成指令的丟失。程序考慮了器件內(nèi)部的FIFO緩沖器,使N段語音信號就像一段語音一樣進行播放,每段語音之間幾乎沒有死區(qū)時間間隔。當語音播報完成后,語音芯片失電,完成一次語音播報,程序回到系統(tǒng)的開始處,準備下一個溫度采集、處理、顯示和語音輸出過程,如此不斷循環(huán)往復。
2 結(jié)語
采用語音提示和數(shù)碼顯示的方式設(shè)計的數(shù)碼語音溫度計,精確度高、測溫速度快;應(yīng)用場合廣泛,既可測量體溫,也可測量食物、水等物質(zhì)的溫度,量程大;操作使用方便,不僅適合普通家庭也適合某些需要語音提示的工業(yè)現(xiàn)場生產(chǎn)應(yīng)用。