串口波特率

本文详细介绍了如何在STC89C52单片机中设置串口的波特率,特别是通过定时器T1的自动重装载模式实现波特率的精确控制。此外还探讨了电源管理寄存器PCON的作用以及如何通过它提高波特率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在硬件串口模块中,有一个专门的波特率发生器用来控制发送和接收数据的速度。对于STC89C52 单片机来讲,这个波特率发生器只能由定时器 T1 或定时器 T2 产生,默认是使用定时器 的,就使用定时器 T1 作为波特率发生器来讲解,方式 下的波特率发生器必须使用定时器 T1 模式 2,也就是自动重装载模式,定时器的重载值计算公式为:

TH1 = TL1 = 256 -  晶振值/12 /2/16 /波特率

和波特率有关的还有一个寄存器,是一个电源管理寄存器 PCON,他的最高位可以把波特率提高一倍,也就是如果写 PCON |= 0x80 以后,计算公式就成了:

TH1 = TL1 = 256 -  晶振值/12 /16 /波特率

256 是 位定时器的溢出值,也就是 TL1 的溢出值,晶振值是11.0592Mhz12 是说 个机器周期等于 12 个时钟周期,值得关注的是这个 16,采取的方式是把一位信号采集 16 次,其中第 78次取出来,这三次中其中两次如果是高电平,那么就认定这一位数据是 1,如果两次是低电平,那么就认定这一位是 0,这样一旦受到意外干扰读错一次数据,也依然可以保证最终数据的正确性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值