泰山网 精选问答 51单片机:波特率的计算和定时器初始值的计算(含代码)

51单片机:波特率的计算和定时器初始值的计算(含代码)

大家好,今天给大家介绍,下方附有本文涉及的全部资料和源代码的获取方式,可进群免费领取。
点击这里找小助理0元领取:
前言
本文承接上篇,留下的悬念,我们来对串口通信中的波特率进行详细讲解
比如我要配置相应的串口波特率,那么定时器的初值该如何计算。知道了定时器的初始值,该如何通过定时器的初始值来计算波特率
这里注意,其实波特率的计算完全可以通过stc-isp软件直接生成,如下图所示,选择波特率为4800,因为我们是通过定时器1的模式二来产生波特率的,在波特率发生器这一部分选择模式二八位重装模块。选择波特率倍速,即SMOD=1。定时器时钟为12T。这样就生成了串口波特率的初始状态。
这里解释一下配置的各个寄存器
PCON | =0x80,SMOD最高位为1,波特率加倍。
SCON=0x50,配置串口模式1,对应的SM0 SM1位位 0 1,也即是SCON寄存器的高四位,被置成了 0 1 0 1,软件把REN位默认置1了,可以允许接收数据。
定时器的相关配置位,定时器1,模式二,八位自动重装模式,不开启定时器1的中断,启动定时功能。
一、根据要配置的波特率来计算定时器T1的初始值
通常情况下,我们在进行串口通信的时候,要保持双机通信时的波特率相同,不然就会出现收发数据不对的情况。下面就直接上图,告诉该如何配置定时器T1的初始值。
首先要明确四点,以此来举例
假定开发板的晶振为12MHZ。
定时器T1选择模式二,八位自动重装模式。
串口选择方式1,10位异步收发模式,且波特率加倍。
配置的波特率为4800
好了,来吧!直接上图,简洁易懂:
串口计算波特率的公式:
根据下图来直接计算
明确两点:
1. 串口模式的选择
2. 波特率是否加倍,即SMOD是为0 OR 1
二、根据定时器的初始值来计算波特率
经过了上面的阅读,相信你对串口通信的波特率有了一个深刻的印象。
那么我们根据定时器的初始值该如何计算波特率呢?
串口结构图:
来吧,直接上图:
总结
以上就是对串口波特率的计算和定时器初始值的计算总结。
掌握串口波特率的计算,将会使你对串口通信的理解更深一步
加油加油!
完整资料可进群免费领取!!!
嵌入式物联网的学习之路非常漫长,不少人因为学习路线不对或者学习内容不够专业而错失高薪offer。不过别担心,我为大家整理了一份150多G的学习资源,基本上涵盖了嵌入式物联网学习的所有内容。点击下方链接,0元领取学习资源,让你的学习之路更加顺畅!记得点赞、关注、收藏、转发哦!

本文来自网络,不代表泰山网立场,转载请注明出处:https://www.tshxkg.cn/jxwd/1459177753.html

发表评论

返回顶部