提供《自动检测80C51 串行通讯中的波特率》完整单片机编程工程技术资料下载(归档大小 169 K),包含相关硬件原理图参考、开发文档或源代码工程。
自动检测80C51串行通讯中的波特率
资料详细技术说明
自动检测80C51串行通讯中的波特率:本文介绍一种在80C51 串行通讯应用中自动检测波特率的方法。按照经验,程序起动后所接收到的第1 个字符用于测量波特率。这种方法可以不用设定难于记忆的开关,还可以免去在有关应用中使用多种不同波特率的烦恼。人们可以设想:一种可靠地实现自动波特检测的方法是可能的,它无须严格限制可被确认的字符。问题是:在各种的条件下,如何可以在大量允许出现的字符中找出波特率定时间隔。显然,最快捷的方法是检测一个单独位时间(single bit time),以确定接收波特率应该是多少。可是,在RS-232 模式下,许多ASCII 字符并不能测量出一个单独位时间。对于大多数字符来说,只要波特率存在合理波动(这里的波特率是指标准波特率),从起始位到最后一位“可见”位的数据传输周期就会在一定范围内发生变化。此外,许多系统采用8 位数据、无奇偶校验的格式传输ASCII 字符。在这种格式里,普通ASCII 字节不会有MSB 设定,并且,UART总是先发送数据低位(LSB),后发送数据高位(MSB),我们总会看见数据的停止位。在下面的波特率检测程序中,先等待串行通讯输入管脚的起始信号(下降沿),然后起动定时器T0。在其后的串行数据的每一个上升沿,将定时器T0 的数值捕获并保存。当定时器T0溢出时,其最后一次捕获的数值即为从串行数据起始位到最后一个上升沿(我们假设是停止位)过程所持续的时间。
相关单片机编程资料推荐
下载与解压说明
下载积分规则
- 本资源下载仅需 2 积分
- 24 小时内重复下载免扣积分
- VIP 会员享专属免积分高速通道
文件解压指南
- 推荐使用 7-Zip 或新版 WinRAR 解压
- 原理图与 PCB 请使用对应 EDA 软件打开
- 压缩包内源码可直接在上方在线预览
免费获取积分
- 新用户注册即赠送 10 积分
- 上传分享工程资料可获得持续积分奖励
- 查看积分规则与会员权益 →