|
输入输出一样,但是if判段数据怎么不对,灯亮不了
#include<reg52.h>
#include<string.h>
void main (void)
{ char a,b=0;
SCON=0x50;//串行口方式1
PCON=0x00;//T1初始化,
TMOD=0x20;//T1设为方式2
TH1=0xFD;//选9600波特,fosc=11.0592MHz
TR1=1;//启动T1
while(1)
{
if(RI)//如果接收到数据,就把接收到的数回发给PC
{ RI=0;//清接收标志
a=SBUF ;//读串行口数据
SBUF=a;//把从PC机发送过来的数据返回给PC机
while(!TI);//没有发送完等待
TI=0;//清发送完中断标志
if(a==1){
P0 = 0x00;
}
if(a==0){
P0 = 0xff;
}
}
}
}
|
|