单片机串口通信中断模式中SBUF返回的值与输入进去的不一样
51单片机中,做串口通信练习,想通过串口输入一个值,在通过串口发送回来,采用中断模式,但是输入的值与返回的值不同,如输入08返回的却是88,输入10返回的却是B0,这是怎...
51单片机中,做串口通信练习,想通过串口输入一个值,在通过串口发送回来,采用中断模式,但是输入的值与返回的值不同,如输入08返回的却是88,输入10返回的却是B0,这是怎么回事啊?求大神指点
程序代码如下:
#include<reg52.h>
unsigned char num;
void main()
{
TMOD=0x20;
TH1=0xfd;
TL1=0xfd;
TR1=1;
SM0=0;
SM1=1;
REN=1;
EA=1;
ES=1;
}
void ses() interrupt 4
{
RI=0;
num=SBUF;
SBUF=num;
while(!TI);
TI=0;
} 展开
程序代码如下:
#include<reg52.h>
unsigned char num;
void main()
{
TMOD=0x20;
TH1=0xfd;
TL1=0xfd;
TR1=1;
SM0=0;
SM1=1;
REN=1;
EA=1;
ES=1;
}
void ses() interrupt 4
{
RI=0;
num=SBUF;
SBUF=num;
while(!TI);
TI=0;
} 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询