#include<reg52.h>
void main()
{
TMOD=0x20;
TH1=0xfd;
TL1=0xfd;
TR1=1;
REN=1;
SM0=0;
SM1=1;
EA=1;
while(1)
{
while(!RI);
RI=0;
P1=0x00;
}
}
天祥单片机里面第七讲,想不明白,为什么这样写,P1口全被置零了,事实上,我并没有往串口发送数据。程序烧好之后,按复位键之后,P1口还是全置零(P1口等于0代表LED灯亮。)
如果把循环换成
while(1)
{
while(!RI);
RI=0;
P1=SBUF;
}
P1口接到的是串口传来的数据。
这是为什么?