51单片机发串口数据总是不正确,为何?求助
小弟是单片机新手,最近做一个工程,要在初始化的同时把一串数据发给上位机,但是我程序写出来后,用串口调试助手接受串口数据,得到的数据和我发送的数据始终不一样,而且也看不出什么规律
我用的单片机是AT89C51,晶振11.0592MHz,初始化程序如下:
void init() //初始化
{
EA=1;//中断模式开
TMOD=0x20;//设置定时器1为工作方式2
TH1=0xfd;//波特率是9600
TL1=0xfd;
TR1=1;
SCON=0x40;
PCON&=0x7F;
SBUF=0x2F;
while(TI==0);
TI=0;
SBUF=0x5F;
while(TI==0);
TI=0;
SBUF=0x5A;
while(TI==0);
TI=0;
SBUF=0x52;
while(TI==0);
TI=0;
SBUF=0x0D;
while(TI==0);
TI=0;
delay(5000);
}
但是用串口调试助手接收的数据却是:68 50 A9 AB 1E,不管发送多少次都是这组一样的数据
请各位高手指教一下,多谢了