- /********* 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;
- }
- }
|