首页 理论教育 串行接口波特率设计-单片机原理与应用

串行接口波特率设计-单片机原理与应用

时间:2023-10-22 理论教育 版权反馈
【摘要】:串行接口的四种工作方式对应三种波特率。方式2波特率取决于PCON中SMOD位的值:当SMOD=0时,波特率为fosc的1/64;若SMOD=1,则波特率为fosc的1/32,即3)方式1和方式3的波特率:方式1和方式3的移位时钟脉冲由定时器T1的溢出率决定,因此8051串行接口方式1和方式3的波特率由定时器T1的溢出率与SMOD值同时决定。如果串行通信选用很低的波特率,可将定时器T1置于模式0或模式1,即13位或16位定时方式。

串行接口波特率设计-单片机原理与应用

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

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

1)方式0的波特率:

方式0波特率=fosc/12

2)方式2的波特率:串行接口方式2波特率的产生与方式0不同,即输入的时钟源不同。方式2波特率取决于PCON中SMOD位的值:当SMOD=0时,波特率为fosc的1/64;若SMOD=1,则波特率为fosc的1/32,即

3)方式1和方式3的波特率:方式1和方式3的移位时钟脉冲由定时器T1的溢出率决定,因此8051串行接口方式1和方式3的波特率由定时器T1的溢出率与SMOD值同时决定。

方式1、3波特率=T1的溢出率/n(www.xing528.com)

当SMOD=0时,n=32;SMOD=1时,n=16。所以可用下式确定方式1、3的波特率

其中,T1溢出速率取决于T1的计数速率(计数速率=fosc/12)和T1预置的初值。

T1采用模式1时,波特率公式如下:

定时器T1作波特率发生器使用时,通常选用定时器模式2(自动重装初值定时器)比较实用。要设置定时器T1为定时方式(使978-7-111-46831-8-Chapter07-181.jpg),让T1计数内部振荡脉冲,即计数速率为fosc/12(注意应禁止T1中断,以免溢出而产生不必要的中断)。先设定TH1和TL1定时计数初值为X,那么每过“28-X”个机器周期,定时器T1就会产生一次溢出,因此T1溢出速率为:

由此可以计算定时器T1模式2下的初值。

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

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

我要反馈