80C51单片机的串行通信问题:发送的数据在上位机上显示不一致,是为什么?
下面是我的源程序。#include<reg52.h>unsignedcharMessage[]={1,2,5,5,6,7,6,8,9,8,9};unsignedcharC...
下面是我的源程序。
#include<reg52.h>
unsigned char Message[]={1,2,5,5,6,7,6,8,9,8,9};
unsigned char Count=0;
void delay(unsigned int i)
{
unsigned char j;
for(i;i>0;i--)
for(j=0;j<200;j++)
;
}
void main(void)
{
SCON=0x50;
TMOD|=0x20;
PCON|=0x80;
TH1=0xF3;
TL1=0xF3;
TR1=1;
ES=1;
EA=1;
while(1)
{
Count=0;
while(Message[Count]!='\0')
{
SBUF=Message[Count];
while(!TI);
TI=0;
Count++;
}
delay(1000);
}
}
然后在上位机上的显示如图:
如上面所示,为什么接收的数据和原数据不一致呢?求解释?? 展开
#include<reg52.h>
unsigned char Message[]={1,2,5,5,6,7,6,8,9,8,9};
unsigned char Count=0;
void delay(unsigned int i)
{
unsigned char j;
for(i;i>0;i--)
for(j=0;j<200;j++)
;
}
void main(void)
{
SCON=0x50;
TMOD|=0x20;
PCON|=0x80;
TH1=0xF3;
TL1=0xF3;
TR1=1;
ES=1;
EA=1;
while(1)
{
Count=0;
while(Message[Count]!='\0')
{
SBUF=Message[Count];
while(!TI);
TI=0;
Count++;
}
delay(1000);
}
}
然后在上位机上的显示如图:
如上面所示,为什么接收的数据和原数据不一致呢?求解释?? 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询