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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 51串口通信程序(帶詳細(xì)注釋)

          51串口通信程序(帶詳細(xì)注釋)

          作者: 時(shí)間:2016-11-29 來(lái)源:網(wǎng)絡(luò) 收藏
          #include

          #include //后面有一個(gè)比較函數(shù)
          #define uchar unsigned char
          #define uint unsigned int
          bit UART_Flag=0; //定義串口接收標(biāo)志位

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

          uchar str[50]; //定義一數(shù)組
          uchar length=0; //數(shù)組長(zhǎng)度從0開(kāi)始
          void init() //初始化uart
          {


          TMOD=0X20; //定時(shí)器1定時(shí)器方式 工作模式2,可自動(dòng)重載的8位計(jì)數(shù)器常把定時(shí)/計(jì)數(shù)器1以模式2作為串行口波特率發(fā)生器

          SCON=0X50; //選擇工作模式1使能接收,允許發(fā)送,允許接收

          EA=1; //開(kāi)總中斷

          ES=1; //打開(kāi)串口中斷
          ET1=0; //打開(kāi)定時(shí)器中斷

          PCON=0X80; //8位自動(dòng)重載,波特率加倍

          TH1=0XFF; //用22.1184 mhz波特率

          TL1=0XFF;

          TR1=1; //打開(kāi)中時(shí)器


          }
          void UART_Putch(uchar dat) //輸出一個(gè)字符
          {
          SBUF=dat; //把數(shù)據(jù)送給sbuf緩存器中

          while(TI!=1);//發(fā)送標(biāo)志位 TI如果發(fā)送了為1,沒(méi)發(fā)送為0,沒(méi)發(fā)送等待,到了退出循環(huán)

          TI=0; //到了,TI清為0

          }
          void init1() interrupt 4 //uart中斷 ,4為串口中斷
          {

          if(RI==1) //收到數(shù)據(jù)
          {
          uchar m=SBUF; //m為計(jì)算機(jī)發(fā)送給串口的數(shù)據(jù),例,open //總體思想是,計(jì)算機(jī)通知串口,我要發(fā)數(shù)據(jù)了
          RI=0; //收到清0

          if(m==) //判斷m這位數(shù)據(jù)有無(wú)
          {
          UART_Putch(); //回車
          UART_Putch(); // 換行
          str[length]=看屁屁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); })();