第十讲 串行接口 (1)

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

§ 7.2.3 MCS-51串行口工作方式
2. 工作方式1(波特率可变的10位异步通信方式 )
发送/接收数据的格式:一帧信息包括1个起始位0,8个数据位 和1个停止位1。 发送/接收过程:SBUF中的串行数据由RXD逐位移出/移入; TXD输出移位时钟,波特率可变: (2SMOD/32)×T1的溢出率 每送出/接收8位数据 TI/ RI自动置1;需要用软件清零 TI/ RI 。 工作时,发送端自动添加一个起始位和一个停止位;接收端自 动去掉一个起始位和一个停止位。 发送/接收条件:同方式0。
§ 7.3.1 串行口的发送和接收

2.发送程序
(1) 查询方式: TRAM: MOV A,@R0 ;取数据 MOV SBUF,A ;发送一个字符 WAIT: JBC TI,NEXT ;等待发送结束 SJMP WAIT NEXT: INC R0 ;准备下一次发送 SJMP TRAM
§ 7.3.1 串行口的发送和接收
z2.异步通讯方式
以字符为传送单位,用起始位和停止位标识每个 字符的开始和结束字符间隔不固定,只需字符传 送时同步。
1位 数据 发送 速率 接收 速率
靠发送和接收速率相同来保证
计算机 异步传输
外设
§ 7.1.3 串行通讯的基本类型

1.异步通讯格式
§ 7.1.3 串行通讯的基本类型
(1)没有数据发送时,数据线保持“1”状态; ( 2 )发送数据时,先发起始位 “0” ,其后是数据 位,异步传送规定低位在前,高位在后; (3)奇偶位紧跟在数据最高位之后,占用一位(可 省去); ( 4 )数据发送完后再发一位停止位 “1” ,表示一帧 数据结束。同时为接收下一帧数据做好准备。
(2)中断方式:
ORG 0023H ;串行口中断入口 AJMP SINT MAIN: … ;初始化编程 TRAM: MOV A,@R0 ;取数据 MOV SBUF,A ;发送第一个字符 H: SJMP H ;其它工作 SINT: CLR TI ;中断服务程序 INC R0 MOV A,@R0 ;取数据 MOV SBUF,A ;发送下一个字符 RETI
§ 7.2.1 MCS-51串行口结构
SBUF (发) A 累 加 器 波 特 率 发 生 器 T 1 CPU内部 (门)移位寄存器 发送控制器 TI 引脚 TXD
(P3.1)
≥1
接收控制器 RI SBUF (收) 引脚 移位寄存器 RxD
(P3.1)
去申请中断
§ 7.2.2 MCS-51串行口的寄存器
数据能在两个方向上传送,但在同一时刻,只能 有一个设备发送数据,另一个设备接收数据。
对讲机
通信信道只有一条,数据能在两个方向上传 送, 但不能同时进行。
§ 7.1.2 串行通讯的数据传送方式
z
3.全双工传送方式
wenku.baidu.com
两台设备在同一时刻既能接收数据又能发送数据 的通讯方式。通讯双方都具有相互独立的数据发送 通道和数据接收通道。
fosc/32或/64
可变
§ 7.2.2 MCS-51串行口的寄存器
SM2:允许方式2、3的多机通讯特征位。
在方式2、3中若SM2=1,表示接收的第九位数据(RB8) 为0时不激活RI。 在方式 1 中若 SM2=1 ,只有收到有效的停止位时才会激活 RI。 在方式0中SM2必须为0。

