• 專注電子技術學習與研究
    當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

    單片機串口通信源碼

    作者:佚名   來源:本站原創   點擊數:  更新時間:2012年11月18日   【字體:

          本測試程序選擇STC12C4052AD單片機,采用內部晶振6M起振,傳輸波特率為2400bps,測試于2012年11月17日通過。使用STC-ISP,V488版本刷機,用其自帶串口助手程序測試。源代碼如下:

    #include <reg51.h>
    #include <intrins.h>
    
    
    unsigned char tmp;
    void send_int(void);
    void send_char(unsigned char txd);
    
    main()
    {
        send_int();
                   
     while(1)
     {
      if(RI)      // 是否有數據到來
      {
       tmp = SBUF;                   // 暫存接收到的數據     
           send_char(tmp);     //數據傳回
             RI = 0;                       //RI清零
      }
     
     }
    }
    void send_int(void)
    { 
        TMOD =0x20;//T1工作為方式2
        SCON =0x50;//方式1:10位異步同通訊,串口允許接收
        PCON =0x80;//波特率倍增,SMOD='1'
        TH1=TL1=0xf3;  // 波特率2400
        TR1=1;// 啟動定時器1
        ES=1;
        EA=1;//總中斷允許
    }
    
    void send_char(unsigned char txd)
    // 傳送一個字符
    {
                       SBUF = txd;
                       while(!TI);
                       TI=0;
    }
     
    
     
    
     
    
    
    void send_string(char *s)
    //傳送字符串時使用
    {
            while(*s)
        {
          send_char(*s++);
        }
     
    
    }
    
    關閉窗口
    国产农村精品一级毛片视频_亚洲Av无码专区国产乱码在线观看_亚洲综合国产Av_天天影视网天天综合色