8051的串口波特率的计算
1、方式0的波特率,固定为晶振频率的十二分之一。
2、方式2的波特率,取决于PCON寄存器的SMOD位。
PCON是一个特殊的寄存器,除了最高位SMOD外,其他位都是虚设的。
计算方法如下:
SMOD="0时",波特率为晶振频率的1/64;
SMOD="1时",为晶振频率的1/32.
3、方式1与方式3的波特率,都由定时器的溢出率决定。公式为:
波特率 = (2SMOD / 32) × (定时器T1的溢出率)
通常情况下,我们使用定时器的工作方式2,即比率发生器,自动重载计数常数。
溢出的周期为:
T = (256 - X) × 12 / fosc
溢出率为溢出周期的倒数,所以:
如此,也可由波特率反推出计数器的初始值。
下面是常用的波特率及初始值:
位间隔时间(us) = 106 (us) / 波特率(bps)
定时器初值 = 2n — 需要指令周期个数
n为定时器位数。
文章评论(0条评论)
登录后参与讨论