基于STC89C52單片機的火災(zāi)語音報警器的設(shè)計與實現(xiàn)
摘要:該系統(tǒng)以STC89C52單片機作為報警器的核心控制器,用溫度傳感器DS18B20和煙霧傳感器MQ-2分別耐環(huán)境進行溫度和煙霧的數(shù)據(jù)采集,并將采集的數(shù)據(jù)傳送給單片機,單片機對采集數(shù)據(jù)進行取樣報警。本系統(tǒng)具有體積小、成本低、操作簡單的特點。
隨著電子產(chǎn)品在人類生活中的使用越來越廣泛,現(xiàn)代建筑的不斷增加,火災(zāi)隱患也隨之增加。為了避免火災(zāi)以及減少火災(zāi)給我們造成的損失,我們必須按照“隱患險于明火,防患勝于救災(zāi),責(zé)任重于泰山”的概念設(shè)計和完善火災(zāi)自動報警系統(tǒng),將火災(zāi)消滅在萌芽狀態(tài),最大限度地減少社會財富的損失。
因此,我們運用STC89C52單片機作為報警器的核心控制器,選用DS18B20溫度傳感器對環(huán)境溫度進行檢測,選用MQ-2煙霧傳感器對煙霧信息進行檢測,設(shè)計出了能及時發(fā)現(xiàn)火災(zāi)隱患并報警的報警設(shè)備,在現(xiàn)代智能建筑中起著極其重要的安全保障作用。
1 系統(tǒng)整體設(shè)計
該系統(tǒng)將STC89C52單片機作為主控芯片,DS18B20溫度傳感器對溫度進行采集,MQ-2煙霧傳感器對煙霧信息進行采集,并將采集到的煙霧濃度信息轉(zhuǎn)化為模擬電信號,通過電壓比較器將模擬信號轉(zhuǎn)換成單片機可識別的數(shù)字信號后送入單片機,然后單片機對溫度傳感器和煙霧傳感器采集到的信號進行處理,并對處理后的數(shù)據(jù)進行分析,使語音芯片做出相應(yīng)的報警。
系統(tǒng)結(jié)構(gòu)如圖1所示。
2 系統(tǒng)硬件設(shè)計
2.1 單片機的選型
在火災(zāi)報警器的設(shè)計中,單片機是其核心部件。它一方面要接收來自傳感器送來的溫度、煙霧的信號,另一方面要對這兩種信號分別進行分析處理,以控制語音報警電路進行相應(yīng)動作。本系統(tǒng)要求單片機具備較快的運算速度,抗干擾能力強和低功耗的特點。根據(jù)多方面的比較,選用由宏晶科技公司生產(chǎn)的STC89C52單片機作為控制系統(tǒng)的核心。STC 89C52是一種低功耗、高性能的CMOS 8位微控制器,STC89C52使用經(jīng)典的MCS-51內(nèi)核,并在其基礎(chǔ)上做了很多改進,指令代碼完全兼容8051單片機,無需專用編程器或?qū)S梅抡嫫?,可直接使用串口下載。相比傳統(tǒng)的51單片機,89C52綜合性能更高。其主要參數(shù)為:時鐘頻率最高可達80 MHz,內(nèi)置8 kB的flash,512B的RAM和2KB的EEPROM;3個16 bit定時器/計數(shù)器;一個6向量二級中斷結(jié)構(gòu)。
2.2 溫度采集模塊電路的設(shè)計
本系統(tǒng)選用DS18B20數(shù)字式溫度傳感器,它可通過編程方式實現(xiàn)9—12位的數(shù)字溫度直讀:溫度范圍為-55~125℃,最高12位分辨率,在 -10℃~85℃時,精度可達0.5℃,可設(shè)置超限溫度報警;現(xiàn)場溫度直接以“一線總線”的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。本系統(tǒng)溫度采集電路如圖2所示。將DS18B20溫度傳感器的單總線DQ接在STC 89C52單片機的P3.7端口上,通過STC89C52單片機對DS18B20的讀寫操作,從而實現(xiàn)單片機對數(shù)據(jù)的存儲和讀取的處理。
2.3 煙霧報警模塊設(shè)計
煙霧報警模塊的設(shè)計選用MQ-2煙霧傳感器,MQ-2煙霧傳感器不僅具有探測范圍廣、高靈敏度、快速響應(yīng)恢復(fù)、驅(qū)動電路簡單、壽命長等優(yōu)點,還能檢測火災(zāi),檢測燃氣泄露,是一個可檢測多種可燃性氣體,應(yīng)用廣泛,成本低的傳感器。并且MQ-2煙霧傳感器所使用的氣敏材料是在潔凈的空氣中電導(dǎo)率較低的二氧化錫(SnO2)。當傳感器所處環(huán)境中存在可燃氣體時,傳感器的電導(dǎo)率隨空氣中可燃氣體濃度的增加而增大。使用簡單的電路即可將電導(dǎo)率的變化轉(zhuǎn)換為與該氣體濃度相對應(yīng)的輸出信號,本設(shè)計中MQ-2傳感器的4腳輸出隨煙霧濃度變化的直流信號,被加到比較器LM393的2腳,R6與VCC構(gòu)成比較器的門檻電壓。當煙霧濃度較高輸出電壓高于門檻電壓時,比較器輸出低電平,此時LED亮報警;當濃度降低傳感器的輸出電壓低于門檻電壓時,比較器翻轉(zhuǎn)輸出高電平,LED 熄滅。調(diào)節(jié)R6,可以調(diào)節(jié)比較器的門檻電壓,從而調(diào)節(jié)報警輸出的靈敏度。煙霧報警模塊電路如圖3所示。
2.4 語音報警電路
由STC89C52單片機P1.2,P1.3,P3.0分別控制煙霧、溫度、煙霧與溫度報警。WT588D采用一線串口模式,當溫度過高超過警戒溫度時P1.2引腳電平拉低,觸發(fā)語音WT58 8D芯片發(fā)出“溫度過高請注意檢查”聲音。同理當可燃性氣體濃度超過限定值時,將P1.3置為低電平,WT588D語音芯片發(fā)生報警。語音報警電路如圖4所示。
3 系統(tǒng)軟件設(shè)計
3.1 系統(tǒng)軟件設(shè)計流程
火災(zāi)報警系統(tǒng)控制器上采用STC89C52作為主控芯片,其主要功能包括:控制I/O端口、邏輯判斷處理、驅(qū)動外部電路、語音報警等功能,此程序是一個無限循環(huán)體,其流程是:首先在上電之后系統(tǒng)的各部分包括單片機輸出輸入端口的設(shè)置、數(shù)據(jù)存儲電路、外圍驅(qū)動電路等完成初始化,數(shù)碼管顯示當前環(huán)境溫度,接下來執(zhí)行火災(zāi)報警系統(tǒng)和煙霧報警系統(tǒng)的數(shù)據(jù)采集程序、火災(zāi)溫度判斷、報警判斷。系統(tǒng)初始化后,STC89C52的P1為高電平,P1.2、P1.3、 P3.0為高電平,語音芯片不報警。
程序初始化這部分主要實現(xiàn)的功能包括各種I/O輸入輸出狀態(tài)的設(shè)定、寄存器初始化、中斷、溫度煙霧數(shù)據(jù)采集程序、火災(zāi)判斷與報警程序等。系統(tǒng)程序流程圖如圖5所示。
3.2 數(shù)據(jù)采集程序設(shè)計
數(shù)據(jù)采集是火災(zāi)報警系統(tǒng)中的重要環(huán)節(jié)。為了降低誤報率,系統(tǒng)設(shè)計時對溫度煙霧采用了循環(huán)采集、循環(huán)判斷的方法。每次采集溫度煙霧數(shù)據(jù)后,將數(shù)據(jù)存入單片機的寄存器,然后在火災(zāi)判斷程序中,將采集的數(shù)據(jù)與設(shè)定的閾值進行比較,判斷現(xiàn)場是否發(fā)生火災(zāi)。
具體流程是:系統(tǒng)和程序初始化后,驅(qū)動DS18B20對溫度信號采集,單片機接受轉(zhuǎn)換好的數(shù)據(jù),存入寄存器,由INT1中斷服務(wù)程序完成;系統(tǒng)延時10 ms,轉(zhuǎn)換完成后存入寄存器。系統(tǒng)延時50 ms,進行溫度煙霧信號采集,將轉(zhuǎn)換好的數(shù)據(jù)存入寄存器中。等待數(shù)據(jù)信息采集,通過中斷服務(wù)程序讀取轉(zhuǎn)換得到的數(shù)據(jù),當溫度過高或煙霧濃度超標時,進行語音報警。
由于設(shè)計采用的是模塊化設(shè)計,系統(tǒng)實現(xiàn)報警功能是通過調(diào)用子程序?qū)崿F(xiàn)的。在數(shù)據(jù)采集子程序中,一次溫度煙霧信號采集延時10 ms。當系統(tǒng)采集溫度煙霧信號后,轉(zhuǎn)換好的數(shù)據(jù)存入單片機的寄存器中,系統(tǒng)再調(diào)用火災(zāi)判斷子程序。
4 系統(tǒng)實物
本系統(tǒng)實物如圖6所示。
5 結(jié)論
該系統(tǒng)以STC89C52單片機為核心的火災(zāi)報警器可以實現(xiàn)語音報警、溫度顯示、報警限設(shè)置、延時報警等功能,是一種結(jié)構(gòu)簡單、性能穩(wěn)定、使用方便、價格低廉、智能化的火災(zāi)報警器,具有一定的實用價值。