原创 转载:8051的串口波特率的计算

2009-9-3 10:43 3677 5 5 分类: MCU/ 嵌入式

8051的串口波特率的计算



嵌入式软件   2008-07-28 09:54   阅读38   评论0  

字号:    





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


溢出率为溢出周期的倒数,所以:




4576783121316205107.jpg


如此,也可由波特率反推出计数器的初始值。


下面是常用的波特率及初始值:





4576783121316205108.jpg



4576783121316205109.jpg

 


51单片机模拟串口波特率计算方法

 

1.计算波特率位间隔时间(即定时时间,其实就是波特率的倒数)

             位间隔时间(us) =   10(us) /  波特率(bps)


2.计算单片机指令周期:


             指令周期(us) =  12 /   晶振频率(Mhz)

 

3.计算定时器初值:


             需要指令周期个数 =  位间隔时间(us) /   指令周期(us)

             定时器初值 = 2n  —  需要指令周期个数


            n为定时器位数。

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
5
关闭 站长推荐上一条 /3 下一条