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