<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > AT89C51單片機智能語音撥號報警系統(tǒng)

          AT89C51單片機智能語音撥號報警系統(tǒng)

          作者: 時間:2012-11-03 來源:網(wǎng)絡(luò) 收藏

          AT89C51單片機智能語音撥號報警系統(tǒng)
          語音分段方法: 地址輸入端A0~A7 由低位向高位排列, 每位地址代表125ms 的尋址, 160 個地址覆蓋20s 的語音范圍( 160×0.125s=20s ) , 錄音及放音功能均從設(shè)定的起始地址開始, 錄音結(jié)束由停止操作決定, 芯片內(nèi)部在該段的結(jié)束位置自動插入結(jié)束標志( EOM) ; 而放音時遇到EOM 標志即自動停止放音。在本設(shè)計中, 因需要四段報警提示語音, 因此在設(shè)計時均將每段語音設(shè)為5s,其起始地址分別為00000000B、00101000B、01010000B、01111000B, 由這四段起始地址可以看出A7、A2、A1 和A0 均為0, 因此將其接地。

          3 軟件設(shè)計
          3.1 信號音的識別方法
          系統(tǒng)在巡檢到警情信號后就模擬摘機。為了識別模擬摘機后電話系統(tǒng)是否處于可撥號的狀態(tài)、電話撥完號碼后電話是否接通以及對方是否摘機接聽電話等幾種狀態(tài), 系統(tǒng)必須進行信號音的識別。為了識別信號音, 必須知道各種信號音的特性。各種信號音特性如下:

          • 撥號音: 450±25Hz 連續(xù)蜂音;
          • 忙音: 0.35s 斷0.35s 通的450±25Hz 蜂音, 音斷周期為0.7s ;
          • 回鈴音: 4s 斷1s 通的450±25Hz 蜂音, 音斷周期為5s。

          這些電話信號均是模擬信號, 然而是無法識別模擬信號的, 故必須先將模擬信號轉(zhuǎn)換為脈沖信號,然后再根據(jù)脈沖信號的脈沖個數(shù)進行識別。這些電話音頻信號的脈沖個數(shù)可用下式計算:
          N=tm/T
          式中, N 為每音段周期的脈沖個數(shù); T 為電話音頻信號的音頻周期, 單位為s ; tm 為信號音斷周期的通時間, 單位為s。
          在實際使用中, 主要需要識別撥號音、忙音和回鈴音。分析這三種信號的特性可以看出, 在一定的計數(shù)時間內(nèi), 其脈沖個數(shù)是不一樣的。在設(shè)計之初, 考慮采用5s 為一個計數(shù)單位來判斷這三種信號音, 但通過實際的調(diào)試發(fā)現(xiàn): 當對方摘機時, 要等待一段時間才能聽到報警語音。通過反復(fù)研究及調(diào)試, 最終采用2s 計數(shù)判斷撥號音, 采用2.8s ( 即4 個忙音周期) 判斷是否為忙音, 若否則代表電話撥通了。隨后采用1s 為一個計數(shù)單元, 采用計五次后的累加脈沖數(shù)來判斷對方是否接聽電話。若有, 則放相應(yīng)的報警提示語音; 否則再計1s , 然后計算最后5s 內(nèi)的脈沖數(shù), 再次判斷對方是否摘機。如此反復(fù), 直到超過等待時間仍沒有人接聽電話就掛機。由于干擾和一些其他因素的存在, 難免會有誤判的現(xiàn)象而導致漏報警情。因此采取在所有預(yù)先設(shè)定的電話至少有一個撥通就只撥一遍, 如果全部沒撥通或者沒人接聽則把所有預(yù)存電話重撥一邊, 這樣漏報報警的概率就非常低以致可忽略不計。

          3.2 軟件設(shè)置
          自動撥號程序的流程圖如圖5 所示。下面是自動撥號的部分程序 。
          AUTOCALL: CLR P1.2 ;模擬摘機
          MOV A,#5DH ;允許信號音輸出, 下一次為寫控制寄存器CRB
          MOVX @DPTR,A ;寫控制寄存器CRA
          MOV A,#51H ;MT8880 置為突發(fā)模式
          MOVX @DPTR,A ;寫控制寄存器CRB
          MOV A,#56H ;MT8880 置為呼叫模式
          MOVX @DPTR,A ;寫控制寄存器CRA
          LCALL DELAY
          LCALL AUTOY ;調(diào)用信號音判別子程序, 看是否有撥號音
          MOV A,#5DH ;允許信號音輸出, 下一次為寫控制寄存器CRB
          MOVX @DPTR,A ;寫控制寄存器CRA
          MOV A,#50H ;MT8880 置為突發(fā)模式
          MOVX @DPTR,A ;寫控制寄存器CRB
          …… ;撥電話號碼
          MOV A,#56H ;MT8880 置為呼叫模式
          MOVX @DPTR,A ;寫控制寄存器CRA
          LCALL AUTOY ;調(diào)用信號音判別子程序, 看是否有回鈴音
          LCALL AUTOY ;調(diào)用信號音判別子程序, 看對方是否摘機
          SETB P1.2 ;模擬掛機

          3.3 編程過程中應(yīng)注意的幾點
          首先, MT8880 的DTMF 產(chǎn)生器是發(fā)送部分的主體,它產(chǎn)生全部十六種失真小、精度高的標準雙音頻信號,這些頻率均由3.579545MHz 晶體振蕩器分頻產(chǎn)生。電路由數(shù)字頻率合成器、行/ 列可編程分頻器、開關(guān)電容式D/A變換器組成。行和列單音正弦波經(jīng)混合、濾波后產(chǎn)生雙音頻信號。通過DTMF 編解碼表把編碼數(shù)據(jù)寫入MT8880 發(fā)送寄存器產(chǎn)生單獨的fLOW 和fHIGH, 一旦編碼錯誤就會導致?lián)芴柺? 故在編程過程中要十分小心。其編解碼表見MT8880 的Datasheet 。
          其次, 在摘機后應(yīng)延時一段時間再去判斷摘機音,因為本系統(tǒng)采用機械繼電器實現(xiàn)自動摘機, 故應(yīng)考慮繼電器的響應(yīng)時間。
          最后, 一個電話號碼撥完后不能立即撥下一個電話號碼, 應(yīng)保證掛機的最短有效時間以確保前一電話號碼確實已掛機, 否則撥下一個電話號碼時會沒有撥號音。
          本系統(tǒng)配置靈活, 可以有效、快速地應(yīng)用于對安防要求比較高的場合。例如: 對不需要監(jiān)視視頻丟失的場合, 可以不配置視頻監(jiān)測盒; 而對智能小區(qū)、醫(yī)院等, 可以通過RS485 總線將一臺DVR ( Digital Video Recorder )主機、一套報警監(jiān)控軟件和多臺報警主機組合到一起,構(gòu)成一個網(wǎng)絡(luò)型智能監(jiān)控系統(tǒng)。
          具有價格低廉、操作簡便、通訊速度快、可靠性高和誤報率低的優(yōu)點。


          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();