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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應用 > 基于單片機通過串口與電腦連接通信

          基于單片機通過串口與電腦連接通信

          作者: 時間:2010-09-28 來源:網(wǎng)絡(luò) 收藏

          本實驗實現(xiàn)中斷實驗,中斷和計算機進行 *
          首先接受聯(lián)機信號,然后接受計算機的相關(guān)控制信號 *
          本實驗中,采用發(fā)送不同的字符給計算機來模擬接收到的不同的計算機控制命令 *
          擴展,可以實現(xiàn)不同的功能 *
          * *
          *
          * *
          ********************************************************************************/

          本文引用地址:http://cafeforensic.com/article/173199.htm

          #include
          #define uchar unsigned char

          uchar time,b_break,b_break_3;
          uchar buf;

          void waitsend()
          {
          while(!TI)
          {
          };
          TI = 0;
          }
          //串行中斷程序
          void int_s(void) interrupt 4 {
          ES = 0; //關(guān)閉串行中斷
          RI = 0; //清除串行接受標志位
          buf = SBUF; //從緩沖區(qū)取得數(shù)據(jù)
          P1 = buf; //數(shù)據(jù)送往p1口顯示出來
          if(buf == 255) SBUF = 255; //發(fā)送聯(lián)絡(luò)信號
          else{
          switch(buf)
          {
          case 1: SBUF = 'M',waitsend();break; //如果接受到1,發(fā)送字符'M'給計算機
          case 2: SBUF = 'C',waitsend();break; //如果接受到2,發(fā)送字符'C'給計算機
          case 3: SBUF = 'S',waitsend();break; //如果接受到3,發(fā)送字符'S'給計算機
          case 4: SBUF = '5',waitsend();break; //如果接受到4,發(fā)送字符'5'給計算機
          case 5: SBUF = '1',waitsend();break; //如果接受到5,發(fā)送字符'1'給計算機

          default: SBUF = 'n',waitsend();break; //如果接受到其它數(shù)據(jù),發(fā)送n給計算機

          }
          }
          ES = 1; //允許中斷

          }

          void main(void) {

          P0 = 0;
          P2 = 255; //關(guān)閉數(shù)碼管顯示

          EA=1;
          SCON=0x50;PCON=0X80;
          TMOD=0x20;ES = 1;
          TL1=TH1=0xf3;TR1=1; //串口工作在模1,波特率4800@12Mhz)

          while(1);
          //無限循環(huán)等待串行中斷
          }



          評論


          相關(guān)推薦

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

          關(guān)閉