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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > PIC單片機降低電池供電系統(tǒng)功耗問題解析方案

          PIC單片機降低電池供電系統(tǒng)功耗問題解析方案

          作者: 時間:2012-06-27 來源:網絡 收藏

          (2)語音電路

          語音電路如圖5所示。它以ISD4000語音芯片為核心,主要是存儲報警語音,輸出經功率放大后傳送到電話線上。

          (3)MT8880與的接口電路

          MT8880是Mitel公司的DTMF收發(fā)器,具有功能強、低、工作穩(wěn)定、可靠等性高優(yōu)點,因此在DTMF信號調制的場合得到了廣泛的應用。MT8880與的接口電路如圖6所示。

          ①MT8880與的接口電路。D0~D3為4根數(shù)據線,MT8880對經過前置處理的DTMF信號進行解調,將解調得的信號存入片內寄存器中,并通過IRQ向單片機發(fā)出中斷信號。單片機相應中斷請求后,在R、W、RS0、RD的控制下,通過D0~D3讀出解調出的數(shù)據。

          ②DTMF信號放大電路。當微處理器將要發(fā)送的DTMF數(shù)據寫入MT8880相應的寄存器時,MT8880從TONE引腳發(fā)出DTMF信號,信號經過放大電路放大后,送往變壓器進行電壓變化。

          3 程序設計

          程序在運行時:①為電器控制器,若是遠程電話機對控制器進行操作,是根據電話的振鈴聲數(shù)來判斷;若本地電話機對控制器進行操作,是根據本地電話機的摘機情況來判斷。②為報警器,報警探頭隨時檢測到警情并發(fā)出信號給控制器,而控制器則是根據用戶的設置情況,是處于警備與否來判斷是否拔出報警電話。圖7是程序流程圖。

          下面主要介紹初始化程序、MT8880設置子程序和DTMF信號發(fā)送以及接收子程序。

          ;初始化寄存器

          F0 EQU 0H

          RTCC EQU 01H

          PC EQU 02H

          STATUS EQU 03H

          FSR EQU 04H

          RA EQU 05H

          RB EQU 06H

          RC EQU 07H

          RD EQU 08H

          RE EQU 09H

          TRISA EQU 85H

          TRISB EQU 86H

          TRISC EQU 87H

          TRISD EQU 88H

          TRISE EQU 89H

          DAIFS EQU 0X50;待發(fā)送的數(shù)據放在50開始的區(qū)域

          RECE EQU 0X21

          SEND EQU 0X22

          DAIJS EQU 0X40 ;數(shù)據暫存在從40H開始的區(qū)域

          ;MT8880設置子程序

          ;置MT8880為DTMF接收狀態(tài)



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();