STC单片机波特率自适应方法
3 误差分析
为保证可靠通信,要求通信双方的波特率相对误差小于2.5%.
在自适应波特率校准系统中,误差主要来自两个方面,一是定时器T0 启动和停止滞后造成的误差ΔT0;二是波特率发生器T1 本身固有的一个机器周期误差ΔT1 = ±1.由于STC51单片机采用1T 时钟定时,ΔT0 误差只有标准51系列芯片的1 12,系统误差主要由ΔT1 决定。
以STC12C5620为例,当采用片内RC振荡,时钟频率通常在5.2~6.9 MHz 之间。当时钟频率为5.2 MHz,SMOD=1时,UART时钟分别按12T,1T 计算,见表1,表2.
表1、表2中加粗部分表示可以选用的波特率值,由表1、表2可知,只要编程时选择合适的时钟,在5.2 MHz时钟频率下,波特率可以在300~115 200 b/s 之间实现自适应,由T1 取整带来的误差在0.5%以内。当系统时钟为6.9 MHz时,用同样的方法计算,也可以证明波特率可以在300~115 200 b/s 之间实现自适应,由T1 取整带来的误差也在0.5%以内。由此可见,STC12C5620采用片内RC振荡,可以在300~115 200 b/s之间完成波特率自适应,实现稳定可靠的通信。
4 软件流程与程序
主机软件流程图如图3所示,从机软件流程图如图4所示。
以下为C51波特率自适应程序:
51单片机相关文章:51单片机教程
单片机相关文章:单片机教程
单片机相关文章:单片机视频教程
单片机相关文章:单片机工作原理
数字通信相关文章:数字通信原理
通信相关文章:通信原理
负离子发生器相关文章:负离子发生器原理 尘埃粒子计数器相关文章:尘埃粒子计数器原理 晶振相关文章:晶振原理 离子色谱仪相关文章:离子色谱仪原理
评论