首页 理论教育51单片机初级入门实战教程:波特率设置与串行通信方法

51单片机初级入门实战教程:波特率设置与串行通信方法

【摘要】:注意:进行单片机电子系统设计时,时钟频率一般选用11.05926MHz时,可以获得标准的波特率,所以51单片机选用这个看起来很“怪”的晶振。因为方式0和2波特率是固定传输,方式1和3波特率是可变的,表3-15给出方式1和方式3常用波特率设置。表3-15 常用波特率设置表单片机的串行通信方法较为多样,传统的串行通信方式是通过单片机自带的串行口进行RS232方式的通信。

波特率是串行通信中的一个重要概念。波特率(bitpersecond)是单位时间里传输的数据位数,单位为波特(或bit/s)。如数据传送速率是200字符/s,每个字符包含10位,则传送波特率为2000波特。波特率的倒数就是传送每位数据所需要的时间。相互通信的双方必须具有相同的波特率,否则无法成功地完成数据通信

在串行通讯中,收发双方的数据传送率(波特率)要有一定的约定。51单片机串行口的4种工作方式,方式0和2的波特率是固定的,而方式1和3的波特率是可变的,由定时器T1的溢出率控制。

1.工作方式0

波特率由振荡器频率fosc确定:波特率=fosc/12

定时器T1工作方式0:溢出所需周期数=8192-x,x为初始值。

2.工作方式1

波特率由定时/计数器T1的溢出率和SMOD共同决定,其中:

波特率=2SMOD×(定时器1溢出率)/32

T1溢出率=T1计数率/产生溢出所需的周期数

定时器T1工作于方式1:溢出所需周期数=65536-x,x为初始值。

3.工作方式2

波特率由振荡器频率fosc和SMOD(专用寄存器PCON的最高位)确定。(www.chuimin.cn)

波特率=2SMOD×fosc/64,若SMOD=1时,波特率=fosc/32;若SMOD=0时,波特率=fosc/64。

定时器T1工作于方式2:溢出所需周期数=256-x,x为初始值。

4.工作方式3

波特率由定时/计数器T1的溢出率和SMOD共同决定,其中:

波特率=2SMOD×(定时器1溢出率)/32

T1溢出率=T1计数率/产生溢出所需的周期数

上述讨论中T1计数率取决于它工作在定时器状态还是计数器状态。当工作于定时器状态时,T1计数率为fosc/12;当工作于计数器状态时,T1计数率为外部输入频率,此频率应小于fosc/24。产生溢出所需周期与定时器T1的工作方式、T1的预置值有关。因为方式2为自动重装入初值的8位定时/计数器模式,所以用它来做波特率发生器最恰当。

注意:进行单片机电子系统设计时,时钟频率一般选用11.05926MHz时,可以获得标准的波特率,所以51单片机选用这个看起来很“怪”的晶振。因为方式0和2波特率是固定传输,方式1和3波特率是可变的,表3-15给出方式1和方式3常用波特率设置。

表3-15 常用波特率设置表

978-7-111-47690-0-Part01-133.jpg

单片机的串行通信方法较为多样,传统的串行通信方式是通过单片机自带的串行口进行RS232方式的通信。串行通信适合远距离数据传送,处于两地的计算机之间,采用串行通信成本低廉,另外关于51单片机串行通信应用在第12章单片机串口通信项目中重点介绍。