色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 51串口網(wǎng)上參考程序

          51串口網(wǎng)上參考程序

          作者: 時間:2016-11-23 來源:網(wǎng)絡(luò) 收藏
          學(xué)了幾天,接收也沒調(diào)通。原搬了網(wǎng)上程序,還是終于通了。貼人原程序吧!
          網(wǎng)址如下:http://www.cnblogs.com/feng-bxr/articles/2302086.html謝謝原作者。

          #include

          sbit WINT1=P3^3; // 外部中斷,接S4按鍵

          void init() {

          PCON=0x00; //波特率不加倍

          TMOD=0x20; //定時器1用作波特率發(fā)生器(具有自動重裝載初值的功能)

          SCON=0x50; //8為異步收發(fā),波特率可變(由定時器控制)選擇串口方式1,接收允許

          TH1=0x0fd;

          TL1=0x0fd; //設(shè)置波特率為9600bps,晶振11.0592MHz

          RI=0; //清標志位

          TI=0;

          TR1=1; //開啟計數(shù)T1

          ES=1; //開串口中斷

          IT1=1; //設(shè)置為跳變觸發(fā)方式

          EX1=1; //開外部中斷1

          EA=1; //開總中斷

          }

          void main(){

          init();

          while(1); //延時等待中斷

          }

          void uart_interrupt (void) interrupt 4{

          char date;

          ES=0; //關(guān)閉串口中斷

          if(TI) { //判斷是發(fā)送中斷

          TI=0; //清除發(fā)送中斷標志

          }

          else {

          date=SBUF; //數(shù)據(jù)緩存到date中

          RI=0; //清除接收中斷標志

          date++; //數(shù)據(jù)處理

          SBUF=date; //返回數(shù)據(jù)

          }

          ES=1; //打開串口中斷

          }

          void int1_interrupt(void) interrupt 2 {

          while(!WINT1); //按鍵松手檢測

          SBUF=0X41; //發(fā)送字符數(shù)據(jù)A

          }




          關(guān)鍵詞: 51串口參考程

          評論


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

          關(guān)閉