張江亞,李煥娜
(1河北科技學(xué)院 河北 保定 071000)(2保定理工學(xué)院 河北 保定 071000)
如今在人們的日常生活中,天然氣已經(jīng)廣泛使用,但當(dāng)天然氣由于安裝不當(dāng)或沒有完全燃燒時會有爆炸和火災(zāi)的危險(xiǎn)。同時居家生活的另一個危險(xiǎn)就是入室盜竊,盜竊是一種普遍發(fā)生的財(cái)產(chǎn)犯罪。因此,一種能應(yīng)用于居家生活的智能防火防盜報(bào)警系統(tǒng)就顯得十分必要[1]。
社會在不斷進(jìn)步,隨著人們的生活水平不斷提高,天然氣逐漸成為人們?nèi)粘I畹谋匦杵罚烊粴獾氖褂靡泊嬖谝欢ǖ奈kU(xiǎn)和隱患。入室盜竊也是威脅居家安全的一個重要因素。因此防火防盜報(bào)警設(shè)備開始被越來越多的人關(guān)注。本文主要進(jìn)行居家防火防盜系統(tǒng)的設(shè)計(jì),實(shí)現(xiàn)居家安全。
防火防盜報(bào)警系統(tǒng)是具有監(jiān)測環(huán)境溫度、煙霧濃度以及是否有人靠近,并兼?zhèn)鋱?bào)警功能的設(shè)備。該系統(tǒng)主要由單片機(jī)控制器、報(bào)警模塊、傳感器單元和LCD1602顯示模塊以及電源模塊等部分構(gòu)成。
STC89C52系列的單片機(jī)具有超強(qiáng)的抗干擾性能、高速、低功耗等優(yōu)點(diǎn),這也是其受到廣泛適應(yīng)的原因,該單片機(jī)的使用也使得產(chǎn)品更加輕便、更加小型化、功耗更低[2]。STC89C52內(nèi)部的功能區(qū)分為:4個8位的并行端口、高速的A/D轉(zhuǎn)換、雙數(shù)據(jù)指針、單片機(jī)專用的復(fù)位電路、EEPROM數(shù)據(jù)存儲器、電子看門狗、1280字節(jié)的SRAM、高速閃存以及內(nèi)置的ISP、定時器T0和T1[3]。本系統(tǒng)的時鐘電路和復(fù)位電路參照51單片機(jī)的通用電路。
本設(shè)計(jì)對環(huán)境要求低,因此選用普通型DS18B20。DS18B20溫度傳感器精度較高,不需要外接元件即可工作,它可以測量的溫度為-55~125 ℃,精確度為±0.5 ℃[4]。該傳感器可以用3~5.5 V的電源供電,在主動溫度轉(zhuǎn)換時僅消耗1 mA。DS18B20的最大優(yōu)點(diǎn)之一是多個DS18B20可以一起工作,只需要把他們連在同一條總線上。由于每個DS18B20在工廠中都有一個唯一的64位串行代碼,因此更容易將它們區(qū)分開來。
傳感器采用單線通信方式工作。它只需要連接到微控制器的數(shù)據(jù)管腳和一個上拉電阻,其他兩個管腳用于供電。當(dāng)總線不使用時,上拉電阻用于保持線路處于高狀態(tài)[5]。傳感器測得的溫度值將存儲在傳感器內(nèi)部的2字節(jié)寄存器中。通過發(fā)送一個數(shù)據(jù)序列,使用單線方法可以讀取這些數(shù)據(jù)。有兩種類型的命令被發(fā)送來讀取值,一種是ROM命令,另一種是function命令。每個ROM存儲器的地址值和順序在數(shù)據(jù)表中給出。
MQ-2氣體傳感器可以檢測或測量液化石油氣、酒精、丙烷、氫氣、一氧化碳甚至甲烷等氣體[6]。這個傳感器的模塊版本帶有一個數(shù)字引腳,使得MQ-2氣體傳感器即使在沒有微控制器的情況下也能工作,若只想檢測一種特定的氣體時,它是較好的選擇。當(dāng)涉及測量ppm氣體時,模擬引腳必須使用,模擬引腳也用TTL驅(qū)動,工作電壓為5 V,因此可以與最常見的微控制器一起使用[7]。
MQ-2的使用非常簡單,可以使用模擬引腳來達(dá)到同樣的效果。使用微控制器讀取模擬值(0~5 V),該值將與傳感器檢測到的氣體濃度成正比。要想準(zhǔn)確測量氣體濃度就要求硬件電路中存在模數(shù)轉(zhuǎn)換模塊,以實(shí)現(xiàn)電信號到數(shù)字信號的轉(zhuǎn)換。本設(shè)計(jì)中使用PCF8591模數(shù)轉(zhuǎn)換芯片,該芯片價格低,且轉(zhuǎn)換速度快,可很好滿足設(shè)計(jì)要求。
人機(jī)交互部分包括了顯示和按鍵兩大部分。顯示部分將主控單片機(jī)處理的數(shù)據(jù)通過顯示模塊顯示出來,以便使用者了解該系統(tǒng)的工作狀態(tài)與當(dāng)前數(shù)據(jù)[8]。按鍵部分的功能是對該系統(tǒng)進(jìn)行參數(shù)的設(shè)置,以保證使用人員可在現(xiàn)場對系統(tǒng)進(jìn)行調(diào)試。
(1)作為人機(jī)交互的顯示模塊包括發(fā)光管、數(shù)碼管、液晶顯示器。本設(shè)計(jì)顯示采用字符型液晶顯示器,即LCD1602模塊。LCD1602是一種顯示器,它能用于顯示各種字符,如符號、數(shù)字、字母。
(2)可作為使用者設(shè)置參數(shù)、現(xiàn)場調(diào)整數(shù)據(jù)的按鍵模塊。
本系統(tǒng)選擇外部供電和USB供電并用的方式,這種方式可以使得系統(tǒng)安裝使用更加方便,直接通過5 V適配器就可以提供穩(wěn)定的工作電源,同時也提供了備選方案,給不同用戶提供了不同的選擇。
本設(shè)計(jì)包括溫度采集、氣體濃度采集、人體紅外監(jiān)測、LCD顯示、案件復(fù)位程序以及報(bào)警程序。
DS18B20有兩種類型的存儲器,一個是SRAM,另一個是EEPROM[9]。SRAM是一種易失性存儲器,它只有在一定條件下才有數(shù)據(jù),EEPROM存儲數(shù)據(jù)穩(wěn)定且EEPROM 也有高低報(bào)警觸發(fā),方便設(shè)置報(bào)警溫度上下限。
部分程序如下:Init_DS18B20(void)

