最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

51单片机波特率计算公式和定时器初值

IT圈 admin 37浏览 0评论

2024年4月14日发(作者:旗恩霈)

51单片机波特率计算公式和定时器初值

波特率 = 2^SMOD * (Fosc / (32 * (256 - TH1)))

其中

- Fosc是单片机的振荡频率

-SMOD表示串口模式选择位(位于PCON寄存器)

-当SMOD=0时,波特率加倍,即2*波特率

-当SMOD=1时,波特率不变,即1*波特率

-TH1是定时器1的初值

定时器1的初值计算公式为:

TH1 = 256 - (Fosc / (32 * 2^SMOD)) / 波特率

需要根据实际情况,选择合适的波特率计算参数。

以下是一个示例:

假设单片机的振荡频率为11.0592MHz,需要设置波特率为9600。

首先,假设SMOD=0(不加倍波特率)。

计算TH1:

TH1 = 256 - (Fosc / (32 * 2^0)) / 9600

=256-36.125

=219.875

由于TH1是一个8位寄存器,所以需要取整,取最接近的整数:

TH1=220

因此,定时器1的初值为220。

定时器1以溢出的方式进行计数,并且串口通信时,需要根据波特率

设置好定时器1的初值,以保证波特率正确。

注意:

-对于不同的单片机,其定时器1的计算方法可能会有所不同,请根

据所使用的具体型号的数据手册进行参考。

-SMOD可以根据具体要求选择为0或1,以决定是否加倍波特率。若

要加倍波特率,可以将SMOD置为1

2024年4月14日发(作者:旗恩霈)

51单片机波特率计算公式和定时器初值

波特率 = 2^SMOD * (Fosc / (32 * (256 - TH1)))

其中

- Fosc是单片机的振荡频率

-SMOD表示串口模式选择位(位于PCON寄存器)

-当SMOD=0时,波特率加倍,即2*波特率

-当SMOD=1时,波特率不变,即1*波特率

-TH1是定时器1的初值

定时器1的初值计算公式为:

TH1 = 256 - (Fosc / (32 * 2^SMOD)) / 波特率

需要根据实际情况,选择合适的波特率计算参数。

以下是一个示例:

假设单片机的振荡频率为11.0592MHz,需要设置波特率为9600。

首先,假设SMOD=0(不加倍波特率)。

计算TH1:

TH1 = 256 - (Fosc / (32 * 2^0)) / 9600

=256-36.125

=219.875

由于TH1是一个8位寄存器,所以需要取整,取最接近的整数:

TH1=220

因此,定时器1的初值为220。

定时器1以溢出的方式进行计数,并且串口通信时,需要根据波特率

设置好定时器1的初值,以保证波特率正确。

注意:

-对于不同的单片机,其定时器1的计算方法可能会有所不同,请根

据所使用的具体型号的数据手册进行参考。

-SMOD可以根据具体要求选择为0或1,以决定是否加倍波特率。若

要加倍波特率,可以将SMOD置为1

发布评论

评论列表 (0)

  1. 暂无评论