本文主要是介绍串口波特率选择,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
波特率(Boud Rate)就是在串口通信中每秒能够发送的位数(bits/second)。MCS-51串行端口在四种工作模式下有不同的波特率计算方法。其中,模式0和模式2波特率计算很简单;模式1和模式3的波特率选择相同,故在此仅以工作模式1为例来说明串口通信波特率的选择。
在串行端口工作于模式1,其波特率将由计时/计数器1来产生,通常设置定时器工作于模式2(自动再加模式)。在此模式下波特率计算公式为:
波特率=(1+SMOD)*晶振频率/(384*(256-TH1))
其中,SMOD——寄存器PCON的第7位,称为波特率倍增位;
TH1——定时器的重载值。
在选择波特率的时候需要考虑两点:首先,系统需要的通信速率。这要根据系统的运作特点,确定通信的频率范围。然后考虑通信时钟误差。使用同一晶振频率在选择不同的通信速率时通信时钟误差会有很大差别。为了通信的稳定,我们应该尽量选择时钟误差最小的频率进行通信。
下面举例说明波特率选择过程:
假设系统要求的通信频率在20000bit/s以下,晶振频率为12MHz,设置SMOD=1(即波特率倍增)。则
TH1=256-6
这篇关于串口波特率选择的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!