在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

    
    
    <address id="vxupu"><td id="vxupu"></td></address>

      <pre id="vxupu"><small id="vxupu"></small></pre>
      <dfn id="vxupu"></dfn>
      <div id="vxupu"><small id="vxupu"></small></div>
    1. 新聞中心

      EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于SoC的PSTN短消息終端系統(tǒng)的軟硬件設(shè)計

      基于SoC的PSTN短消息終端系統(tǒng)的軟硬件設(shè)計

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

      本文引用地址:http://www.biyoush.com/article/148301.htm

      sfr MODEM_CTRL = 0xf2;/* 擴(kuò)展,Modem控制,只寫 */

      sfr KEYPAD_VALUE = 0xf4;/* 擴(kuò)展,讀鍵盤值,只讀 */

      sfr FLASH_PAGE = 0xf5; /* 擴(kuò)展,頁面尋址,只寫 */

      sfr LCD_DATA = 0xf6; /* 擴(kuò)展,LCD數(shù)據(jù),讀寫 */

      sfr LCD_CTRL = 0xf7; /* 擴(kuò)展,LCD控制,只寫 */

      sfr CIRCUIT_STATUS = 0xff; /* 擴(kuò)展,線路狀態(tài),只讀 */

      sfr CIRCUIT_CTRL = 0xff; /* 擴(kuò)展,線路控制,只寫 */

      為了節(jié)約SFR總線地址資源,一些擴(kuò)展的SFR寄存器在硬件上為只能寫、不可讀,另外一些被為只能讀、不可寫。這樣,二者可以復(fù)用同一個SFR總線地址,比如MODEM_CTRL和READ_DTMF_DECODE寄存器;但是這樣在需要先將那些“只寫”寄存器的內(nèi)容讀出,運算后再進(jìn)行寫回操作的時候就很不方便。這里采用了鏡像變量的方法,為每一個“只寫”寄存器建立一個全局變量,每次寫寄存器操作后,都對這個全局變量進(jìn)行同樣的寫操作,時刻保持變量值和寄存器的內(nèi)容一致,在需要讀出的時候就使用此全局變量。MODEM_CTRL寄存器的bit0控制Modem是DTMF還是FSK模式。下面以對這一位的操作為例說明。

      建立它的鏡像全局變量:

      unsigned char xdata modem_ctrl_mirror;

      定義控制位:

      #define MODEM_B0_MODE0x01// 1-DTMF, 0-FSK

      片上外設(shè)在SFR總線上的物理連接

      圖2 片上外設(shè)在SFR總線上的物理連接

      設(shè)置Modem為FSK模式:

      void Modem_SetMode_FSK() {

      MODEM_CTRL = modem_ctrl_mirror (~MODEM_B0_MODE);

      modem_ctrl_mirror = modem_ctrl_mirror (~MODEM_B0_MODE);

      }

      在初始化程序中對這些“只寫”寄存器及其鏡像全局變量進(jìn)行賦值。

      void DevicesInit() {

      MODEM_CTRL = MODEM_CTRL_INI;

      modem_ctrl_mirror = MODEM_CTRL_INI;

      }



      評論


      相關(guān)推薦

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

      關(guān)閉