科技> 正文

【世界热闻】串口波特率计算的原理是什么?串口波特率计算的原理怎么应用?

时间: 2022-10-10 15:23:13 来源: IT专家网


(资料图片)

哈喽小伙伴们 ,今天给大家科普一个小知识。在日常生活中我们或多或少的都会接触到串口波特率计算的原理分析方面的一些说法,有的小伙伴还不是很了解,今天就给大家详细的介绍一下关于串口波特率计算的原理分析的相关内容。

波特率基本概念:波特率是一个衡量通信速度的参数,它表示每秒钟传送的bit的个数(来自:http://baike.haosou.com/doc/5430972-5669264.html)。

在单片机串口通信的设置中,绝大多数情况下,波特率是通过编程人员编写程序设定的。那么我们如何去理解波特率的计算原理呢。

传统51单片机串口通信时(定时器1作为波特率发生器)波特率的计算公式是这样的:

首先我们要完全理解这个公式,然后我们才能更好的去运用它。其中,‘SMOD’是PCON寄存器中的一个bit,可以通过对PCON赋值,设置‘SMOD’为0(波特率不加倍)或1(波特率加倍);再看上式中的‘32’,‘32’指的是溢出信号经过32分频,当然,并不是所有的单片机的溢出信号都要经过32分频。对上式的理解关键的地方是‘T1的溢出率’,这里的溢出率指的是定时器在单位时间内溢出的次数,所谓溢出,就是定时器从开始计数到计数达到最大值时,如果再加1,定时器就会溢出。这样就有以下的溢出率计算公式:

传统51单片机(12T)计数时钟是晶振的12分频,所以对于传统的51单片机而言,单位时间内单片机可以计数的次数=晶振频率/12;定时器溢出一次单片机计数的次数=定时器计数的最大值-初值;举个例子说明:现在我们选用的晶振为12M,定时器是8位的,计数的最大值为256(2的8次方),我们赋予定时器的初值为156,那么就有:

这样,我们就可以根据第一个式子计算出相应的波特率了。同理,如果一开始我们就确定了波特率,那么我们也可以通过以上第一和第二个式子把定时器的初值计算出来。其实很多时候,波特率的计算,其实就是定时器初值的计算。

最后啰嗦几句,波特率的计算不能一概而论,比如有些单片机对定时器的溢出信号的处理不是32分频而是4分频(比如STC15系列单片机),而且用12T单片机时单位时间内单片机可以计数的次数=晶振频率/12;如果用的是1T单片机时,则有:单位时间内单片机可以计数的次数=晶振频率。所以我们根据实际情况出发,实事求是。

关键词: 计算公式 实事求是

责任编辑:QL0009

为你推荐

关于我们| 联系我们| 投稿合作| 法律声明| 广告投放

版权所有 © 2020 跑酷财经网

所载文章、数据仅供参考,使用前务请仔细阅读网站声明。本站不作任何非法律允许范围内服务!

联系我们:315 541 185@qq.com