/********* UART1初始化操作 **********/
/***********************************************************
函数名:UART1_Init()
功 能:串口1初始化
参 数:无
返回值:无
/**********************************************************/
void UART1_Init(void)
{
// P_SW1 |= 0x40; //串口1引脚切换到P3.6,P3.7
SCON |= 0x50; //串口1选择模式1(8位数据位,可变波特率),使能UART1接收
T2L = BRT;
T2H = BRT>>8; //设置T2定时器波特率为9600(主频12MHz)
AUXR = 0x15; //选择T2定时器作为波特率发射器,并开启T2定时器(1T模式)
ES = 1; //使能UART1接收/发送中断
EA = 1; //使能全局中断
}
/***********************************************************
函数名:UART1_Isr()
功 能:串口1接收/发送中断函数
参 数:无
返回值:无
/**********************************************************/
void UART1_Isr(void) interrupt 4
{
uchar Receive_Byte;
if(RI) //串口1接收中断置位
{
RI = 0; //清除接收中断标志位RI
Receive_Byte = SBUF; //读取串口一字节接收数据
uart_receive_input(Receive_Byte);//接收数据传入mcu_api.c文件
// LED=~LED;
}
if(TI) //串口1发送中断置位
{
TI = 0; //清除发送中断标志位TI
// LED=~LED;
}
}
|