我用助手写数据到单片机,再读出来,但是不晓得为什么,一直显示错误,十位的数字总是错
uchar r,s;
void int_serial() //初始化串口
{
TMOD=0x20; //定时器T1 工作于方式2
SCON=0x50; //SCON=0101 0000B,串口工作方式1,允许接收(REN=1)
PCON=0x00; //PCON=0000 0000B,波特率9600
TH1=0xfd; //根据规定给定时器T1 赋初值
TL1=0xfd; //根据规定给定时器T1 赋初值
EA=1;
ES=1;
TR1=1; //启动定时器T1
}
void send()
{
if (r==1) //检测输出是否READY
{
ES=0;
r=0;
SBUF=s; //发送数据
while(!TI);
TI=0;
ES=1;
}
}
void main()
{
int_serial();
while(1)
{
send();
}
void get() interrupt 4
{
RI=0;
//P1=SBUF;
s=SBUF;
r=1;
}
请你帮我看哈是咋回事,我用P1口外接了8个二极管,显示的和写入数据一致。就是助手显示有问题,11显示91,22显示A2之类的。用了2个助手都这样。