单片机原理及应用 蔡启仲 第7章 串行通信及应用

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

7.2.1 串行口的结构
(1) 发送部分与接收部分独立控制,分开操作。 (2) 发送中断标志位TI与接收中断标志位RI单独产生,但共用一个 中断申请。 (3) 需要依赖于额外的波特率发生器。一般由单片机内部的定时器 T1产生。 (4) 具备两个在物理上相互独立的数据缓冲器:发送SBUF和接收 SBUF,但是两者的特殊功能寄存器字节地址相同。 (5) 发送部分:并行数据转换成串行数据通过TXD(P3.1)引脚发送; 接收部分通过RXD(P3.0)引脚接收串行数据,并将串行数据转换为并 行数据进行处理。 (6) 工作状态受SCON和PCON两个寄存器的配置决定。
端向接收端的数据传输要求,实现真正意义上的两个方向的数据同时
传送。从本质上看,全双工通信就是两个单工通信的组合体。
12
7.2 51单片机串行口
51单片机内部有一个可编程的全双工串行通信接
口UART,可同时进行数据的发送和接收。 RXD端(P3.0):作为串行数据接收端 TXD端(P3.1):作为串行数据发送端
机器周期 写SBUF RXD 串行数据 TXD移位脉冲 TI中断标志位 D0 D1 D2 D3 D4 D5 D6 D7
S1~S6 S1~S6
方式0发送时序图
22
方式0接收 单片机的TXD引脚输出移位脉冲,RXD引脚输入串行数据。 串行口以固定的波特率(fOSC/12)采样RXD引脚的电平信息,执 行指令MOV A, SBUF读入数据。
17
(4) TB8 — 发送的第9位数据 方式0和方式1中不使用TB8。 方式2和方式3中的TB8由软件置1或清0。发送的字符帧中,TB8即发送 的第9位数据。通信过程中,该位既可以作为奇偶校验位使用,也可以在多机 通信中作为声明地址帧/数据帧使用。 (5) RB8 — 接收到的第9位数据 方式0:不使用RB8。 方式1:如果SM2=0,则RB8存放的是已接收的停止位。 方式2和方式3:由接收到的第9位来决定RB8是“1”还是“0”。 (6) TI — 发送中断标志位 方式0:串行发送完第8位数据时TI由硬件置1。 方式1、2 、3:发送停止位开始时由硬件置1。 TI必须通过软件清0。 (7) RI — 接收中断标志位 方式0:串行接收完第8位数据时RI由硬件置1。 方式1、2 、3:接收停止位中间时刻由硬件置1。 RI必须通过软件清0。
2
7.4 单片机串行口波特率 7.4.1波特率与字符传输速率 7.4.2 波特率的计算 7.5 串行口的应用 7.5.1 串行口扩展并行I/O口 7.5.2 双单片机异步串行通信 7.5.3 多机通信 7.5.4 RS-232总线及接口电路 习题
3
7.1 数据通信的基本概念
串行通信是信息交换的一种基本通信方式, 与并行通 信对应。 常见应用较多的串行通信包括: I 2C SPI USB RS232 等。
5
(b) 串行通信
7.1.2 根据同步方式分类
串行通信传输过程中,不可避免地存在一个同步问题。发送 端将数据以位的形式不断发送,接收端如何从这一串连续的位信 息流中正确的识别通信的开始与结束,这就归属为同步问题。
同步通信:面向比特(位)同步
通信方式特点:通信双方数据传输中, 一起开始,一起结束。同步的关键就 是发送或接收的时钟同步,通信双方 采用同频同相的同步时钟信号,以固 定的频率发送和接收数据。
固定(fOSC/12)
可变(波特率发生器) 固定(fOSC/32或fOSC/64) 可变(波特率发生器)
20
7.3.1 方式0
方式0:同步移位寄存器输入/输出方式,一般不用做单片机间 的串行通信,而用作外部扩展移位寄存器实现串并转换,达到 扩展并行I/O口的目的。 方式0数据格式:一帧数据包括8位信息,按照先发送/接收
(a) 同步通信
6
(b)异步通信
异步通信
异步通信中,字符帧具备一定的格式要求,发送或接收一个数据也是
以这种帧格式的形式进行,异步通信的字符帧一般包括起始位、数据位、
奇偶校验位和停止位4个部分。
起始位 1位 数据位 5~8位 奇偶校验辑“0”低电平有效,1位长度,表 示本字符帧的开始。 (2) 数据位:紧跟起始位之后,根据实际需求,可取5位、6位、7 位或8位,其中低位在前,高位在后。一般情况下,字符帧采用8位 数据位。 (3) 奇偶校验位:紧跟数据位之后,1位长度,可选用奇校验或偶 检验,由用户根据实际需要决定。 (4) 停止位:紧跟奇偶校验位之后,表示结束。逻辑“1”高电平 有效。停止位根据约定,可选择1位、1.5位、2位长度。
15
7.2.2 串行口控制寄存器SCON
D7 SCON SM0 9FH D6 SM1 9EH D5 SM2 9DH D4 REN 9CH D3 TB8 9BH D2 RB8 9AH D1 TI 99H D0 RI 98H
(1) SM0和SM1 — 串行口工作方式选择位
SM0 0 0 1 1 SM1 0 1 0 1 工作方式 方式0 方式1 方式2 方式3 特点 同步移位寄存器 10位异步收发通信 11位异步收发通信 11位异步收发通信 波特率 固定(fOSC/12) 可变(波特率发生器) 固定(fOSC/32或fOSC/64) 可变(波特率发生器)
例7–1 采用异步通信方式连续发送字节数据“25H”(二进制 00100101B),规定1位起始位,8位数据位,1位奇校验位,1位停 止位,组成11位的字符帧,无空闲位。 分析:奇校验,而待发送字节数据25H中“1”的个数为奇数,所以 此时奇偶校验位为“0”。
移位脉冲 TXD发送 第n-1字符帧 起始位 1 低 第n个字符帧 数据位 第n+1字符帧 奇校验位 停止位 0 1 0 0 1 0 0 0
高位在后,8位数据和1位停止位发送完成后,中断标志位TI硬 件置1,SEND失效 。
TX时钟 写SBUF SEND TXD TI标志位
25
起始位
D0
D1
D2
D3
D4
D5
D6
机器周期 写SCON RXD 串行数据 TXD移位脉冲 RI中断标志位 D0 D1 D2 D3 D4 D5 D6 D7
S1~S6 S1~S6
方式0接收时序图
23
7.3.2 方式1
方式1:波特率可变的固定8位数据的通用异步通信方式 。 通信数据格式:字符帧包括1位起始位(低电平),8位数据位、
1位停止位(高电平),按照先发送/接收低位,后发送/接收高 位的顺序通信,波特率由具体的波特率发生器(定时器T1产 生)设置决定。
7.1.1 根据通信方式分类
D0 D1 D2 D3 D4 D5 D6 D7 微处理器A GND
1 0 1 0 1 1 1 0
D0 D1 D2 D3 D4 D5 D6 D7 微处理器B GND
0 1 1 TXD RXD
1
0 1 0 1 RXD TXD
微处理器A GND
微处理器B GND
(a) 并行通信
16
(2) SM2 — 多机通信控制位
方式0:SM2必须配置为0。 方式1:发送时设置SM2无意义;接收时一般设置SM2=0,此时,不考 虑接收到的停止位电平状态。如果SM2=1,则只有收到有效的停止位时才能 置位RI=1,请求中断。 方式2和方式3:SM2的配置在接收状态下起重要作用。 SM2=1:只有接收到第9位数据(RB8)为1时,才可以将已接收的8位数 据送入SBUF,并置位RI=1,产生中断请求,等待接收完成的处理。若接收 到的第9位数据(RB8)为0时,则接收的8位数据不会送入SBUF,将被丢弃, 也不会置位RI。 SM2=0:不考虑接收到的第9位数据(RB8)状态,直接将已接收的8位数 据送入SBUF,并置位RI=1,产生中断请求,等待接收完成的处理。 (SM2被定义为多机通信控制位,主要是考虑多机通信协议的规定。) (3) REN — 允许接收控制位 REN=1:允许串行口接收数据。REN=0:禁止串行口接收数据。
形式:同步通信一般以信息块为 传输单位,因此又称为区块传输。同 步通信传输数据帧由同步字符块、数 据块、校验字符块、结束字符块等部 分组成。
异步通信:面向一个字符帧(也
称为数据帧) 的通信方式。 特点:发送字符时,发送端发送字 符帧之间时间间隔可以任意,接收端 时刻做好接收准备。每一帧的数据前 后设置控制字符,通信双方的时钟可 以彼此独立,但发送数据和接收数据 的传输速率必须一致。 形式:异步通信的字符帧一般包 括起始位、数据位、奇偶校验位和停 止位4个部分。
第7章 串行通信及应用
1
第7章
目录
7.1 数据通信的基本概念 7.1.1根据通信方式分类 7.1.2根据同步方式分类 7.1.3根据数据传输方向分类 7.2 51单片机串行口 7.2.1 串行口的结构 7.2.2 串行口控制寄存器SCON 7.2.3 电源控制寄存器PCON 7.3 串行口工作方式 7.3.1 方式0 7.3.2 方式1 7.3.3 方式2和方式3
13
7.2.1 串行口的结构
8 发送 SBUF (99H) 门 串 行 控 制 寄 存 器 SCON (98H) RXD(P3.0引脚) TXD(P3.1引脚)
发送控制器 波特 率发 生器 PCON 8 接收 SBUF (99H) 8 输入移位寄 存器 串行口中断 ≥1 TI RI 接收控制器
14
4
数据以位(bit,比特)方式按顺 数据以组的方式在多条线路上 序分时进行收、发数据的通信 同时传输的通信方式。一般并 方式。并行数据发送前采用并 行通信按照字长组织传输,例 入串出的移位寄存器;串行数 通信方式的基本分类包括以下两种:并行通信和串行通信。 如51单片机的内部总线和外部 据接收后采用串入并出的移位 总线的并行通信一般以1个字 寄存器。 节为宽度进行。
异步通信发送25H波形图
8
7.1.3 根据数据传输方向分类 按照数据传输的方向,串行通信可分为:
1. 单工通信 2. 半双工通信 3. 全双工通信
9
发送
单向通道 现 实 等 效
接收
单向 单车道
单工通信
实现数据的单向传输,即数据通过单向通道,仅能实现由发送
端向接收端的传输,并且始终保持单一方向传送。
起始位
D0
D1
D2
D3
D4
D5
D6
D7
停止位
方式0帧格式
24
方式1发送 执行指令MOV SBUF, A,内部发送控制信号SEND有效, 按照设置的波特率,每经过一个TX发送时钟脉冲,产生一个 移位脉冲,驱动TXD引脚依次输出字符帧的各位信息。 TXD 引脚串行输出发送起始位、8位数据,1位停止位,低位在先,
10
发送 接收
双向通道 现 实 等 效
发送 接收
双 向 单 车 道
等待
半双工通信
实现数据的分时双向传输,即数据通过双向通道,满足通信双 方发送端向接收端的数据传输,即在任一时刻,只能够传输一个方 向的数据。
11
发送 接收 现 实 等 效 双 向 双 车 道
接收 发送
全双工通信
实现数据的双向同时传输,即数据通过双向通道,满足双方发送
18
7.2.3 电源控制寄存器PCON
D7 PCON SMOD D6 D5 D4 D3 GF1 D2 GF0 D1 FD D0 IDL
PCON寄存器中与串行口工作相关的部分仅涉及SMOD位。 SMOD — 波特率倍增位 方式0:波特率固定模式,与SMOD无关。 方式1、2、3:串行通信的波特率受SMOD影响,与2SMOD 成正比关系。 SMOD=0:串行通信波特率在设定的基础上不倍增; SMOD=1:波特率在设定的基础上提高一倍。
低位,后发送/接收高位的顺序通信,波特率固定为fOSC/12。
D0 D1 D2 D3 D4 D5 D6 D7
方式0帧格式
21
方式0发送
执行指令MOV SBUF, A,单片机的TXD引脚输出移位脉冲, RXD引脚输出串行数据。串行口将SBUF内数据(8位)以固定的波特
率(fOSC/12)按位从RXD引脚串行输出。
19
7.3 串行口工作方式
单片机串行口根据实际需要,由SCON寄存器的SM0和 SM1组合设置为方式0、方式1、方式2和方式3四种工作方式。
SM0 SM1 工作方式 特点 波特率
0
0 1 1
0
1 0 1
方式0
方式1 方式2 方式3
同步移位寄存器
10位异步收发通信 11位异步收发通信 11位异步收发通信
相关文档
最新文档