該部分的設(shè)計(jì)重點(diǎn)在模數(shù)轉(zhuǎn)換程序,該程序通過對PCF8591進(jìn)行讀寫數(shù)據(jù),完成電信號到數(shù)字信號的轉(zhuǎn)變,數(shù)據(jù)均顯示在液晶顯示屏上。部分程序如下:



系統(tǒng)軟件調(diào)試中出現(xiàn)以下問題。
(1)向LCD1602發(fā)送清除命令時,LCD1602無法成功擦除屏幕。解決方法:參見LCD1602用戶手冊,清除屏幕的命令與程序中實(shí)際編寫的命令完全相同,但是顯示屏可以顯示內(nèi)容,表明程序已正確發(fā)送命令,但并沒有清屏。添加40 ms的延遲時間后,將其下載回程序中,發(fā)現(xiàn)執(zhí)行了屏幕清除命令。LCD1602屏幕清除需要1.64 ms的運(yùn)行時間,而最終程序使用4 ms的延遲時間。
(2)按鈕無法正常工作,按下時無響應(yīng)。解決方法:通過矩陣鍵盤的示意圖分析和微動開關(guān)的實(shí)際使用,使用了微動開關(guān)的4個引腳,其中兩對引腳在內(nèi)部連接,對應(yīng)于兩個有用的引腳,另外兩個引腳連接到這兩個引腳。再次焊接矩陣鍵盤后,單片機(jī)即可正常獲取按鈕信息。
本文設(shè)計(jì)完成了基于單片機(jī)的防火防盜報(bào)警系統(tǒng),可以實(shí)時監(jiān)測室內(nèi)溫度和天然氣濃度,當(dāng)數(shù)值超出設(shè)定安全值后,會立刻發(fā)出警報(bào);當(dāng)有人進(jìn)入室內(nèi),就會使得紅外傳感器接收到信號,迅速發(fā)出警報(bào),提示有人入侵。簡單來說,在此次的系統(tǒng)設(shè)計(jì)中,采用的均是最為穩(wěn)定且最簡單的軟硬件,也使得附加的人機(jī)交互系統(tǒng)更加簡單、更容易調(diào)試。