新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機與pc串口通信-----下位機程序

        單片機與pc串口通信-----下位機程序

        作者: 時間:2016-08-03 來源:網絡 收藏

          //MCS-51通過中斷方式接收pc機發來的字符,并回送給主機

        本文引用地址:http://www.104case.com/article/201608/294951.htm

          #include

          #include

          #define uchar unsigned char

          uchar xdata rt_buf[32];

          uchar r_in,t_out;

          bit r_full,t_empty;

          serial() interrupt 4 //中斷程序

          {

          if(RI && r_full)

          {

          rt_buf[r_in]=SBUF;

          RI=0;

          if(rt_buf[r_in]==0x24)

          {

          r_full=1;

          SBUF=rt_buf[t_out];

          t_empty=0;

          }

          /*接收字符為$,則接收結束;設置接收結束標志,開始發送*/

          r_in=++r_in;

          }

          else if(TI && t_empty)

          {

          TI=0;

          t_out=++t_out;

          SBUF=rt_buf[t_out];

          if(t_out==r_in)

          t_empty=1;

          /*t_out=r_in則發送完,設發送完標志t_empty*/

          }

          }

          main()

          {

          /*設置定時器T1工作于方式2,計數常數為0xfdH */

          TMOD=0x20; //TMOD:GATE C/T1 M1 M0 GATE C/T0 M1 M0 0010 0000 以TR啟動定時

          TL1=0xfd; //定時3us

          TH1=0xfd;

          SCON=0x50; //在11.0592MHz下,設置串行口波特率為9600,方式1,允許接收 01010000

          PCON=0xD0; // 11010000 波特率加倍

          IE=0x10; //00010000 允許串行中斷ES=1

          TR1=1;

          EA=1;

          r_in=t_out=0;

          t_empty =1;

          r_full=0;

          for(;;)

          {

          printf ("%s","serial communicationn"); //添加自己的程序處理代碼

          }

          }

          附上: proteus下和pc機的連接圖

          



        關鍵詞: 單片機 串口

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 永清县| 山西省| 烟台市| 延安市| 通山县| 通化市| 保康县| 左云县| 肇源县| 卫辉市| 苍梧县| 康定县| 岫岩| 贵德县| 冀州市| 读书| 西盟| 元阳县| 策勒县| 德钦县| 兴文县| 安化县| 赤峰市| 林周县| 咸宁市| 绥棱县| 财经| 胶州市| 葫芦岛市| 石河子市| 九江县| 怀来县| 隆昌县| 宝坻区| 通城县| 成都市| 广平县| 三河市| 昆山市| 民县| 青州市|