波特率计算公式_波特率和字节的关系

电子常识

2647人已加入

描述

  波特率计算公式

  在串行通信中,收发双方对发送或接收的数据速率要有一定的约定, 我们通过软件对MCS- 51串行口编程可约定四种工作方式。其中,方式0和方式2的波特率是固定的,而方式1和方式3的波特率是可变的,由定时器T1的溢出率决定。

  串行口的四种工作方式对应着三种波特率。由于输人的移位时钟的来源不同,所以,各种方式的波特率计算公式也不同。

  1、方式0的波特率

  方式时,移位时钟脉冲由56 (即第6个状态周期,第12个节拍)给出,即每个机器周期产生一个移位时钟,发送或接收一-位数据。所以,波特率为振荡频率的十二分之一, 并不受PCON寄存器中SIMOD的影响,即:方式0的波特率=fosc/12

  2、方式2的波特率

  串行口方式2波特率的产生与方式0不同,即输入时钏源的频率不同,控制接收与发送的移位时钟由振荡频率Foec的第二节拍P2 (即]

  Foec/2)给出,所以,方式2波特率取决于PCON中smOD位的值,当SMOD=0时 ,波特率为Foec的六十四分之- -若sMOD=1,则波特率为Foec的三十二分之一,即:方式2的波特率=2smod/64*Foeco

  3、方式1和方式8的波特率

  方式1和方式3的移位时钟脉冲由定时器r1的溢出率决定,故波特宰由定时器T1的溢出率与sMOD值同时决定,即:方式1和方式3的波特率=2SMOD/32 -T1溢出率。

  其中,溢出率取决于计数速率和定时器的预置值。计数速率与TMOD寄存器中c/T的状态有关。当c/T=0时,计数速率=fosc/2;当C/T=1时,计数速率取决于外部输入时钟频率。

  当定时器11作波特率发生器使用时,通常选用可自动装入初值模式(工作方式2),在工作方式2中,IL1作为计数用,而自动装入的初值放在TH1中,设计数初值为x,则每过“256- -x”个机器周期,定时器1就会产生一次溢出。 为了避免因溢出而引起中断,此时应禁止1中断。这时,溢出周期为:系统晶振频率选为11. 0592M1Z就是为了使初值为整数,从而产生精确的波特率。

  如果串行通信选用很低的波特率,可将定时器T1置于工作方式0或工作方式1,但在这种情况下,T1溢出时,需用中断服务程序重装初值。中断响应时间和执行指令时间会使波特率产生一定的误差,可用改变初值的办法加以调整,上表列出了 各种常用的波特率及其初值。

  总而言之,认识波特率从定义开始,逐步熟悉公式,每一-个点滴的知识小结,总结到位,为以后的技术之路做好铺垫。

  波特率和字节的关系

  1GB=1024MB

  1MB=1024KB

  1KB=1024B(字节)

  我们需要串口接收的数据数每秒512字节,串口的波特率是115200位/秒

  波特率115200=115200(位/秒)

  如果没有校验位,就应该除以10,得到的是每秒字节数:波特率115200=115200(位/秒)=11520(字节/秒)

  再除以1024,就是每秒KB数:波特率115200=115200(位/秒)=11.25(KB/秒)也就是满足每秒可以接收512字节。

  小编推荐阅读:

  波特率越高越好吗_波特率越大传输速度越快吗

  波特率的单位_波特率9600与19200的区别

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分