欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 51單片機串口調試,發送一個字符“Y”,出現了如圖一顯示是哪里出了問題 [打印本頁]

作者: 博蒗    時間: 2020-9-4 17:15
標題: 51單片機串口調試,發送一個字符“Y”,出現了如圖一顯示是哪里出了問題
#include  <reg51.h>
void uart_init(void);

void uart_send_byte(unsigned char c);

void delay1s(void)   //誤差 -0.00000000024us
{
    unsigned char a,b,c;
    for(c=95;c>0;c--)
        for(b=26;b>0;b--)
            for(a=185;a>0;a--);
}


void main(void)
{
  uart_init();
  uart_send_byte('Y');
  delay1s( );
}

void uart_init(void)
{
        // 波特率9600
        SCON = 0x50;           // 串口工作在模式1(8位串口)、允許接收
        PCON = 0x00;        // 波特率不加倍

        // 通信波特率相關的設置
        TMOD = 0x20;        // 設置T1為模式2
        TH1 = 253;
        TL1 = 253;                   // 8位自動重裝,意思就是TH1用完了之后下一個周期TL1會
                                        // 自動重裝到TH1去

        TR1 = 1;                // 開啟T1讓它開始工作
        ES = 1;
        EA = 1;
}

// 通過串口發送1個字節出去
void uart_send_byte(unsigned char c)
{
   // 第1步,發送一個字節
   SBUF = c;

   // 第2步,先確認串口發送部分沒有在忙
   while (!TI);

   // 第3步,軟件復位TI標志位
   TI = 0;
}


圖一







作者: 陳潤源home    時間: 2020-9-4 20:41
波特率不對 ,用11.0592M 的晶振 9600波特率的值是0xfd
作者: wulin    時間: 2020-9-4 21:03
主程序沒有while(1)約束,串口被不斷重復初始化。造成串口波特率不穩定。
void main(void)
{
        uart_init();
        while(1)
        {
                uart_send_byte('Y');
                delay1s( );
        }
}
作者: 博蒗    時間: 2020-9-6 14:21
查驗了一下,問題確實是出在波特率上,謝謝大家的指正





歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1