51单片机的串口通信
如果收到数据点亮发光二极管
#include <reg52.h>
void delay(uint z)
{
uint x,y;
for(x = z; x > 0; x--)
for(y = 114; y > 0 ; y--);
}
void UART_init()
{
TMOD = 0x20; //T1工作模式2 8位自动重装
TH1 = 0xfd;
TL1 = 0xfd; //比特率9600
TR1=1;
SM0 = 0;
SM1 = 1; //串口工作方式1 10位异步
REN = 1; //串口允许接收
}
void main()
{
UART_init(); //串口初始化
while(1)
{
P1=0xfe; //初始化第一个发光二极管亮
while(!RI); //等待数据接收完毕
RI=0;
P1=0xfd; //将第二个发光二极管点亮
delay(500);
}
}