<nobr id="trllz"><thead id="trllz"></thead></nobr>

      <span id="trllz"></span>
        <progress id="trllz"></progress>

          <strike id="trllz"></strike>

              <em id="trllz"></em>

                專注電子技術學習與研究
                當前位置:單片機教程網 >> 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++);
                    }
                 
                
                }
                
                關閉窗口
                中文一午夜乱理片无码

                    <nobr id="trllz"><thead id="trllz"></thead></nobr>

                    <span id="trllz"></span>
                      <progress id="trllz"></progress>

                        <strike id="trllz"></strike>

                            <em id="trllz"></em>