返回首页

波特率计算器

51/STM32/ESP32 串口波特率与分频寄存器计算,含误差分析与初始化代码

TH1 / TL1
253
0xFD
实际波特率
9600.00
bps
误差
0.0000%
初始化代码
/* 51 单片机 串口初始化  晶振 11.0592MHz  目标波特率 9600 */
/* 实际波特率 9600.00  误差 0.0000%  SMOD=0 */
/* TH1 = 253 (0xFD) */

void UART_Init(void)
{
    PCON &= 0x7F;        /* SMOD=0 波特率不加倍 */
    TMOD &= 0x0F;
    TMOD |= 0x20;        /* 定时器1 模式2(8位自动重装) */
    TH1 = 0xFD;    /* 定时器初值 */
    TL1 = 0xFD;
    TR1 = 1;             /* 启动定时器1 */
    SCON = 0x50;         /* 串口模式1,允许接收 */
    ES = 1;              /* 允许串口中断 */
    EA = 1;              /* 开总中断 */
}
常用波特率对照表
波特率TH1实际波特率误差
12000xE81200.000.0000%
24000xF42400.000.0000%
48000xFA4800.000.0000%
96000xFD9600.000.0000%
192000xFF28800.0050.0000%
384000xFF28800.0025.0000%
57600超出范围
115200超出范围