REN:允许接收控制位。
§ 7.1.3 串行通讯的基本类型
串行通讯协议: (1)发送、接收双方的通讯速率必须一致; (2)通讯双方的数据帧格式必须一致。 优点:不需要传送同步脉冲,可靠性高,所需设备 简单适合远距离通信; 缺点:数据帧中包含有起始位和停止位以实现同 步, 从而降低了有效数据的传输速率。
§ 7.1.3 串行通讯的基本类型
1.串行通信控制寄存器SCON (98H)
SM0 D7 SM1 D6 SM2 D5 REN D4 TB8 D3 RB8 D2 TI D1 RI D0
SM0、SM1 控制串行口方式
SM0 SM1 0 0 0 1 1 1 0 1 工作方式 方式0 方式1 方式2 方式3 功 能 简 述 8位 同步移位寄存器 10位 UART 11位 UART 11位 UART 波特率 fosc/12 可变
z z z
1.单工传送方式 2.半双工传送方式 3.全双工传送方式
§ 7.1.2 串行通讯的数据传送方式
1. 单工传送方式 单通道工作方式即一种数据只沿一个方向传送的通 讯方式。通信信道只有一条,甲只作发送设备,乙只 作接收设备。
z
广播
(乙) (甲)
§ 7.1.2 串行通讯的数据传送方式
z
2.半双工传送方式
7.2.1 MCS-51串行口结构 § 7.2.2 MCS-51串行口的寄存器 § 7.2.3 MCS-51串行口工作方式
§ 7.2.1 MCS-51串行口结构
常见的串行通信接口:
RS232
USB
网络
MCS-51系列 串行口由发送控制器、接收控 制器、输出移位门、输入移位寄存器、波特率发 生器、SBUF及串行口中断请求电路等部分组成。
电话
§ 7.1.3 串行通讯的基本类型
z1.同步通讯方式
以一串字符为一个传送单位,字符间不加标识位, 在一串字符开始用同步字符标识,硬件要求高,通 讯双方须严格同步。
高位 先送 10011111 1 3 4 6 7 8 同步时钟 同步传输 2 5
1位 数据 10011111
计算机
外设
§ 7.1.3 串行通讯的基本类型
3. 方式2(固定波特率的11位异步接收/发送方式)
发送/接收过程:方式2的接收/发送过程类似于方式1, 所不同的是它比方式1增加了一位“第9位”数据 (TB8/RB8),用于“奇偶校验”。方式2常用于单片 机间通信。波特率 = fosc × 2SMOD/64 。
4. 方式3(可变波特率的11位异步接收/发送方式)
§ 7.2.3 MCS-51串行口工作方式
注:串行口在方式0下的工作并非是一种同步通信 方式,经常配合“串入并出”“并入串出”移位 寄存器一起使用,以达到扩展一个并行口的目的。 扩展电路如下图所示。
§ 7.2.3 MCS-51串行口工作方式
如要发送数据,查询方式的程序如下: MOV SCON,#00H ;串行口方式0 MOV SBUF,A ;将数据送出 JNB TI,$ ;等待数据发送完毕 CLR TI ;为下次发送作准备 注意:复位时,SCON 已经被清零。 发送条件:TI=0。 接收条件:TI=0,置位 REN=1 (允许接收数据)。

REN=1,允许接收; REN=0,禁止接收。
§ 7.2.2 MCS-51串行口的寄存器
TB8: 发送的第9位数据位,可用作校验位和地址/数据标识位。 RB8: 接收的第9位数据位或停止位。 TI:发送中断标志,发送一帧结束,TI=1,必须软件清零。 RI:接收中断标志,接收一帧结束,RI=1,必须软件清零。
§ 7.2.3 MCS-51串行口工作方式
1. 工作方式0( 8位移位寄存器I/O方式)
发送/接收过程:SBUF中的串行数据由RXD逐位移出/移入 (低位在先,高位在后);TXD输出移位时钟,频率=fosc/12; 每送出/接收8位数据 TI/ RI自动置1;需要用软件清零 TI/ RI 。
(a) TXD 写入 SBUF RXD输出 TI (b) 接收时序 写REN=1 RI=0 RXD输入 RI D0 D1 D2 D3 D4 D5 D6 D7 发送时序
§ § §
7.3.1 串行口的发送和接收 7.3.2 方式0的应用 7.3.3 多机通讯与应用
§ 7.3.1 串行口的发送和接收

1、串行口初始化
串行口初始化编程格式: SIO:MOV SCON,#控制状态字;写方式字且TI=RI=0 (MOV PCON,#80H) ;波特率加倍 MOV TMOD,#20H ;T1作波特率发生器 MOV TL1,#X ;送时间初值 MOV TH1,#X SETB TR1 ;启动波特率发生器
解: “10011110” 9EH “00110101” 35H 为保证传送中每个字符“1”的个数为奇数个,发 送的数据帧(每帧11位)如下: “0 01111001 0 1” “0 10101100 1 1”
起始位 停止位 校验位 8位数据位 (低位在前)
§ 7.2 MCS-51串行通讯接口
§
2. 通讯的方法
(1)并行通讯:数据字节的各位同时被传送的通讯方 式; (2)串行通讯:数据字节的各位按顺序逐位传送的通讯 方式。
1位
串行

