串口通讯一般采用 工作模式1——10位异步收发(1起始+8数据+1停止),由定时器1 提供 波特率,而此模式的 波特率 计算公式:Baud=2^(SMOD)/32 ×T1溢出率;
注:T1溢出率=1/T1中断时间; SMOD 为 倍频系数(0 跟 1);
当 T1 溢出率最大时(即中断时间最短),波特率最大,中断最短也只能 =1个机械周期,晶振Fosc=11.0592MHz, 机械周期 t=12/Fosc,溢出率就= Fosc/12,代入上面公式,
Baud=(2^1)÷32×11059200/12= 57600 bps,支持不了LZ 要的 115200 的波特率,不过 好在,STC89C52单片机,是支持 机械周期 倍频的(在烧录时选择“双倍频”),它可以把 12T 模式 倍频为 6T模式,也就是 把上面 的12 替代为 6,计算结果 = 115200,刚好等于 LZ 要的。
温馨提示:答案为网友推荐,仅供参考