51单片机串口接收数据演示源程序

/****************************************************************
程序名称:串口接收数据演示
程序说明:P1口接八只LED,根据串口接收的数据点亮火熄灭对应LED,可使用串口助手软件发送数据
使用12MHz晶振,波特率2400
*****************************************************************/
#include
unsigned char i;
sbit LED0=P1^0;//定义八只LED
sbit LED1=P1^1;
sbit LED2=P1^2;
sbit LED3=P1^3;
sbit LED4=P1^4;
sbit LED5=P1^5;
sbit LED6=P1^6;
sbit LED7=P1^7;

void init_uart(void)//串口初始化函数
{
TMOD=0X20;
TH1=0XF3;//使用12MHz晶振
TL1=0XF3;
TR1=1;
SCON=0X50;
EA=1;
ES=1;
}

void main(void)
{
init_uart();
while(1)
{
while(!RI);//查询串口中断,接收到数据后继续
RI=0;
i=SBUF;
switch(i)
{
case 0x01: LED0=~LED0;break;
case 0x02: LED1=~LED1;break;
case 0x03: LED2=~LED2;break;
case 0x04: LED3=~LED3;break;
case 0x05: LED4=~LED4;break;
case 0x06: LED5=~LED5;break;
case 0x07: LED6=~LED6;break;
case 0x08: LED7=~LED7;break;
}
}
}





相关文档
最新文档