用51单片机写了一个单片机给PC发送数据的程序。发送的是一段汉字,前一半的汉字显示正常,后一半的汉字显示为乱码。代码如下:
#include<reg51.h>
void uartconfig();
void delay10ms(unsigned int c) ;
unsigned char dat[26]="小明是仇桥镇三门村六组人士";
void main()
{
unsigned char i;
uartconfig();
while(1)
{
for(i=0;i<26;i++)
{
SBUF=dat[i];
while(TI==0);
TI=0;
}
delay10ms(50);
}
}
void uartconfig()
{
SCON=0x40;
TMOD=0x20;
PCON=0x80;
TL1=0xf3;
TH1=0xf3;
TR1=1;
}
void delay10ms(unsigned int c)
{
unsigned char a, b;
for (;c>0;c--)
for (b=38;b>0;b--)
for (a=130;a>0;a--);
}
显示的结果见附件 |