开发手册分析![请添加图片描述](https://i-blog.csdnimg.cn/blog_migrate/50514f9e4a844335b6b19209248f2453.png)
![请添加图片描述](https://i-blog.csdnimg.cn/blog_migrate/3c31e337feac899a403bb0984e714733.png)
代码模块
main.c
#include "regx52.h"
#include "intrins.h"
sbit LED=P1^0;
void Delay500ms() //@11.0592MHz
{
unsigned char i, j, k;
_nop_();
_nop_();
i = 22;
j = 3;
k = 227;
do
{
do
{
while (--k);
} while (--j);
} while (--i);
}
void UART_init()
{
SCON=0X50;//´串口配置寄存器
PCON|=0X80;//波特率加倍
TMOD&=0X0F;//高四位清零,低四位保持不变
TMOD|=0X20;//低四位选择定时器1的模式3
TL1=0XF4;//配置波特率
TH1=0XF4;
ET1=0;//打开定时器1中断
TR1=1;//打开定时器1
ES=1;//´开启中断开关
EA=1;//开启中断总开关
}
void Uart_Sendbyte(unsigned char byte)//发送数据
{
SBUF=byte;
while(TI==0);
TI=0;
}
void main()
{
UART_init();
Uart_Sendbyte(0x66);
while(1)
{
}
}
void UART_Routine() interrupt 4 //中断接收数据
{
if(RI==1)
{
P1=SBUF;
RI=0;
}
}