运用串口通信方式1,不管发送什么总是在界面上显示123
#include<reg52.h>
unsigned char flag,a;
void main()
{
TMOD=0x20;//设置定时器1为工作方式2
TH1=0xfd;
TL1=0xfd;
TR1=1;
REN=1;//串口允许接收
SM0=0;
SM1=1;//串口工作方式1
EA=1;
ES=1;//开串口中断
while(1)
{
if(flag==1)
{
ES=0;//关串口中断
flag=0;
SBUF='1';//由计算机发送到单片机
while(!TI);//等待发送完,TI置1
TI=0;
SBUF='2';
while(!TI);//等待发送完,TI置1
TI=0;
SBUF='3';
while(!TI);//等待发送完,TI置1
TI=0;
ES=1;//打开中断
}
}
}
void ser() interrupt 4//接收工过程
{
RI=0;
//P1=SBUF;
a=SBUF;//把sbuf的数据送给a
flag=1;
}