7章 51单片机串行口

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
通过外接并入串出移位寄 存器扩展输入接口。
RXD TXD
A B CP 74LS164
RXD TXD
Q7 CP 74LS165 D0 D7
Q0Leabharlann Baidu
8051
Q7
8051
输出方式
输入方式
30
2、工作方式1:8位异步通信接口方式

SM0、SM1=01;
RXD为接收端,TXD为发送端;
每帧数据由10位构成:1个起始位 “0”,8个数据 位和1个停止位“1”;其中起始位和停止位在发送时 是自动插入的;
注意:
当SMOD=0时,波特率是fosc/64; 当SMOD=1时,波特率是fosc/32。
34
2、方式1和方式3:波特率可变
f osc 2 SMOD 2 SMOD 波特率= T1溢出率= 32 32 12(256 x)
注意: T1的溢出率为每秒溢出的次数,取决于T1的计数 速率和设置的初值。 实际应用中,T1作为波特率发生器时,常用方式2, 即自动重载的8位定时器。TL1做计数用,TH1做初 值寄存器。
25
主/从多机通信的过程如下:
1、使所有的从机的SM2=1,以便接收主机发来的地址。 2、主机发出一帧地址信息,其中包括8位需要与之通信的从机 地址,第9位为1。 3、所有从机接收到地址帧后,各自将接收到的地址与本机地 址相比较,对于地址相同的从机,使SM2位清0以接收主机随 后发来的数据信息,对于地址不符合的从机,仍保持SM2=1的 状态,对主机随后发来的数据不予理睬,直至发送新的地址帧。 4、主机给已被寻址的从机发送控制指令和数据(数据帧的第9 位为0)。 5、确认数据传送结束后,从机把SM2重新置1,恢复初始状态。
19
①SCON(98H,可位寻址)

功能:串行通信的方式选择 ,接受和发送控制及 串行口的中断标志; 格式:
SM0 SM1 SM2 REN TB8 RB8 TI RI

方式选择
多机 控制
串行接收 允许/ 禁止
欲发的 第九位
收到的 第九位
发送中 断标志 位
接收中 断标志 位
20
SM0、SM1: 串行口工作方式控制位。
比较:

9
3、波特率的概念

波特率:每秒钟所传送的二进制数码的位数。 单位:位/秒(bps) 波特率反映了串行通信的速率。 在异步串行通信中,波特率为每秒传送的字符数和 每个字符的位数的乘积。
10
3、波特率的概念
[例7-1]:数据传送的速率为120字符/秒,而每个字符又 包含10位二进制数,计算波特率大小和每位传送时间。 解: 波特率=120字符/秒×10位/字符

波特率可变,由T1的溢出率和SMOD决定。
31
3、工作方式2/3:9位异步通信接口方式


SM0、SM1=10/11;
RXD为接收端,TXD为发送端;
每帧数据由11位构成:1个起始位 “0”,9个数据位 和1个停止位“1”;其中起始位和停止位在发送时是自 动插入的;

方式2的波特率固定,方式3的波特率可变。
《微型计算机原理及接口技术》
授课专业:自动化 授课学时: 60学时
1
第七章 MCS-51串行口
1
7.1 串行口结构 7.2 串行口工作方式
2
2
§7.1 串行口结构 学习内容
1
2
串行通信 基本概念
串行口 结构
3
一、基本概念
通信的两种基本方式 串行通信的分类
波特率的概念
串行通信的制式
26
②PCON(97H,不可位寻址)
SMOD X X X X X X X
SMOD : 波特率加倍位。 在计算串行方式 1、 2、 3 的波特率时,
SMOD=0——波特率不增倍;
SMOD=1——波特率增大一倍。
27
§7.2 串行口工作方式 学习内容
1
2
工作方式
波特率 计算
28
一、串行口工作方式
MCS-51单片机的串行通信有四种工作方式:
如果 SM2=1 ,只有当接收到的第 9 位数据( RB8 )为“ 1” 时, 才将接收到的前 8 位数据送入 SBUF ,并置“ 1” RI ,产生中 断请求;当接收到的第9位数据(RB8)为“0”时,则将接收 到的前8位数据丢弃。 如果SM2=0,则不论第9位数据是“1”还是“0”,都将前8位 数据送入SBUF中,并置“1” RI,产生中断请求。 • 方式1时,如果SM2=1,则只有收到停止位时才会激活RI。 • 方式0时,SM2必须为0。

