#include<reg52.h>
#include<intrins.h>
typedef unsigned char u8;
typedef unsigned int u16;
u8 n[]="01";
void UsartConfig();
void delay_ms(u8 ms);
void UsartConfig()
{
TMOD=0X20;
TH1=0XF3;
TL1=0XF3;
PCON=0X80;
SCON=0X50;
TR1=1;
ES=1;
ET1=0;
EA=1;
}
void UsartInterrupt() interrupt 4
{
u8 m;
u8 ReceiveData;
m=SBUF;
if(m==n[1])
{
P2=0xFE;
while(1)
{
P2=_crol_(P2,1);
delay_ms(150);
}
}
if(m==n[0])
{
P2=0XFF;
}
ReceiveData=SBUF; //将PC机缓冲器中的内容存入变量寄存器中
RI=0; //单片机接收完成后
SBUF=ReceiveData; //单片机接收完了的数据存到缓冲器中
while(!TI); //判断是否发送完成
TI=0; //发送完成
}
void delay_ms(u8 ms)
{
u8 a,b;
for(;ms>0;ms--)
{
for(a=49;a>0;a--)
{
for(b=1;b>0;b--);
}
}
}
void main()
{
UsartConfig();
while(1);
}
|