调用:UART_init(); 参数:无 返回值:无 结果:启动UART串口接收中断,允许串口接收,启动T/C1产生波特率(占用) 备注:振荡晶体为12MHz,PC串口端设置 [ 4800,8,无,1,无 ] /***/ void UART_init (void){ EA = 1; //允许总中断(如不使用中断,可用//屏蔽) ES = 1; //允许UART串口的中断 TMOD = 0x2...
*函数名 : uart_init * 函数功能 : 串口通信中断配置函数,通过设置TH和TL即可确定定时时间 *输 入 : baud:波特率对应的TH、TL装载值 *输 出 : 无 ***/voiduart_init(u8 baud){ TMOD|=0X20;//设置计数器工作方式2SCON=0X50;//设置为工作方式1PCON=0X80;//波特率加倍TH1=baud;//计数器初始值设置T...
1.11 软件设计 #include"reg52.h"typedefunsignedintu16;//对系统默认数据类型进行重定义typedefunsignedcharu8;//串口通信中断配置函数,通过设置TH和TL即可确定定时时间voiduart_init(u8baud){TMOD|=0X20;//设置计数器工作方式2SCON=0X50;//设置为工作方式1PCON=0X80;//波特率加倍TH1=baud;//计数器初始值设置T...
UART_data=SBUF; //把接收到的1bit数据放到UART_data SBUF=UART_data; //把UART_data数据发送出去 while(TI==0); //等待发送结束 TI=0; //TI发送标志位置0,等待新的发送 } void main (void) { UART_init(); while (1) { } } 2、把UART_data数据加2发送出去 /* 工程创建MCU选取,Atmel 89C55...
void Time2_init(); #endif */ 3 定时器1串口 Time1Uart.c #include<REGX52.H>voidTime1Uart_Init(){ SCON=0x50;//SM0 SM1为方式1,8位UART。REN为1,允许接收。TI RI为0PCON &=0x80;//SMOD保持不变为0,波特率不加倍。TMOD &=0x0F;//设置定时器1模式,不影响定时器0TMOD |=0x20;//设置定...
uart_utils.c #include "uart_utils.h"#include <reg52.h>/*** @brief 串口初始化*/void uart_init(u8 baud){ // 设置计数器1的工作方式2 TMOD = 0x20; // 设置定时器1的工作方式1 SCON = 0x50; // 0b01010000 // 波特率倍频 PCON = 0x80; // 0b10000000 // 计数...
#include "uart.h" //串口初始化 //晶振11.0592MHz //设置的波特率为9600 void Uart_Init(){ //设置T1定时器 TMOD=0x20; //定时器工作在方式2 //定时器初值 TH1=0xfa; TL1=0xfa; //自动重装载 //SMOD是在PCON寄存器中,且不能使用位操作 ...
void uart_init(u8 baud){ // 设置计数器1的工作方式2 TMOD = 0x20; // 设置定时器1的工作方式1 SCON = 0x50; // 0b01010000 // 波特率倍频 PCON = 0x80; // 0b10000000 // 计数器初始值 TH1 = baud; TL1 = baud; // 打开接收中断 ...
void uart_init(u8 baud) { TMOD|=0X20; //设置计数器工作方式2 SCON=0X50; //设置为工作方式1 PCON=0X80; //波特率加倍 TH1=baud; //计数器初始值设置 TL1=baud; ES=1; //打开接收中断 EA=1; //打开总中断 TR1=1; //打开计数器