唐影
摘 要:文章對(duì)多點(diǎn)溫度檢測系統(tǒng)的設(shè)計(jì)進(jìn)行研究,多點(diǎn)溫度檢測系統(tǒng)為單片機(jī)控制7個(gè)溫度傳感器,讀取溫度后發(fā)送至液晶顯示屏進(jìn)行顯示,每個(gè)點(diǎn)都可以設(shè)置相應(yīng)的溫度值,當(dāng)任意一點(diǎn)的溫度超過該點(diǎn)的設(shè)定值時(shí),聲光報(bào)警和語音報(bào)警同時(shí)啟動(dòng),使報(bào)警系統(tǒng)更加精確、完美。
關(guān)鍵詞:溫度檢測;單片機(jī);語音報(bào)警
在倉庫、車間等密閉的較大空間或儲(chǔ)物場合,需要在空間內(nèi)設(shè)置多個(gè)溫度采集點(diǎn)來測溫。將單片機(jī)運(yùn)用到測溫領(lǐng)域上,可以解決很多棘手的問題,比如系統(tǒng)的滯后性和精確度等[1]。單片機(jī)技術(shù)在工藝、內(nèi)部結(jié)構(gòu)和電源電壓上都在不斷地發(fā)展[2]。
在整體的設(shè)計(jì)中,充分了解了單片機(jī)STC89C52RC的工作原理和它具體的管腳功能,以及MY1690-12P語音播報(bào)模塊的使用和DS18B20溫度傳感器的應(yīng)用,完成了有7個(gè)點(diǎn)的溫度檢測系統(tǒng)的設(shè)計(jì),并在protues上進(jìn)行系統(tǒng)的仿真,最后完成了實(shí)物的制作。
1 系統(tǒng)設(shè)計(jì)要求
多點(diǎn)溫度檢測系統(tǒng)實(shí)時(shí)監(jiān)控7個(gè)測溫點(diǎn),將各個(gè)點(diǎn)溫度顯示出來,并且在溫度超過設(shè)定值時(shí)使用聲光提示報(bào)警。系統(tǒng)滿足以下條件:(1)溫度測量范圍﹣50~99 ℃,采集精度1 ℃。(2)測量溫度點(diǎn)7個(gè)左右,并能顯示當(dāng)前各個(gè)點(diǎn)的溫度。(3)可以修改設(shè)定值。(4)無論哪個(gè)點(diǎn)超過了設(shè)定值溫度,聲光報(bào)警系統(tǒng)啟動(dòng),并語音提示是哪個(gè)測溫點(diǎn)超過設(shè)定值。
多點(diǎn)溫度檢測系統(tǒng)采用ST89C52單片機(jī)實(shí)現(xiàn)。一個(gè)單片機(jī)可以對(duì)多個(gè)DS18B20溫度傳感器進(jìn)行控制,運(yùn)用主從分布式思想,僅由一個(gè)單片機(jī)控制7個(gè)溫度傳感器進(jìn)行分工合作,從而實(shí)現(xiàn)7個(gè)溫度的檢測與控制。
2 系統(tǒng)的整體構(gòu)架
在設(shè)計(jì)過程中選取了STC89C52單片機(jī)作為系統(tǒng)的核心,它主要控制溫度傳感器、液晶顯示電路,蜂鳴器以及語音模塊這4個(gè)模塊。這4個(gè)模塊的電路必須要按照編譯好的程序來執(zhí)行各自的工作內(nèi)容。系統(tǒng)的整體構(gòu)架如圖1所示。各部分電路的功能以及作用如下。
(1)單片機(jī)電路:單片機(jī)電路是此次設(shè)計(jì)的重點(diǎn)部分,它相當(dāng)于一臺(tái)小型的計(jì)算機(jī),包括輸入輸出電路、定時(shí)、掃描、時(shí)間設(shè)置等電路。用戶先是給單片機(jī)輸入指令,然后由單片機(jī)完成相應(yīng)的操作程序后,通過外部的硬件電路,實(shí)現(xiàn)對(duì)下面各個(gè)模塊的控制。當(dāng)系統(tǒng)遇到故障或者給單片機(jī)的信號(hào)不準(zhǔn)確,系統(tǒng)就無法正常工作[3]。
(2)電源電路:系統(tǒng)外接+5 V電源供電。
(3)復(fù)位電路:復(fù)位電路對(duì)于單片機(jī)的穩(wěn)定性是很重要的。它可以使單片機(jī)內(nèi)部的各個(gè)參數(shù)保持初始的位置,避免因?yàn)橥獠恳蛩匾鸬某绦蛭蓙y。
(4)時(shí)鐘電路:為單片機(jī)提供工作時(shí)所需要的時(shí)鐘脈沖信號(hào),相當(dāng)于是單片機(jī)的心臟,供單片機(jī)作定時(shí)和計(jì)時(shí)使用。
(5)溫度傳感器電路:系統(tǒng)設(shè)計(jì)了7個(gè)溫度傳感器電路,通過它能測得溫度的數(shù)據(jù),是系統(tǒng)的核心電路。
(6)液晶顯示電路:選用LCD1602,它可以將實(shí)時(shí)測得的溫度值顯示出來。
(7)報(bào)警電路:用戶可以自己設(shè)置7個(gè)點(diǎn)中任意一個(gè)的溫度值,當(dāng)實(shí)際溫度值超過設(shè)定好的溫度值時(shí),控制芯片驅(qū)動(dòng)蜂鳴器報(bào)警,同時(shí)報(bào)警燈會(huì)亮,語音報(bào)警會(huì)提示具體哪個(gè)點(diǎn)超過了設(shè)定溫度值。
3 系統(tǒng)硬件設(shè)計(jì)
系統(tǒng)硬件部分主體上分為6個(gè)模塊:單片機(jī)最小系統(tǒng)模塊、溫度顯示模塊、溫度測量模塊、聲光報(bào)警模塊、語音警報(bào)模塊和按鍵模塊。
3.1 單片機(jī)最小系統(tǒng)模塊
最小系統(tǒng)就是單片機(jī)的驅(qū)動(dòng)電路。它主要包括供電系統(tǒng)、時(shí)鐘電路和復(fù)位電路3部分。復(fù)位電路連接到單片機(jī)的REST口,采用的是按鍵復(fù)位。時(shí)鐘電路連接到的是XTAL1和XTAL2口。最小系統(tǒng)的電源連接采用的是USB的插口,十分方便;外接晶振頻率為11.059 2 MHz。
3.2 溫度顯示模塊電路設(shè)計(jì)
溫度顯示模塊能夠直觀地了解具體的溫度值,系統(tǒng)滾動(dòng)顯示7個(gè)點(diǎn)的溫度。系統(tǒng)設(shè)置3個(gè)按鍵:設(shè)置鍵、增加鍵、減少鍵。按下設(shè)置鍵,顯示屏?xí)R上切換至設(shè)置界面并顯示第一個(gè)點(diǎn)的設(shè)定溫度,再按設(shè)置鍵切換至第2個(gè)點(diǎn)的設(shè)定溫度,以此類推。按增加、減少鍵就能設(shè)定每個(gè)點(diǎn)的溫度值。這里采用LCD1602顯示屏,它一共有16個(gè)引腳,按照每個(gè)引腳的具體功能連接到單片機(jī)上。
3.3 溫度測量模塊電路設(shè)計(jì)
供電電路選擇用一個(gè)外部電源向它的VDD引腳供電,這種方法的優(yōu)點(diǎn)是單總線上不再需要強(qiáng)上拉,總線不用在溫度轉(zhuǎn)換的時(shí)間段一直保持高電平。
多點(diǎn)溫度檢測系統(tǒng)采用STC89C52RC單片機(jī)的并口來同時(shí)控制7個(gè)溫度傳感器。該系統(tǒng)中7個(gè)溫度傳感器的接法大都一致,只有DQ腳分別鏈接到單片機(jī)的P1.0至P1.6口。
3.4 報(bào)警模塊的設(shè)計(jì)
多點(diǎn)溫度檢測系統(tǒng)采用聲音報(bào)警、閃爍和語音報(bào)警。用單片機(jī)與有源蜂鳴器以及一盞LED燈連接,只要哪個(gè)點(diǎn)的溫度超過了該點(diǎn)的預(yù)定溫度值,傳感器把信號(hào)送給單片機(jī)后,單片機(jī)立即通過置位P3.7口使得蜂鳴器發(fā)出報(bào)警聲音,同時(shí)置位P3.6口使得LED燈閃爍來報(bào)警提醒,聲音和亮光同時(shí)發(fā)出。
語音報(bào)警可以具體播報(bào)哪個(gè)點(diǎn)超過了預(yù)定溫度值的功能,采用MY1690-12P的MP3語音模塊來語音報(bào)警。此模塊一共有12個(gè)引腳,在實(shí)際的設(shè)計(jì)中只用到了其中的6個(gè)引腳。它上面的1號(hào)引腳和2號(hào)引腳(SPK1和SPK2)外接了一個(gè)無源喇叭來播報(bào)語音,5號(hào)引腳外接一個(gè)+5 V電源,12號(hào)引腳接地。它的7號(hào)引腳(RX)為UART異步串口數(shù)據(jù)輸入,連接到單片機(jī)的10號(hào)引腳(RXD腳),它的8號(hào)引腳(TX)為UART異步串口數(shù)據(jù)輸出,連接到單片機(jī)的11號(hào)引腳(TXD腳)。
3.5 按鍵模塊的設(shè)計(jì)
各個(gè)按鍵是相互獨(dú)立的,每個(gè)按鍵單獨(dú)占用一根I/O線,每根I/O線的按鍵工作狀態(tài)也是相互獨(dú)立的,不會(huì)影響到其他I/O線上的工作狀態(tài)。按鍵模塊一共使用了5個(gè)按鍵(S1,S2,S3,S4,S5)。其中S1為系統(tǒng)的復(fù)位按鍵,按鍵S2連接的是單片機(jī)的P2.3接口,為系統(tǒng)的設(shè)置鍵,通過按下它來進(jìn)入到設(shè)置界面對(duì)第一個(gè)點(diǎn)進(jìn)行設(shè)置,再按下它進(jìn)入第二個(gè)點(diǎn)的設(shè)置,以此類推。按鍵S3連接的是單片機(jī)的P2.2接口,為系統(tǒng)的增加鍵,在進(jìn)入設(shè)置界面后通過按下它來增加相應(yīng)點(diǎn)的溫度設(shè)定值。按鍵S4連接的是單片機(jī)的P2.1接口,為系統(tǒng)的減少鍵,在進(jìn)入設(shè)置界面后通過按下它來減少相應(yīng)點(diǎn)的溫度設(shè)定值。按鍵S5連接的是單片機(jī)的P2.0接口,為系統(tǒng)的備用鍵,沒有設(shè)置任何的功能。endprint
4 軟件程序設(shè)計(jì)及調(diào)試
系統(tǒng)主程序的執(zhí)行流程如圖2所示,主程序先對(duì)顯示屏和7個(gè)溫度傳感器進(jìn)行初始化,再重復(fù)調(diào)用溫度傳感器的寫命令和讀數(shù)據(jù)兩個(gè)模塊,由于溫度是模擬量,無法進(jìn)行傳輸,所以就需要把溫度轉(zhuǎn)換成數(shù)字量后送到液晶顯示屏進(jìn)行直觀地顯示。然后可以按下設(shè)置鍵一個(gè)一個(gè)地設(shè)置7個(gè)點(diǎn)的溫度值,當(dāng)任意一個(gè)點(diǎn)超過設(shè)定值時(shí),聲光報(bào)警模塊開始工作,同時(shí)語音播報(bào)具體哪個(gè)點(diǎn)超過了預(yù)定溫度。
5 仿真調(diào)試與實(shí)物效果
使用proteus仿真電路,當(dāng)任意一個(gè)點(diǎn)超過該點(diǎn)的溫度設(shè)計(jì)值時(shí),蜂鳴器馬上發(fā)出警報(bào),同時(shí)LED燈開始閃爍。系統(tǒng)運(yùn)行后的仿真電路如圖3所示。
通過USB接口給實(shí)物PCB板供電,剛通電時(shí)工作燈D1就會(huì)一直亮著直到斷電為止,并且會(huì)語音提示“開始檢測溫度傳感器,開始采集”。然后液晶顯示屏?xí)@示出從1—7的數(shù)字,并顯示“Welcome To Use”的英文。接著是系統(tǒng)的初始化,初始化完成后就開始循環(huán)顯示7個(gè)點(diǎn)的溫度值,當(dāng)7個(gè)點(diǎn)的溫度都沒超過設(shè)定值時(shí),板子右上角的蜂鳴器不會(huì)發(fā)出聲音,報(bào)警燈D3也不會(huì)亮。因?yàn)橹皇悄M的系統(tǒng),溫度傳感器的溫度不能輕易地去改變,于是就把設(shè)定溫度值調(diào)到當(dāng)前室溫以下,模擬報(bào)警。按下S5設(shè)置鍵,進(jìn)入到第一個(gè)點(diǎn)的設(shè)置界面,按下S3的減少鍵,把設(shè)定溫度值調(diào)到室溫以下,再按設(shè)置鍵到第2個(gè)點(diǎn)的設(shè)置界面,以此類推。退出設(shè)置界面后系統(tǒng)會(huì)馬上發(fā)出聲光報(bào)警,喇叭循環(huán)播報(bào)第一個(gè)點(diǎn)超過了設(shè)定溫度值。
6 結(jié)語
7個(gè)溫度傳感器能迅速且準(zhǔn)確測量出當(dāng)前的溫度,并且通過與單片機(jī)相連,把測到的溫度值經(jīng)過轉(zhuǎn)換處理后發(fā)送給單片機(jī),然后被送到液晶顯示屏進(jìn)行滾動(dòng)顯示。通過按下設(shè)置鍵可以進(jìn)入設(shè)置界面,再按增加、減少鍵來設(shè)置每個(gè)點(diǎn)的設(shè)定溫度值時(shí),當(dāng)傳感器測到的溫度超過該點(diǎn)的設(shè)定溫度值,聲光報(bào)警模塊立即啟動(dòng),語音系統(tǒng)自動(dòng)播報(bào)該點(diǎn)的警報(bào)。
從結(jié)果上來看,依據(jù)DS18B20單總線協(xié)議和單片機(jī)的應(yīng)用知識(shí),成功地實(shí)現(xiàn)了多點(diǎn)溫度檢測系統(tǒng)的功能,并且還開發(fā)了語音報(bào)警功能。在實(shí)際生活中,需要測量的點(diǎn)不可能僅有7個(gè),所以只要把溫度傳感器與單片機(jī)按照上面的方式連接好,然后再增加一些程序就能夠輕松實(shí)現(xiàn)更多點(diǎn)的測量檢測。本設(shè)計(jì)具有較強(qiáng)的實(shí)用性和拓展性。
[參考文獻(xiàn)]
[1]王峰,孟立凡.基于單片機(jī)的溫度調(diào)溫系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).[J]電子世界,2011(10):103-109.
[2]王秀霞.基于DS18B20的多路無線溫度檢測系統(tǒng)[J].湖南大學(xué)學(xué)報(bào)(自然科學(xué)版),2011(12):362-367.
[3]曹海平.基于單片機(jī)和DS18B20的分布式多點(diǎn)溫度檢測系統(tǒng)的設(shè)計(jì)[J].自動(dòng)化技術(shù)與應(yīng)用,2008(11):90-92.endprint