标题: 单片机串口程序问题求助 [打印本页]

作者: haohongshuai    时间: 2024-3-5 22:11
标题: 单片机串口程序问题求助
发送"她是谁"出现乱码,发送"我是谁"就能正常接收,同样的代码,波特率也没错,不知道什么原因,有哪位老师能帮我解释一下吗?下面是我的代码
#include <STC12C5A60S2.H>

void delay500ms(void)
{
  unsigned char i,j,k;
  for(i=81;i>0;i--)     //注意后面没有分号
  for(j=202;j>0;j--)    //注意后面没有分号
  for(k=81;k>0;k--);    //注意后面有分号
}

void Uart1_Init(void);
void sendByte(unsigned char dat);
void sendstring(unsigned char *str);

void main()
{
        
        Uart1_Init();

        
        while(1)
        {
                sendstring("她是谁");
                delay500ms();

        }
}

void Uart1_Init(void)        //2400bps@12.000MHz
{
        PCON &= 0x7F;                //??????
        SCON = 0x50;                //8???,?????
        AUXR &= 0xBF;                //?????12T??
        AUXR &= 0xFE;                //??1?????1???????
        TMOD &= 0x0F;                //???????
        TMOD |= 0x20;                //???????
        TL1 = 0xF3;                        //???????
        TH1 = 0xF3;                        //???????
        ET1 = 0;                        //???????
        TR1 = 1;                        //???1????
}

void sendByte(unsigned char dat)
{
        SBUF = dat;
        
        while(!TI);
        TI = 0;
}

void sendstring(unsigned char *str)
{
while(*str!='\0')
{
sendByte(*str);
        str++;
}
}

屏幕截图 2024-03-05 214302.png (82.71 KB, 下载次数: 73)

屏幕截图 2024-03-05 214302.png

屏幕截图 2024-03-05 214531.png (24.72 KB, 下载次数: 67)

屏幕截图 2024-03-05 214531.png

屏幕截图 2024-03-05 215221.png (821.62 KB, 下载次数: 71)

屏幕截图 2024-03-05 215221.png

作者: 明日之星8    时间: 2024-3-5 22:53
http://www.51hei.com/bbs/dpj-234513-1.html

参考这个页面,先改一下keil的语言设置再看看。
顺便发送英文字符串看看。
作者: haohongshuai    时间: 2024-3-5 22:53
已解决,是KEIL的一个BUG,论坛里有解决方案
作者: lkc8210    时间: 2024-3-6 09:18
Keil的0xFD Bug



作者: DinosaurKing    时间: 2024-3-12 16:52
编码问题把,修改一下
作者: STC庄伟    时间: 2024-3-13 13:46
对照检查吧 STC8G系列-串口相关程序 (1).rar (249.23 KB, 下载次数: 6)




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1