请问下这个程序有错么?为什么送到串口显示错误呢?

2019-07-15 14:15发布

#include<REG52.H>        
#include<math.h>      
#include<stdio.h>
#define uchar unsigned char
#define uint unsigned int
void start()
{         TMOD = 0x20;//定时器1工作方式2自动装初值
    SCON = 0x50;//方式1允许接收
    TH1 = 0xFD;//波特率为9600的初值
    TL1 = TH1;
    PCON = 0x00;//电源管理寄存器
    EA = 1;//开总中断
    ES = 1;//开串口中断
    TR1 = 1;//开始计数
}       
void send(uchar a)
{SBUF=a;
while(!ti)
TI=0;
}
void main()
{start();
send(123);
}
就是送个123呀,结果却显示错误

16进制也不是123呀 16进制也不是123呀
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。