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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > AT89C2051單片機(jī)與MT8880接口設(shè)計(jì)

          AT89C2051單片機(jī)與MT8880接口設(shè)計(jì)

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

          軟件

          基于圖1電路,在軟件時(shí),只需模擬的控制時(shí)序,用指令對(duì)P1口進(jìn)行讀寫操作,控制芯片內(nèi)部的CRA、CRB等寄存器,從而實(shí)現(xiàn)對(duì)的發(fā)送/接收控制。在此,僅給出用C51編制的程序。

          3.1 發(fā)送程序

          程序執(zhí)行后,將以DTMF方式發(fā)送預(yù)存在數(shù)組W_BUF中的7位數(shù)碼(5135535)。
          #include reg51.h>
          #define uc unsigned char
          #define ui unsigned int
          /* 子函數(shù)(子程序)說明 */
          void initialize(void);
          void tran_init(void);
          void transmit(uc data *p,uc count);
          void delay(ui l);
          /* 主函數(shù)(主程序) */
          void main(void)
          { uc data w_buf[7];
          SP=0x5f;
          /* 預(yù)存數(shù)碼5135535 */
          w_buf[0]=5;
          w_buf[1]=1;
          w_buf[2]=3;
          w_buf[3]=5;
          w_buf[4]=5;
          w_buf[5]=3;
          w_buf[6]=5;
          initialize();
          tran_init();
          transmit(w_buf,7);
          initialize();
          for(;;);}
          /* 初始化子函數(shù) */
          void initialize(void)
          { P1=0x3f; /* 讀SR */
          P1=0x20; /* CRA=0000 */
          P1=0x20; /* CRA=0000 */
          P1=0x28; /* CRA=1000 */
          P1=0x20; } /* CRB=0000 */
          /* 發(fā)送初始化子函數(shù) */
          void tran_init(void)
          { P1=0x29; /* CRA=1001 */
          P1=0x21; } /* CRB=0001 */
          /* 發(fā)送操作子函數(shù) */
          void transmit(uc data *p,uc count)
          { uc i;
          for (i=0;icount;i++,p++)
          { P1=*p; /* 發(fā)送數(shù)碼 */
          delay(6000); /* 延時(shí) */
          P1=0x3f; }}/* 讀SR */
          /* 延時(shí)子函數(shù) */
          void delay(ui l)
          { ui i;
          for (i=0;il;i++);}



          評(píng)論


          相關(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); })();