5.1.3 什么是波特率(课件)《单片机应用技术》同步教学(中国科学技术出版社)
|
12页
|
101人阅读
|
9人下载
普通
内容正文:
什么是波特率
单片机精品课程
更多模板请关注:https://haosc.taobao.com
CONTENTS
目录
01
02
03
04
波特率的概念
波特率的计算
波特率的设置
小结
道艺兼修
敬业乐群
波特率的概念
01
波特率是表征串行通信数据传输快慢的物理量。
通常用每秒钟传送的二进制数据的位数表示,单位:bps (位/秒).
如:波特率为1200bps是指每秒钟能传输1200位二进制数码。
常用波特率:50、110、300、600、1200、2400、4800、9600、19200、38400波特等。
需要注意,串行通信的收发双方必须采用相同的波特率。
3
波特率的计算
02
1.方式0
波特率与系统时钟频率fCLK有关。一旦系统时钟频率选定,方式0的波特率固定不变。波特率为fCLK/12,其中, fCLK为单片机的时钟频率。
2. 方式2
波特率与系统时钟频率、SMOD位的值有关。其计算公式为:
4
波特率的计算
02
3.方式1和方式3
串行口工作在方式1或方式3时,波特率设置方法相同,采用定时器T1作为波特率发生器。其计算公式为:
当定时器T1作波特率发生器使用时,通常工作在方式2,即8位自动重装载方式。
设计数初值为X, 那么每过“256 – X”个机器周期,T1产生一次溢出。
5
波特率的计算
02
设Tcy为定时器T1计一个数所需的时间。所以:
可见,波特率随 fCLK、SMOD和初值X而变化。在已知波特率的前提下,定时器T1的初始值为:
则:
6
波特率的计算
02
[例题]:假定单片机晶体振荡频率fosc = 12MHz,定时器1工作于方式2,要求串行口波特率为9600bps,试计算定时器1的计数初始值X。
解:在此,单片机的时钟频率fCLK等于晶体振荡频率fosc ,所以:
当SMOD=0时:
当SMOD=1时:
7
波特率的计算
02
当SMOD=0时:
取X=253,则实际波特率为:
当SMOD=1时:
取X=249,则实际波特率为:
8
波特率的计算
02
显然,SMOD=1时波特率误差较小。所以,取SMOD=1,定时器T1
赋初始值X=249。
9
波特率的设置
03
对于上述例题,如果取SMOD=1,则波特率设置可参考如下程序:
10
小结
04
(2)方式1和方式3中,在一定范围内波特率是可以任意设置的,这时用定时器1作为波特率发生器,且一般工作在方式2。
(1)串行口工作方式0和方式2,波特率是固定的;
(3)在计算定时器1的初始值时,应根据SMOD取值不同,分别计算,最终选取误差小的取值。
11
谢谢收看!
Simple Gifts
Jewel
Lullaby
167584.05
$$