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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 51單片機(jī)在無線接入固定終端中實現(xiàn)內(nèi)部通話的運用

          51單片機(jī)在無線接入固定終端中實現(xiàn)內(nèi)部通話的運用

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

            本系統(tǒng)通過8255工作在0方式下的PB0PB7PA6PA78個內(nèi)線用戶和2個外線用戶臺的端口10OFHK,低電平有效)。這些端口每10ms掃描一次,一旦發(fā)現(xiàn)有用戶摘機(jī),就通過MT8816給用戶發(fā)送撥號音,同時搜索空DTMF,準(zhǔn)備接收撥號。用戶撥寫號碼后,系統(tǒng)就判斷是哪個用戶,并接通相應(yīng)的用戶線,同時釋放DTMF、送振鈴信號給用戶電路,還要送回鈴音給主叫用戶。振鈴8次后,如用戶未來摘機(jī),就切斷該回路線,以釋放資源供其他呼叫使用。通話期間,有一方掛機(jī),不切斷回路,并向另一方送忙音。DTMF收號結(jié)束掃描采用10ms中斷查詢方式。8255PA3PA5通過74LS1388個內(nèi)線用戶的端口19RC)相連可傳輸振鈴信號。PA0PA2通過74LS1383-8線譯碼器)和8個用戶端(MT88500)的端口15相連,可實現(xiàn)靜音功能。MH8850016管腳(共八個)和MT8816(模擬8x16空分交換芯片)的8個輸入端Yi(i=07)相連。8051P1.0P1.3MT8870DC(雙音多頻譯碼器)的Q14相連。P1.4P1.6分別輸出500Hz撥號音、0.5s0.5s通的忙音、1s4s通回鈴音等。P3.5P3.5分別接MT8816DATA38腳)、STROBE18腳)、CS36腳)。P0.0P0.6分別接MT8816的六個地址線。P3.0P3.4分別接5DTMFTSD端。MT8816Y0Y45DTMF的輸入端以接收撥號信號。Y5Y78051P1.4P1.6。Y89接兩個外線用戶電路(MH88500TIPTING端)。MT8816的其余端口用來接通內(nèi)外線,這樣還有Y15Y16兩個管腳空閑不用,該系統(tǒng)中的主要芯片MT8816,MH88500,MT8870DC均為MITEL公司的產(chǎn)品。

            圖3所示為MH88500的主要管腳連接圖。

            4 軟件設(shè)計

            本用戶臺程序主要由后臺程序和前臺程序組成。前臺程序為中斷程序(見圖4、圖5),主要完成收集撥號和用戶環(huán)路掃描。圖6所示為后臺程序,主要完成每100ms8個用戶進(jìn)行一次掃描,并對用戶摘、掛機(jī)進(jìn)行識別及資源分配。

            其實,主程序就是后臺程序,而前臺程序只是一個定時中斷程序,一般處理需要緊急處理的事件。因而系統(tǒng)實際上一直在運行后臺程序。

            5 結(jié)束語

            本系統(tǒng)已用于雙音多頻電話系統(tǒng),經(jīng)使用證明,效果良好,用8255的閑置端口還可擴(kuò)容本系統(tǒng)。因而可方便地用于賓館、企業(yè)集團(tuán)的。


          上一頁 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); })();