無線煙火遠程報警系統(tǒng)設(shè)計
3 軟件設(shè)計
系統(tǒng)軟件的功能是實時檢測報警器工作狀態(tài),發(fā)生火災(zāi)時,控制GSM模塊發(fā)送報警短信息到屋主手機。程序設(shè)計可分為三個部分:啟動部分、監(jiān)控部分和發(fā)送部分,主程序流程圖如圖3所示。本文引用地址:http://www.ex-cimer.com/article/160781.htm
3.1 啟動部分
啟動部分的程序主要負責(zé)初始化單片機,配置A/D模塊和啟動GSM模塊。系統(tǒng)上電后,必須對微控制器的定時器、端口、中斷和串口等進行初始化。A/D模塊TLC1549是10位模/數(shù)轉(zhuǎn)換器,輸出為串行方式,以中斷的方式讀取采集到的數(shù)據(jù)。GSM模塊上電后,要進入工作狀態(tài),必須給IGT加一延時大于100 ms的低脈沖,電平下降持續(xù)時間不可超過1 ms。啟動后,IGT應(yīng)保持3.3 V高電平,因此,通過STC89C51單片機的P1.0口輸出所需電平,控制TC35工作。
3.2 監(jiān)控部分
監(jiān)控部分的程序主要實現(xiàn)的功能是通過A/D采樣,檢測電流傳感器的輸出電壓有沒有發(fā)生變化,進而決定是否觸發(fā)發(fā)送程序。
首先是調(diào)用A/D采樣程序,通過控制A/D芯片TLC1549的CLK,DATA和CS的時序,讀取10位A/D轉(zhuǎn)換的數(shù)據(jù)。通過試驗發(fā)現(xiàn),正常情況下,電流傳感器輸出的電壓幾乎為零;而在煙火報警器工作時,輸出電壓為4 V以上。因此在程序中,設(shè)置了一個A/D采樣值的閾值,當A/D采樣值超過這個閾值,則判定發(fā)生火災(zāi)。為了防止出現(xiàn)假報警的情況,程序中設(shè)置了一個計數(shù)器,只有當檢查到超過閾值的次數(shù)大于1 0次時,才最終判定發(fā)生了火災(zāi)。
3.3 短信息發(fā)送部分
監(jiān)控程序檢測出有火災(zāi)發(fā)生時,即調(diào)用發(fā)送程序發(fā)送短信到目標手機。本系統(tǒng)所用到的短消息規(guī)范為GSM07.05,發(fā)送模式有Text模式和PDU模式,Text模式的編碼規(guī)范比較簡單,只能發(fā)送英文,為了發(fā)送中文,這里選擇PDU模式。PDU串是一串ASCII碼,由數(shù)字0~9和字母A~F組成,它們是8位字節(jié)的十六進制數(shù)。PDU信息不僅包含需要發(fā)送的消息本身,還包含很多其他的信息。PDU模式信息編碼有一定的規(guī)則,需要編碼三個部分:短信息中心號碼、目標手機號碼和短信息內(nèi)容,最后要將這三部分進行組合,并加入特定的字符串即可。發(fā)送中文短信息使用的AT命令。主要有:AT+CMGF=0,AT+CMGS=短信字節(jié)數(shù),和待發(fā)送的PDU編碼。
為了判斷短信是否發(fā)送成功,程序中在短信發(fā)送后,檢測TC35模塊同傳的信息,如果接收到“OK”,則表示短信發(fā)送成功,如果未接收到,則再次發(fā)送短信。同時,為了防止在一次火災(zāi)中多次發(fā)送短信息的情況,程序中在成功發(fā)送短信息后,將延時一段時間再啟動監(jiān)控程序。
4 結(jié)語
本報警系統(tǒng)充分利用了51單片機價格優(yōu)廉、控制性強的特點,采用直流電流傳感器檢測煙火報警器的工作狀態(tài),不需改動市面上所有普通報警器電路和結(jié)構(gòu),只需外加GSM模塊即可實現(xiàn)遠程報警功能。
通過實際反復(fù)測試,結(jié)果表明該系統(tǒng)具有準確可靠、性能良好等優(yōu)點,本報警系統(tǒng)適用于家庭或公共場合的火災(zāi)監(jiān)測和適時遠程報警,能在很大程度上減少和避免因無法及時了解火災(zāi)發(fā)生而帶來的損失,具有較強的應(yīng)用價值。
評論