#include <REGX52.H>
#include "Delay.H"
#include "UART.H"
void main()
{
UART_Init();
while(1)
{
}
}
void UART_Routine() interrupt 4
{
if(RI==1)
{
P2=SBUF;
UART_SendByte(SBUF);
RI=0;
}
}
/*串口中断函数模板
void UART_Routine() interrupt 4
{
if(RI==1)
{
RI=0;
}
}
*/
#include <REGX52.H>
/**
* @brief 串口初始化
* @param 无
* @retval 无
*/
void UART_Init()//寄存器初始化4800bps@12.000MHz
{
SCON=0x50;
PCON |= 0x80;
TMOD &= 0x0F; //配置定时器 0000 0001
TMOD |= 0x20; //把TMOD的低四位清零,高四位不变
TR1 =1; //定时器开始工作
TH1 =0xF3;//设初始高位数值
TL1 =0xF3;//设初始低位数值
ET1 =0; //配置中断
EA=1;
ES=1;
}
/**
* @brief 串口发送一个字节数据
* @param Byte要发送的一个字节数据
* @retval 无
*/
void UART_SendByte(unsigned char Byte)
{
SBUF=Byte;
while(TI==0);
TI=0;
}