华中科技大学微机原理第9九章串行通信
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
§9.2 MCS-51的串行口
§9.2.1串行口的组成
串口控制/状态寄存器SCON
控制位
设定串行口的工作方式
状态位
查询串行口的工作状态
定时/计数器T1
串行口的波特率发生器,由可控分频电路决定 数据传送的波特率。
数据缓冲器SBUF
发送
写SBUF
接收
读SBUF
串行口的发送和接收是以SBUF的名义进行读或写, 它们共用一个地址99H。
第九章串行通信及其接口
了解串行通信原理 了解MCS51串行通信方式 了解MCS51串行通信的使用
§9.1概述 §9.1.1串行通信的基本概念
一、并行通信和串行通信
P1.0
并行通信:
P1.1
定义:数据各位同时传送
P1.2
特点:速度快、效率高、数据线较多, P1.3
成本高,适用于通信距离较短。
去掉起始位、停止位 转换成并行数据接收数据缓冲器CPU
读取。
控制器
接收CPU编程命令,按指定方式控制串 行口。
主要控制
传送波特率、数据格式等 状态信号、中断信号等
发送过程
并串
串口逻辑部件框图
接收过程
并串
§9.1概述 §9.1.1串行通信的基本概念
四、波特率
波特率:数据传送速率,即每秒钟传送二进制代码的位数。 单位:位/秒(bit/s)或波特。
§9.2 MCS-51的串行口 §9.2.2串行口的工作方式
工作方式2 特点: 9位异步通信 数据结构11位:
1位起始位+8位数据位+1位附加位+1位停止位
1.方式2发送 :附加位(TB8)由软件控制,发送完 毕置位TI 2.方式2接收 :接收条件RI=0、 SM2=0;SM2=1时, 则需接收到的第9位为1 ;接收完毕置位RI 波特率: 2SMOD/64 X focs
SMOD:波特率倍增位
§9.2 MCS-51的串行口 §9.2.1串行口的组成
串行口的工作方式:由SM0、SM1定义
UART: Universal Asynchronous Receiver/Transmitter 通用异步 收发器
§9.2 MCS-51的串行口 §9.2.2串行口的工作方式
工作方式0 特点:移位寄存器方式 由RXD输入或输出数据(8位) 由TXD输出同步位移脉冲 主要用于扩展I/O口。
SM0、SM1:工作方式控制位 SM2:方式2、3多机通信控制位; REN:允许接收控制位; TB8:方式2、3中要发送的第9位 RB8:方式2、3中接收到的第9位
§9.2 MCS-51的串行口 §9.2.1串行口的组成
二、特殊功能寄存器PCON(POWER CONTRAL REGISTER) 位地址87H
发送:执行写命令MOV SBUF,A指令,发送完后使 中断标志TI置“1”。
接收:当RI=0时,置“1”允许接收位时,即启动接收, 并使RI=1。执行读命令MOV A,SBUF时,即可从接 收SBUF取出信息并由内部总线送CPU。
§9.2 MCS-51的串行口 §9.2.1串行口的组成
一、控制状态寄存器SCON,位地址98H
定时/计数器 T1
C/T
方式
初值
X
X
X
X
X
X
X
X
X
0
2
FFH
0
2
FDH
0
2
FDH
0
2
FAH
0
2
F4H
0
2
E8H
0
2
1DH
Байду номын сангаас
0
2
72H
0
1
FEEBH
波特率计算的注意事项
波特率的相对误差不大于2.5% 注意SMOD位对波特率的影响
例如:通讯波特率设为2400,晶振频率为6MHz,计算 T1的计时常数。
MOV R7, #10H ;数据长度
WAIT: JBC RI, NEXT ;查询RI标志,等待串行口接收结束
SJMP WAIT
IE
EA
位地址 AF
ES ET1 EX1 ET0 EX0
AC AB AA A9 A8 00000000 00100000
§9.2 MCS-51的串行口 例
ORG 0000H ;复位入口
AJMP MAIN ORG 0023H ;串行口中断入口
AJMP L1 ORG 0100H ;主程序入口
MAIN: MOV SCON, #0D0H ;串行口方式3允许接收,RI=0
各自的发送和接收程序可以不同
设定波特率
设定串行口的工作方式
设计中断服务程序或查询程序
注意对TI、RI的处理(硬件置位、软件清零)
RXD TXD
2#机
GND
§9.2 MCS-51的串行口 例
要求 待发送的16个字节存放在片内RAM中,地址为50H~5FH 串行口波特率为2400波特率发生器,T1工作于方式2;晶振为 11.0592MHz;串行口工作于方式3,第9位发送奇偶校验位,中断方 式管理。 计算得到TL1的初值为F4H。
T1用于产生波特率时,通常工作于定时模式2,为8位自动重装定时器,且禁止 T1中断。
溢出周期=(256-N)X 12/ focs; 溢出率 =1/溢出周期
T1溢出率=
12
fosc (28
TH1)
§9.2 MCS-51的串行口
§9.2.3波特率的设定
T1产生的常用波特率
串口方式
0 2
1(3)
(2)起始位之后,可以确定是数据位 (3)将接收到的数据按事先约定好的格式,去掉停止位, 进行奇偶校验并无错误,则确认接收到一个字符。 (4)下一个字符起始位的检测,回到(1) (5)所有数据传送完毕
§9.1概述 §9.1.1串行通信的基本概念
2.同步通信
同步——发送设备时钟与接收
设备时钟严格一致。
;允许串行口中断
MOV R0, #50H ;设数据指针
MOV R7, #10H ;数据长度
MOV A, @R0
;取一个字符
MOV C, P
;加奇偶校验
MOV TB8, C
MOV SBUF, A
;发送一个字符
SJMP $
;CPU原地循环,等待发送结束
§9.2 MCS-51的串行口 例
L1: CLR TI ;中断服务程序,发送结束标志位清0
发
接
所有字符以帧的形式传送
送
收
接收端通过搜索开始和结束标 志建立帧的同步。
设 备
设 备
标志之间为地址场、控制场、 信息场和帧校验场。
三、串行通信数据传送方向
单向传送: 简称单工传送,数据只向一个方向传送
半双向传送: 简称半双工传送 特点: 数据双向传送 传送线只有一根,既作输入 又作输出,但不能同时收发 软件控制传送方向
如果数据数据传送速率位200字符/ 秒,每个字符包含 10个代码位,则传送的波特率是 200字符/秒×10位/字符=2000波特=2000bps
§9.1概述 §9.1.2串行通信的接口标准
最常用的通信接口:RS-232、RS-485等
RS-232C的接口信号特点 RS-485的接口信号特点
1.信号线的电压均为负逻辑 1.以两线间的电压差正向逻辑
§9.2 MCS-51的串行口 例
要求 接收到的16个字节存放在片内RAM中,地址为50H~5FH 串行口波特率为2400波特率发生器,T1工作于方式2;晶振为 11.0592MHz;串行口工作于方式3,奇偶校验方式判断接收数据是 否出错。查询方式管理。 计算得到TL1的初值为F4H。
11010000
1)起始位:一个字符开始的标志,是一位低电平 2)数据位:低位在前高位在后,5~8位。 3)奇偶效验位:用于检查字符传送的正确性,占一位。 分为奇校验、偶校验和无校验三种。 4)停止位:一个字符结束的标志,是一位或两位高电平
§9.1概述 §9.1.1串行通信的基本概念
数据传送过程
(1)接收设备不断检测传送线,确定是否有起始位到来。 在一系列的“1”(停止位和空闲位)之后检测到一个下降沿, 并确定该低电平有一位数据的宽度,既确认是一个起始位。
波特率/ (b/s)
1M 375k 187.5k 62.5k 19.2k 9.6k 4.8k 2.4k 1.2k 137.5k 110 110
fosc/ (MHz)
12 12 12 12 11.059 11.059 11.059 11.059 11.059 11.059 6 12
SMOD
X 1 0 1 1 0 0 0 0 0 0 0
串行通信:
单片机
定义:数据按位顺序传送
RXD
特点:线路简单,最多一对传输线
传送时数据格式有要求
信息逻辑定义与TTL电平不兼容, TXD 需要进行电平转换。
0 11 10 010 11
1010
1000
外设1 外设2
§9.1概述 §9.1.1串行通信的基本概念
二、异步通信和同步通信
1.异步通信:一个字符一个字符地传送。 数据格式:
11000000
IE
EA
位地址 AF
ES ET1 EX1 ET0 EX0
AC AB AA A9 A8 10010000 00100000
§9.2 MCS-51的串行口 例
MAIN: LOOP:
ORG 0000H
;复位入口
AJMP MAIN ORG 0023H
;串行口中断入口
AJMP L1
ORG 0100H
;主程序入口
MOV SCON, #0C0H;串行口初始化,用方式3发送,TI=0
MOV PCON, #00H ;SMOD=0
MOV TMOD, #20H ;T1方式2定时
MOV TL1, #0F4H ;写入T1时间常数
MOV TH1, #0F4H
SETB TR1
;启动T1
SETB EA
SETB ES
1.方式0发送 :发送完毕置位TI 2.方式0接收 :接收条件REN=1、RI=0;接收完毕 置位RI 波特率:focs/12
§9.2 MCS-51的串行口 §9.2.2串行口的工作方式
工作方式1 特点:波特率可变的8位异步通信; 数据结构10位: 1位起始位+8位数据位+1位停止位
1.方式1发送 :发送完毕置位TI 2.方式1接收 :接收条件RI=0、SM2=0;接收完毕 置位RI 波特率:2SMOD/32 X T1溢出率
MOV PCON, #00H ;SMOD=0
MOV TMOD, #20H ;T1方式2定时
MOV TL1, #0F4H
;写入T1时间常数
MOV TH1, #0F4H
SETB TR1
;启动T1
LCALL AAAA
SJMP $
§9.2 MCS-51的串行口 例
AAAA: MOV R0, #50H ;设数据指针
§9.2 MCS-51的串行口 §9.2.2串行口的工作方式
工作方式3 同工作方式2
波特率:2SMOD/32 X T1溢出率
§9.2 MCS-51的串行口 §9.2.3波特率的设定
波特率的设定:
方式0: 1/12 focs 方式2: 2SMOD/64 focs 方式1、3:
2SMOD/32T1溢出率
波特率为20Kbps。
5.最大传输距离:50米
§9.1概述 §9.1.2串行通信的接口标准
RS-232C的接口信号
§9.2 MCS-51的串行口 §9.2.1串行口的组成
MCS-51串行口特点
全双工串行口 4种工作方式 可编程(软件设定波特率) 两个独立的接收、发送数据缓冲器SBUF 控制寄存器SCON和PCON
关系;
判别,1:+(2~6),0:- (2~6);
2.接口的信号电平与TTL 电 2. 接口的信号电平与TTL 电平
平不兼容,需电平转换; 兼容,电平值低;
3.接口的信号电平值较高, 3.最高传输速率为10Mbps ;
易损坏接口电路的芯片; 4.抗噪声干扰性好;
4.传输速率:在异步传输时, 5.最大传输距离:3000米
当SMOD=0时,计时常数约为249,相对误差7%。 当SMOD=1时,计时常数约为243,相对误差0.16%。
§9.2 MCS-51的串行口 例
物理连线
收/发交叉
RXD
地线相连
TXD
波特率
双机一致
1#机
工作方式
双机一致
编程
GND
分别设计中断服务程序或查询程序
全双向传送: 简称全双工传送 特点: 数据双向传送 两根数据传送线,通信双 方可同时进行接收和发送。
单工方式
半双工方式 全双工方式
串行口的基本结构
发送器
来自CPU的并行数据发送移位寄存器
转换成串行行数据逐位发送 自动添加起始位、停止位和奇偶校验位
接收器
接收移位寄存器将接收到的串行数据
DJNZ R7, NEXT ;发送完全部字符?
CLR ES
;已发送完,关闭串行口中断
SJMP TEND
NEXT: INC R0
;未发送完,修改指针
MOV A, @R0 ;取下一个字符
MOV C, P
;加奇偶校验
MOV TB8, C
MOV SBUF, A ;再次发送一个字符
TEND: RETI
;中断返回主程序