CPU读SBUF时: MOV A, SBUF ;就是读取接收SBUF的内容;

CPU写SBUF时:
MOV SBUF, A ;就是修改发送SBUF的内容,同 时启动数据串行发送。
18
3、串行口的控制寄存器
MCS-51串行口是一个可编程接口,涉及两个特 殊功能寄存器:

串行口控制寄存器SCON 电源控制寄存器PCON
1 1
2 2
F3H F3H
0 0
1.2k
600 300
1
1 0
2
2 2
E6H
CCH CCH
0
0 0
2
2 2
E6H
CCH 98H
0
0 0
2
2 2
E8H
D0H A0H
137. 5
110
1
0
2
2
1DH
72H
0
0
2
1
1DH
FEEBH
0
0
2
1
2EH
FEFFH
37
[例7-2]:设51单片机串行口工作于方式1,晶振频率为 12MHz,定时器T1工作于模式2作为波特率发生器, 要求波特率为1200bit/s,SMOD=0,试计算T1的初 值和波特率误差。 答案: T1初值: x=256-2SMOD×fosc/(32×12×波特率)=256-26.04 =230=E6H 实际波特率= 2SMOD×fosc/(32×12×(256-230)) =1201.9b/s=1202bps 误差:2bps
35
设初值为x则每过(28-x)个机器周期,定时器溢出一次。
溢出周期为:(28-x)Tcy=(256-x) ×12/fosc
溢出率是溢出周期的倒数:
T1溢出率=fosc/(12 × (256-x) )
根据给定的波特率,可以计算T1的计数初值x。
f osc x=256 32 12 波特率 2
39
6、从机为了只接收主机发送的地址帧,而对数据帧不予 理 睬,则应置 。 二、选择: 1、串行通信特点为(),并行通信特点为() A、传送距离长,传送速度相对快; B、传送距离短,传送速度相对快; C、传送距离长,传送速度相对慢; D、传送距离短,传送速度相对慢;
40
2、串口工作模式中模式0具有()()()属性; 模式1具有()()()属性; 模式2具有()()()属性; 模式3具有()()()属性。 A、异步通信方式; B、同步通信方式; C、帧格式10位; D、帧格式11位; E、帧格式8位; F、帧格式9位 G、波特率固定为fosc/12; H、波特率为fosc/n (n=64或32) I、波特率为T1溢出率/n(n=32或16) 三、简答: 1、串行通信按照数据传送方向有哪几种方式? 2、解释波特率的含义,串行通信对波特率有什么基本要求? 3、什么叫多机通信?与双机通信有什么区别?
4
1、通信的两种基本方式


通信:是计算机与外界的信息交换。
两种基本方式 并行通信:所传送数据的各位同时发送或接收, 信息传输线的位数与数据的位数相等。 串行通信:所传送数据的各位按顺序一位一位 地发送或接收,先传送低位后送高位。
5
速度快,适合近距离传输;但占用数 线路简单,成本低,适合远距离通信 据线多,线路复杂,成本高。 ;但传输速度慢。 6
16
2、串行口数据缓冲器SBUF
SBUF是两个物理上独立的接收、发送寄存器。 接收SBUF 用于存放接收到的数据,只能读出、不能写入。 发送SBUF 用于存放欲发送的数据,只能写入,不能读出。
17
注意:
串行口可同时发送和接收数据,两个缓冲器公 用一个地址99H,通过对SBUF的读/写指令来区别:
2、串行通信的分类
按照串行数据的时钟控制方式,串行通信可分为:

异步通信 同步通信
①异步通信:

接收器和发射器有各自的时钟,它们的工作非同步;
异步通信用一帧来表示一个字符。
7
一帧信息包括起始位、数据位、奇偶校验位和停止
位四部分。
n-1 第n个字符(一帧) n+1

P
1
0 D0 D1 D2 D3 D4 D5 D6 D7 P 1
38
习 题
一、填空题 1、波特率是指: 。 2、串行通信要求互相通信的两机必须保持 波特率。 3、串行通信按照数据传送方向可分为: 、 、 3种制式。 4、多机通信时,主机向从机发送的信息分为地址信息和数据 信息,靠第9位可编程TB8标志来区分,当设置TB8=1时,表 示将要发出的信息是 ;当设置TB8=0时,表示将要发 出的信息是 。 5、多机通信开始时,一般都先由主机发送地址,各从机将收 到的地址与本机地址比较,如果相同,则设置 准备接 收数据。
=1200位/秒=1200bps。
每一位的传送时间为波特率的倒数:
T=1/1200=0.833ms。
11
4、串行通信的制式
在串行通信中,根据数据在两个站点之间的传送
方向可以分三种制式:

