单片机串行通信波特率的自适应实现方法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机串行通信波特率的自适应实现方法
在串行异步通信中,目前实现波特率自动检测并适应的设计思想有多种,
可是他们或者需要额外的硬件支持,或者实现时方法繁杂且软件开销大。文章
介绍了一种简单可靠的用软件实现波特率自动适应的方法,并给出了仿真调试
电路原理图,给出了同步程序的详细框图。该方法提高了波特率解调的便捷性
和兼容性。
1仿真电路
SST89C54/58 单片机是MCS-51 系列单片机的派生产品,他们在指令系统、硬件结构和片内资源上与标准8052 单片机完全兼容。实际上SST 公司的SST89C54/58 是一款使用非常方便51 系列单片机,如不考虑其看门狗定时器和内部Flash 程序存储器,可以将其看成是一个可在线编程的标准8052 单片机。图1 为实现串行通信仿真调试硬件原理图,这是一个通用的串行通信接口电路INT0 脚用来启动从机同步适应。同步建立后的数据传送过程中外部中断0 被禁止,而一批数据传送完毕后进入待机监控状态时则开放外中断。
2波特率自适应实现原理
2.1波特率
对于8052 单片机,串行通信用定时器1 或定时器2 作波特率发生器,波特
率取决于他们的溢出率。当串行口在工作方式1,3,用定时器1 作波特率发生
器时,则波特率计算如下:
当定时器1 工作方式2 时,n=8,X 为定时器1 初值。
当定时器1 工作方式1 时,n=16,X 为定时器1 初值。
若用定时器2 作波特率发生器时,则波特率计算公式如下:
其中:X 为定时器2 的初值。