#include
#define uchar unsigned char
#define uint unsigned int
#define TR 1
sbit led1=P1^0;
sbit led2=P1^1;
uchar idata buf[10];
uchar pf;
void init()
{
TMOD=0x20;
TH1=0xe8;
TL1=0xe8;
PCON=0x00;
TR1=1;
SCON=0x50;
}
void recieve(uchar idata *d)
{
uchar i;
do
{
while(RI==0);
RI=0;
}while((SBUF^0xaa)!=0);
SBUF=0xbb;
while(TI==0);
TI=0;
while(1)
{
pf=0;
for(i=0;i<16;i++)
{
while(RI==0);
RI=0;
d[i]=SBUF;
pf+=d[i];
}
while(RI==0);
RI=0;
if((SBUF^pf)==0)
{
SBUF=0x00;
break;
}
else
{
SBUF=0xff;
while(TI==0);
TI=0;
}
}
}
void main()
{
init();
recieve(buf);
led1=0;
}
主程序最后一句:led1=0无法执行就结束了