serial.c

来自「通用 51单片机 UART 0 初始化程序」· C语言 代码 · 共 24 行

C
24
字号
通用 51单片机 UART 0 初始化程序,适用于不同波特率,不同晶振
                                          
                                                                         
                                                                            
                                                                            
                                                                             
                                                                            

#define MHz     1000000U        // 定义 MHz
#define gCLK    (22.1184*MHz)   // 系统时钟频率

#define UART_BAUD   9600        // 定义所用的波特率

// 串行通讯初始化函数,在程序开始时调用
void serial_init(void)
{
    SCON  = 0x50;               // Mode 1: 8-bit UART, 允许接收
    TMOD |= 0x20;               // 定时器1 Mode 2: 8-Bit reload
    PCON  = 0x80;               // SMOD = 1
    TH1   = 256 - (uchar)(gCLK/192.0F/UART_BAUD);
    TR1   = 1;                  // 定时器 1 启动
    ES    = 1;                  // 串行中断允许
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?