优点:传输线少,连线简单; 缺点:速度慢; 适用于远距离(可节省大量线路成本)或数据量少的 通信。
§ 7.1.2 串行通讯的数据传送方式
按照串行通讯过程过程中信号传输的双方 能否同时传送信息分为:
§ 7.2.2 MCS-51串行口的寄存器
2.电源控制寄存器PCON(87H)
SMOD D7 D6 D5 D4 GF1 D3 GF0 D2 PD D1 IDL D0
SMOD:波特率选择位。 当SMOD=1,波特率加倍。
3.数据缓冲器SBUF(99H)
串行口中有两个在物理意义上相互独立的发送缓冲 器和接收缓冲器,分别用于发送和接收。

4、通信错误的校验 为保证传输过程数据的正确性,在数据传送 过程中检测错误的过程称之为校验。最常用的是 奇偶校验。 奇偶校验是通过检验被传送的二进制数据中 (包括奇偶标志位)“0”或“1”个数的奇偶性,来判 断数据传送过程中是否有错。
§ 7.1.3 串行通讯的基本类型

例:用奇校验传送十六进制数9EH和35H
方式3和方式2唯一的区别是波特率机制不同,方式3 的波特率=(2SMOD/32)×T1的溢出率。
§ 7.2.3 MCS-51串行口工作方式
写入 SBUF TXD输出 TI
检测 负跳变 起始位
D0
D1
D2
D3
D4
D5
D6
D7
TB8 停止位
发 送 时 序
RXD输入 RI
起始位
D0
D1
D2
D3
D4
D5
D6
2. 同步通讯格式 数据以“块”为单位,一个数据块包括同步字符、 数据及校验字符CRC 。

§ 7.1.3 串行通讯的基本类型
(1)通讯连线通常采用三线制: SDA(信号线)SCL(时钟线)GND(地线) (2)优点:数据传输速率较高; 缺点:硬件上要求发送时钟和接收时钟保持 严格同步。
§ 7.1.3 串行通讯的基本类型
z
定时器T1作波特率发生器 定时器T1作波特率发生器时,一般工作在方式2, 即8位系数自动重装载方式。 波特率=2SMOD/32 ×(T1溢出率)=2SMOD ×fosc/[32 ×12 ×(2n-初值)] 当n=8,波特率= 2SMOD ×fosc/[32 ×12 ×(28-初值)]
§ 7.3 MCS-51串行口的应用
§ 7.2.3 MCS-51串行口工作方式
写入 SBUF TXD 数据输出 TI 起始位 D0 D1 D2 D3 D4 D5 D6 D7 停止位
检测 负跳变 起始位 采样 D0 D1
(a) 发送时序图 D2 D3 D4 D5 D6 D7 停止位
RXD 输入数据 RI
(b) 接收时序图
§ 7.2.3 MCS-51串行口工作方式
微机原理与接口技术
Microcontrollers
李光 王酉
教 授 PhD, DIC, MIET 博士 PhD, MIET
杭州 • 浙江大学 • 2009
第七章
§ § §
串行接口技术
7.1 串行通讯的基本概念 7.2 MCS-51串行通讯接口 7.3 MCS-51串行口的应用
§ 7.1 串行通讯的基本概念

3、波特率与传输速率 (1)传输速率:每秒钟传输的字符帧数。 (2)波特率:异步通讯中,双方的通讯速率通常以 波特率来约定。串口每秒传输的二进制数码的位 数称为波特率。 例如数据传送的速率是120字符/秒,而每个字 符为10位,则传送波特率为:1200bps(位/秒)
§ 7.1.3 串行通讯的基本类型
D7
RB8 停止位
接 收 时 序
§ 7.2.4 波特率的设定
z z
方式0为固定波特率: 方式2可选两种波特率:
B=fosc/12
B=(2SMOD /64)×fosc (SMOD=0或1)
z
方式1和方式3为可变波特率,由定时器溢出速率 决定。 B=(2SMOD/32)×T1或T2溢出率
§ 7.2.4 波特率的设定
§ § §
7.1.1 串行通讯的基本方式 7.1.2 串行通讯的数据传送方式 7.1.3 串行通讯的基本类型
§ 7.1.1 串行通讯的基本方式
1. 通讯的定义
计算机与计算机 之间、计算机主机与外设 (I/O设备)之间的信息 交换统称为通讯。
并行 串行 并行 串行
串行
通 信
§ 7.1.1 串行通讯的基本方式
相关文档
最新文档