首页 理论教育 串行通信波特率在单片机原理与应用技术中的应用

串行通信波特率在单片机原理与应用技术中的应用

时间:2026-01-26 理论教育 安安 版权反馈
【摘要】:串行口的波特率是每秒钟发送或接收的数据位数,单位为bit/s。在3.3.3节已提及:方式0和方式2波特率固定,方式1和方式3波特率可变。X=256-21×6×106/=242.98≈243→F3H由定时器1模式2产生的常用波特率参数见表3-4。表3-4 定时器1模式2产生的常用波特率参数实际应用时多采用11.0592MHz的晶振频率,因其波特率误差为零;晶振频率为12MHz时,所选波特率最高不要超过4800bit/s,否则误差明显大于0.16%。

串行口的波特率是每秒钟发送或接收的数据位数,单位为bit/s。影响波特率的三个因素为:①晶振频率fosc;②电源控制寄存器PCON中的波特率倍增位SMOD;③定时器/计数器T1的溢出率设置。在3.3.3节已提及:方式0和方式2波特率固定,方式1和方式3波特率可变。

1.定时器/计数器T1溢出率的计算

相关因素有:①T1溢出率=定时溢出次数/s;②定时器/计数器工作方式的选择。T1实际上只有模式0、1、2三种可选,因此选模式2(8位自动重装)来实现,其溢出率计算如下:

X为预置值。

溢出一次的时间为:(28-X)×12/fosc

溢出率(T1)=fosc/12/(28-X)次/s

例:设晶振频率fosc=6MHz,预置值X=F3H,则有:

溢出率(T1)=6×106/(28-F3H)/12≈38461.5次/s

2.波特率的设置

方式1和方式3的波特率可以人为设定。

波特率=(2SMOD/32)×(定时器T1的溢出率)(https://www.xing528.com)

=(2SMOD/32)×fosc/12/(28-X

通常在实际应用中给出了波特率,求定时器预置值X

X=256-2SMOD×fosc/(波特率×32×12)

例:fosc=6MHz,SMOD=1,波特率2400bit/s,求定时器预置值X

X=256-21×6×106/(2400×32×12)

=242.98≈243→F3H

由定时器1模式2产生的常用波特率参数见表3-4。

3-4 定时器1模式2产生的常用波特率参数

图示

实际应用时多采用11.0592MHz的晶振频率,因其波特率误差为零;晶振频率为12MHz时,所选波特率最高不要超过4800bit/s,否则误差明显大于0.16%。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