|
輸入輸出一樣,但是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;
}
}
}
}
|
|