单工 半双工 全双工
12
①单工制式
②半双工制式 数据可以双向传送,但不能同时发送和
接收,要通过换向器转换方向。
1、工作方式0:移位寄存器方式

SM0、SM1=00,同步通信;


数据格式为8位,低位在前,高位在后;
RXD为串行数据的发送端或接收端;
TXD输出同步脉冲;
每一个机器周期从RXD上发送或接收一位数据,波 特率固定。
29

应用:移位寄位器方式多用于接口的扩展。
通过外接串入并出移位 寄存器扩展输出接口。
起 始 位
0 D0

数据位(5~8 位)
校 停 验 止 位 位
8
②同步通信:


接收器和发射器由同一时钟源控制;
同步传输方式去掉了异步传输的起始位和停止位, 只在传输数据块时先送出一个同步标志即可。 同步传输方式比异步传输方式速度快; 同步传输方式必须用一个时钟来协调收发器的工作, 所以它的硬件设备复杂。
13
③全双工制式
通信双方用两个独立的收发器 单独连接,可以同时发送和接 收数据,因而提高了速度。
14
二、串行口结构
1、MSC-51串行口特点:

功能很强的全双工串行口,可同时接收和发送数据; 接收、发送数据均可工作在查询方式或中断方式; 能方便地与其他计算机或外设实现双机、多机通信。
15
36
SMOD
常用波特率一览表
波特率 (方式1、3)
fosc=6M
SMOD T1方式
fosc=12M
初值
SMOD
fosc = 11.059M
初值
SMOD T1方式
T1方式
初值 FDH FDH FAH F4H
62.5k
19.2k 9.6k 4.8k 2.4k 1 2 F3H
1
2
FFH
1 0 2 2 2 2
SM0 0 0 1 1 SM1 0 1 0 1 工作方式 方式0 方式1 方式2 方式3 功能说明 同步移位寄存器 8位UART 9位UART 9位UART 波特率 fosc/12 可变 fosc/64或fosc/32 可变
SM2:多机通信控制位。用于方式2或方式3中。
21
• 当串行口以方式2或方式3接收时,
从机
从机
从机
SM2: 多机通信控制位,仅用于方式2和方式3,此时, 主机设置SM2=1,以发送第九位TB8为1作为地址帧寻找从 机,以TB8为0作为数据帧进行通信。 从机初始化时设置SM2=1,若接收到的第九位数据RB8=0, 不置位RI,即不引起接收中断,亦既不接收数据帧,继续监 听,如接收到的RB8=1,置位RI,引起接收中断,中断程序 中判断所接收的地址帧和本机的地址是否匹配。若不匹配, 维持SM2=1,继续监听,若符合,则清SM2=0,以便接收 TB8=0的数据帧。
32
二、波特率计算
波特率发生器可以有两种选择:
定时器T1作波特率发生器,改变计数初值就可以改 变串行通信的速率,称为可变波特率;
以内部时钟的分频器作波特率发生器,因内部时钟 频率一定,称为固定波特率。
33
二、波特率计算
1、方式0和方式2:波特率固定
方式0中,波特率为:fosc/12;
SMOD 2 方式2中,波特率为: f osc 64
22
REN:串行接收允许位。
0---禁止接收, 1---允许接收
TB8: 发送数据D8位,一般作为奇偶校验位。
在方式2、3中,可以在多机通信中作为区分地址帧 或数据帧的标志位,1为地址,0为数据。
RB8: 接收数据D8位,一般作为奇偶校验位。 在方式2、3中,多机通信中还可根据RB8位的状态 对接收数据进行某种控制。
23
TI: 发送中断标志位。

发送前必须用软件清零,发送过程中TI保持零 电平; 发送完一帧数据后,由硬件自动置 “1”。

RI: 接收中断标志位。

接收前必须用软件清零,接收过程中RI保持零
电平;

接收完一帧数据后由片内硬件自动置“1”。
24
TXD RXD
8051 主机
0# TXD RXD 8051 TXD RXD 8051 1# TXD RXD 8051 2#
相关文档
最新文档