一種基于單片機(jī)的遠(yuǎn)程自動(dòng)報(bào)警系統(tǒng)的設(shè)計(jì)方案解析
2.4語(yǔ)音電路
為了便于通信,系統(tǒng)在呼叫用戶成功時(shí)需啟動(dòng)播放事先錄制好的報(bào)警話音電路,也就是說(shuō),整個(gè)電路還需采用語(yǔ)音芯片來(lái)實(shí)現(xiàn)語(yǔ)音提示和報(bào)警功能。本系統(tǒng)中的語(yǔ)音電路采用美國(guó)ISD公司的優(yōu)質(zhì)集成語(yǔ)音芯片ISD1420來(lái)實(shí)現(xiàn)。
ISD1420芯片為單片語(yǔ)音記錄、回放一體化芯片,記錄時(shí)長(zhǎng)為20 s,可劃分為160小段,每段125 ms??蛇M(jìn)行連續(xù)錄音,也可進(jìn)行分段錄音。通過(guò)分段錄音和放音,可以發(fā)出不同的警報(bào)聲。當(dāng)REC引腳為低電平時(shí),實(shí)現(xiàn)錄音功能;PLAYE引腳或PLAYL引腳為低時(shí)可實(shí)現(xiàn)放音。
3系統(tǒng)的軟件設(shè)計(jì)與實(shí)現(xiàn)
3.1主程序
本程序初始地址為0000H,因此開機(jī)后自動(dòng)運(yùn)行,大部分工作都是在中斷后完成的,所以主程序比較短,僅對(duì)MT8888進(jìn)行初始化,同時(shí)寫IE使得中斷可以進(jìn)行,然后就處于等待狀態(tài),直至INT0收到信號(hào)。
3.2中斷子程序
系統(tǒng)功能的實(shí)現(xiàn)全部在中斷子程序中,因此中斷子程序是最重要的,它主要由撥號(hào)子程序、撥號(hào)音判斷子程序、語(yǔ)音播放子程序、延時(shí)子程序以及電話號(hào)碼表組成。
3.2.1撥號(hào)音檢測(cè)子程序
信號(hào)音的判斷方法是:對(duì)T0引腳信號(hào)計(jì)數(shù)5 s,若計(jì)數(shù)值位于2175~2357范圍內(nèi),則為撥號(hào)音;若計(jì)數(shù)值位于1041~1212范圍內(nèi),則為忙音;若計(jì)數(shù)值位于425~475范圍內(nèi),則為回鈴音。在實(shí)際編程中,考慮到計(jì)數(shù)的誤差以及程序的簡(jiǎn)化,可將范圍適當(dāng)放寬,但不能重疊。
3.2.2撥號(hào)子程序
撥號(hào)子程序是實(shí)現(xiàn)功能最主要的程序。在程序的執(zhí)行中,80C51通過(guò)MT8888將DTMF信號(hào)發(fā)送出去,即完成撥號(hào)功能,同時(shí)又應(yīng)用MT8888的DTMF接收功能判斷電話是否被接通。在撥號(hào)子程序中要用到其他幾個(gè)子程序,其總的結(jié)構(gòu)是兩個(gè)循環(huán),同一號(hào)碼不同位的選擇循環(huán)嵌在不同號(hào)碼的選擇中,整個(gè)循環(huán)只有一個(gè)出口,就是接通電話播送了警報(bào),否則就不停地循環(huán)撥號(hào),這與系統(tǒng)的功能也是相適應(yīng)的。
3.2.3其他程序
其他程序包括語(yǔ)音播放子程序、延時(shí)子程序以及電話號(hào)碼表,都較為簡(jiǎn)單。其中語(yǔ)音播放程序先向ISD1420的地址引腳寫入在中斷開始時(shí)收到的報(bào)警數(shù)據(jù),以此數(shù)據(jù)對(duì)應(yīng)相應(yīng)的報(bào)警錄音段(其對(duì)應(yīng)的形成應(yīng)該在錄音時(shí)人為設(shè)定,非本部分內(nèi)容),然后向PLAYL引腳先后寫入高、低電平,并維持低電平狀態(tài),ISD1420就自動(dòng)將音頻信號(hào)向電話接口播放。
4結(jié)束語(yǔ)
運(yùn)用單片機(jī)控制技術(shù)和雙向DTMF數(shù)據(jù)通信技術(shù),設(shè)計(jì)出基于公共電話網(wǎng)的遠(yuǎn)程自動(dòng)報(bào)警系統(tǒng),與其他一些自動(dòng)報(bào)警系統(tǒng)相比,具有多功能、低成本、易普及、高可靠性等突出優(yōu)點(diǎn),具有廣泛的市場(chǎng)發(fā)展前景。
評(píng)論