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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 89C52串口通信練習

          89C52串口通信練習

          作者: 時間:2016-11-24 來源:網(wǎng)絡 收藏
          題目:以2400bps從計算機發(fā)送任一字節(jié)數(shù)據(jù),當單片機收到該數(shù)據(jù)后,在此數(shù)據(jù)前加上一序號然后連同此數(shù)據(jù)一起發(fā)送至計算機,當序號超過255時歸零。

          本文引用地址:http://www.ex-cimer.com/article/201611/320635.htm

          程序如下:

          #include
          #define uint unsigned int
          #define uchar unsigned char
          void init();
          uchar flag,aa;
          char ch[3];
          uint i;

          void main()
          {
          init();
          while(1)
          {
          if(flag==1)
          {
          ES=0;//關閉串行中斷
          i=0;
          ch[0]=i/100+48; //設百位,轉常量為字符常量
          ch[1]=(i/10)%10+48; //設十位
          ch[2]=i%10+48;//設個位
          i++;
          if(i==256)
          i=0;
          if(ch[0]!=0)
          {
          SBUF=ch[0];
          while(!TI);
          TI=0;
          }
          if(ch[1]!=0)
          {
          SBUF=ch[1];
          while(!TI);
          TI=0;
          }
          SBUF=ch[2];
          while(!TI);
          TI=0;
          SBUF=aa;
          while(!TI);
          TI=0;
          ES=1;
          }
          }
          }

          void ser() interrupt 4
          {
          RI=0; //軟件清零RI
          aa=SBUF;
          flag=1;
          }

          void init()
          {
          TMOD=0x20; //T1工作在8位重裝定時器狀態(tài)
          TH1=0xf4;
          TL1=0xf4; //設置波特率為2400bps
          EA=1;
          ES=1;
          TR1=1;
          SM0=0;
          SM1=1;
          REN=1;
          }

          這里有幾點要注意:

          1.設置波特率用T1定時器來設置,有固定計算公式,T1設置在8位重裝定時器狀態(tài)。

          2.由于要輸出0~255字符串,所以要用到程序里面紅色那一段,設一個3維數(shù)組,把字符串的百位,十位和個位分別記錄下來,然后用SBUF發(fā)送緩沖器輸出。

          3.輸出的時候注意先關閉串行中斷(ES=0),以免發(fā)送字符串時T1置1引起串行中斷服務程序



          關鍵詞: 89C52串口通

          評論


          技術專區(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); })();