80C51单片机的串行口
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
传输速率
比特率:每秒钟传送的信息量。单位:位/秒(bps) 波特率:每秒钟传送码元数目,单位:波特(Baud) 基带传输(每个码元带有“1”或“0”这1 bit信息, 传码率与传信率相同),波特率和比特率是相同的。 常用波特率为:2400、4800、 9600、14.4K、19.2K等
传输距离与传输速率的关系
1 10100100 0
1 11100110 0
收、发设备时钟独立,以字符(帧)为单位传输
2016/10/18 5
异步通信帧格式
空 闲 起 始 位 一个字符帧 数据位 校 验 位 停 止 位 空 闲
下一字符 起始位
D0
D7
起始位(1位); 数据位(8位); 奇偶校验位(1位,可无校验位);
停止位(1位)。
说 移位寄存器
明
波特率 fosc/12 可变 可变
10位UART(8位数据) 11位UART(9位数据)
21
11位UART(9位数据) fosc/64或fosc/32
SM2:多机通信控制位
SM2=1时,接收机处于地址帧筛选状态。若RB8= 1,该地址帧信息可进入SBUF,并使RI为1,进 而在中断服务中再进行地址号比较;若RB8=0, 该帧不是地址帧,应丢掉,且保持RI=0。 SM2=0时,接收机处于地址帧筛选被禁止状态。 不论收到的RB8为0或1,均可以使收到的信息进 入SBUF,并使RI=1。此时的RB8通常为校验位。
方式0波特率= fosc/12 方式2波特率=(2SMOD/64)* fosc
可变波特率:
方式1波特率=(2SMOD/32)*(T1溢出率) 方式3波特率=(2SMOD/32)*(T1溢出率) T1 溢出率 = fosc /{12×[256 -(TH1)]}
32
2016/10/18
波特率的选择
波特率要选择标称值,由于TH1的初值是整数,为了 减小波特率计算误差,晶振频率要选为11.0592MHz。
起始位:1位 数据位:8位 停止位:1位
2016/10/18
28
串行发送:(写SBUF启动发送过程)
写入SBUF TXD TI(中断标志) 起始
D0 D1 D2 D3 D4 D5 D6 D7
停止位
串行接收:(置REN=1启动接收过程)
RXD 位采样脉冲 RI(中断标志) 起始
D0 D1 D2 D3 D4 D5 D6 D7
6.3
80C51单片机的串行口应用
2016/10/18
2
6.1 计算机串行通信基础
通信:并行通信与串行通信
并行通信
0 1 1 0 1 1 0 1 0 1 1 0 1 1 0 1
时钟 D7 0 1 1 D6 D5 : : : D1 D0
发送 设备
接收 设备
选通 状态
0 1 T0 T1 T2 T3 T4 T5 T6 T7
1个全双工串口:通信或接口扩展
6.2.1 80C51串行口的结构
99H
SBUF 写SBUF TH1 TL1 发送控制器 1 T1溢出率 读SBUF ÷2 0 SMOD ÷16 接收控制器
TXD 控制门 TI 去中断逻辑
≥1
RI RXD
SBUF 99H
移位寄存器
接收发送缓冲器逻辑同名、物理分开;接收双缓冲。
2016/10/18 14
2016/10/18
15
过程特性
远程通信,需要调制解调器
TXD 计 算 机 RXD RTS DSR
M O D E M
电话线
M O D E M
TXD RXD RTS DSR 计 算 机
2016/10/18
16
近程通信,不需要调制解调器
TXD RXD 计 4 算 5 6 机 甲 20 TXD RXD 计 4 算 5 6 机 20 乙
REN:串行接收使能位,软件置1时,启动接收过程
2016/10/18 22
TB8:多机方式发送的第9位
多机方式的地址/数据帧标志。也可作为奇偶校验位。
RB8:多机方式接收的第9位
多机方式的地址/数据帧标志。也可作为奇偶校验位。
TI:发送中断标志位,要由软件清0 RI:接收中断标志位,要由软件清0
2016/10/18 23
2016/10/18
34
6.3 80C51单片机的串行口应用
6.3.1 利用单片机串口的并行I/O扩展
P1.1 P1.0
F 0 E 1 D 2 C 3 B 4 A 5 9 6 8 7 QA QB QC QD QE QF QG QH CP
74LS164
B QA QB QC QD QE QF QG QH QA QB QC QD QE QF QG QH
电话网
DCE DCE
DTE
调制解调器 调制 解调
DTE
DTE:数据终端设备 DCE:数据通信设备
2016/10/18
8
串行通信的错误校验
奇偶校验 发送字符时,数据位尾随1位奇偶校验位(1 或0)。奇校验时,数据中“1”的个数与校 验位“1”的个数之和应为奇数;偶校验时, 数据中“1”的个数与校验位“1”的个数之和 应为偶数。 接收字符时,对“1”的个数进行校验,若发 现不一致,则说明传输数据过程中出现了差 错。
方式1和方式3波特率与TH1初值的对应关系:
波特率/(b/s) TH1初值 SMOD 19.2 k FDH 1 9600 FDH 0 4800 FAH 0 2400 F4H 0 1200 E8H 0
2016/10/18
33
串行口初始化步骤
确定T1的工作方式(TMOD) 计算T1的初值,装载TH1、TL1 启动T1(置位TR1) 确定串行口工作方式(SCON) 串口中断设置(IE、IP)
传输距离随波特率的增加而减小。
2016/10/18 11
6.1.2
串行通信接口标准
RS-232C定义的是DTE与DCE间的接口标准。
机械特性
1 13 1 5
14
25
6
9
DB-25(阳头)连接器
DB-9(阳头)连接器
阳头通常用于计算机侧,阴头用于连接线侧
2016/10/18
12
功能特性
插针序号 1 2( 3) 3( 2) 4( 7) 5( 8) 6( 6) 7( 5) 8( 1) 20(4) 22(9) RI 信号名称 PGND TXD RXD RTS CTS DSR SGND DCD DTR 保护接地 发送数据(串行输出) 接收数据(串行输入) 请求发送 允许发送 DCE就绪(数据建立就绪) 信号接地 载波检测 振铃指示 DTE←DCE DTE←DCE DTE就绪(数据终端准备就绪) DTE→DCE DTE→DCE DTE←DCE DTE→DCE DTE←DCE DTE←DCE 功能 信号方向
RXD
T0 T1 T2 T3 T4 T5 T6 T7
特点:传送控制复杂、速度慢,传输线少,成本低
2016/10/18 4
6.1.1
串行通信的基本概念
异步通信与同步通信
异步通信
以“0”作为起始 以“1”作为停止 各帧间隔时间任意
发送 设备
10100100 0
TXD
接收 设备
1 11100110
RXD
2016/10/18 9
代码和校验
发送方将所发数据块求和(或各字节异或), 产生的校验和字节附加到数据块的末尾。
接收方在接收数据时要对数据块(除校验字节 外)求和(或各字节异或),将所得的结果与 收到的“校验和”进行比较,相符则无差错, 否则就认为传送过程出现了差错。
2016/10/18
10
传输速率与传输距离
停止位
2016/10/18
29
方式2和方式3:11位帧,用于多机通信
1帧共11位 空 闲 起 始 位 D0 LSB 数据位9位 D7 MSB 停 止 位 空 闲
RB8/TB8
起始位:1位 数据位:9位 停止位:1位
2016/10/18
30
串行发送:(写SBUF启动发送过程)
写入SBUF TXD TI(中断标志) 起始
80C51
RXD
A A B
TXD P1.2
&
CP
a b c d e f g dp a b c d e f g dp
+5V
74LS164
300Ω× 2
A B CP
74LS164
串口无通信需 求时!
2016/10/18
35
6.3.2 单片机与单片机间的通信
硬件连接
近程连接 (直连)
TXD RXD 80C51 GND RXD TXD 80C51 GND
特点
易于实现 效率不高
同步通信(发、收时钟直接连接,效率高。板内元件间的SPI接口)
2016/10/18 6
串行通信的传输方向
单工
发送 接收
半双工
发送
时间1
接收
接收
时间2
发送
全双工
发送 接收 发 送 接收
80C51有1个全双工串行口
2016/10/18
7
信号的调制与解调
RS-232C RS-232C
2016/10/18
25
数据输出:
写入SBUF RXD(数据) TXD(移位脉冲) TI(中断标志) TCY
D0
D1
D2
D3
D4
D5
D6
D7
RXD 80C51 TXD
P1.0
A B CP
74LS164
CR GND
CLR用于对74LS164清0
2016/10/18
26
数据输入:
REN=1 RI=0 RXD(数据输入) D0 D1 D2 D3 D4 D5 D6 D7
电源控制寄存器PCON
7 6 5 4 3 2 1 0
PCON
SMOD
字节地址:97H
SMOD:波特率倍增位。在串行口方式1、方式2、方式3 时,波特率与 SMOD 有关,当 SMOD=1 时,波特率提高一倍。 复位时,SMOD=0。
2016/10/18
24
6.2.3
80C51串行口的工作方式
方式0:同步移位寄存器,用于扩展并行口 RXD:输入或输出引脚 TXD:移位脉冲输出 接收和方式都是8位 波特率固定为:fosc/12
复习“定时/计数器”
8051有几个定时/计数器? 与定时/计数器有关的SFR有哪些? 定时/计数器怎么区分? 定时/计数器有几种工作方式? 定时/计数器的中断号是多少? 定时最大时间是多少?超过怎么办?
课题六 80C51单片机的串行口
6.1
计算机串行通信基础
6.2
80C51单片机的串行口
TXD(移位脉冲)
RXD 80C51 TXD
P1.0
Q
74LS165
CP S/L INH GND
S/L负脉冲将并行数 据装入,高电平时启 动单片机进行数据输 入。
2016/10/18
27
方式1:10位帧,用于双机通信
空 闲 起 始 位 D0 LSB 1帧共10位 数据位8位 D7 MSB 停 止 位 空 闲
2016/10/18 20
6.2.2 80C51串行口的控制寄存器 串行口控制寄存器SCON
7 6 5 4 3 2 1 0
SCON SM0
SM1
SM2
REN
TB8
ຫໍສະໝຸດ Baidu
RB8
TI
RI
字节地址:98H
SM0和SM1:工作方式选择位
SM0 0 0 1 1
2016/10/18
SM1 0 1 0 1
方 式 0 1 2 3
18
采用RS-232C接口存在的问题
传输距离短、速率低
通常不超过15米,速率20Kbps
有电平偏移
RS-232收发共地,地电流会使电平偏移出现逻辑错误。
抗干扰能力差
RS-232常用单端输入,易混入干扰。(故用大摆幅)
新标准RS-485改善了传输特性,应用广泛!
2016/10/18 19
6.2 80C51单片机的串行口
TXD RXD 计 算 机 甲
TXD RXD 计 算 机 乙
无联络线方式
联络线短接(伪连接)方式
2016/10/18
17
RS-232C电平与TTL电平转换驱动电路
早期常用MC1488、MC1489
近期常用MAXM232:
片内带有自升压电路 仅需+5V电源 内含2个发送器,2个接收器
2016/10/18
特点:传送控制简单、速度快,但传输线较多,成本高。
2016/10/18 3
串行通信
发送 设备
0 1 1 0 1 1 0 1 D7 D6 D5 D4 D3 D2 D1 D0 TXD
时钟
接收 设备
数据线
0 1 0 1 1 0 1 1 D0 D1 D2 D3 D4 D5 D6 D7
D1 D0
0 1
D2(1)
D0 D1 D2 D3 D4 D5 D6 D7 TB8
停止位
串行接收:(置REN=1启动接收过程)
RXD 位采样脉冲 RI(中断标志) 起始
D0 D1 D2 D3 D4 D5 D6 D7 RB8
停止位
2016/10/18
31
6.2.4
80C51波特率确定与初始化步骤
波特率的确定 波特率的计算 固定波特率:
2016/10/18
13
电气特性
RS-232C采用负逻辑电平,规定(-3~-25V)为逻辑“1”, (+3~+25V)为逻辑“0”。-3V~+3V是未定义的过渡区。 试比较:
V
+5 1 2 0.8 0 0
0 1 0 1
V
+25 +3 -3
0 1 0 1
0
t
t
1
-25 RS232电平
TTL电平
电平转换电路(如MAX232)。
比特率:每秒钟传送的信息量。单位:位/秒(bps) 波特率:每秒钟传送码元数目,单位:波特(Baud) 基带传输(每个码元带有“1”或“0”这1 bit信息, 传码率与传信率相同),波特率和比特率是相同的。 常用波特率为:2400、4800、 9600、14.4K、19.2K等
传输距离与传输速率的关系
1 10100100 0
1 11100110 0
收、发设备时钟独立,以字符(帧)为单位传输
2016/10/18 5
异步通信帧格式
空 闲 起 始 位 一个字符帧 数据位 校 验 位 停 止 位 空 闲
下一字符 起始位
D0
D7
起始位(1位); 数据位(8位); 奇偶校验位(1位,可无校验位);
停止位(1位)。
说 移位寄存器
明
波特率 fosc/12 可变 可变
10位UART(8位数据) 11位UART(9位数据)
21
11位UART(9位数据) fosc/64或fosc/32
SM2:多机通信控制位
SM2=1时,接收机处于地址帧筛选状态。若RB8= 1,该地址帧信息可进入SBUF,并使RI为1,进 而在中断服务中再进行地址号比较;若RB8=0, 该帧不是地址帧,应丢掉,且保持RI=0。 SM2=0时,接收机处于地址帧筛选被禁止状态。 不论收到的RB8为0或1,均可以使收到的信息进 入SBUF,并使RI=1。此时的RB8通常为校验位。
方式0波特率= fosc/12 方式2波特率=(2SMOD/64)* fosc
可变波特率:
方式1波特率=(2SMOD/32)*(T1溢出率) 方式3波特率=(2SMOD/32)*(T1溢出率) T1 溢出率 = fosc /{12×[256 -(TH1)]}
32
2016/10/18
波特率的选择
波特率要选择标称值,由于TH1的初值是整数,为了 减小波特率计算误差,晶振频率要选为11.0592MHz。
起始位:1位 数据位:8位 停止位:1位
2016/10/18
28
串行发送:(写SBUF启动发送过程)
写入SBUF TXD TI(中断标志) 起始
D0 D1 D2 D3 D4 D5 D6 D7
停止位
串行接收:(置REN=1启动接收过程)
RXD 位采样脉冲 RI(中断标志) 起始
D0 D1 D2 D3 D4 D5 D6 D7
6.3
80C51单片机的串行口应用
2016/10/18
2
6.1 计算机串行通信基础
通信:并行通信与串行通信
并行通信
0 1 1 0 1 1 0 1 0 1 1 0 1 1 0 1
时钟 D7 0 1 1 D6 D5 : : : D1 D0
发送 设备
接收 设备
选通 状态
0 1 T0 T1 T2 T3 T4 T5 T6 T7
1个全双工串口:通信或接口扩展
6.2.1 80C51串行口的结构
99H
SBUF 写SBUF TH1 TL1 发送控制器 1 T1溢出率 读SBUF ÷2 0 SMOD ÷16 接收控制器
TXD 控制门 TI 去中断逻辑
≥1
RI RXD
SBUF 99H
移位寄存器
接收发送缓冲器逻辑同名、物理分开;接收双缓冲。
2016/10/18 14
2016/10/18
15
过程特性
远程通信,需要调制解调器
TXD 计 算 机 RXD RTS DSR
M O D E M
电话线
M O D E M
TXD RXD RTS DSR 计 算 机
2016/10/18
16
近程通信,不需要调制解调器
TXD RXD 计 4 算 5 6 机 甲 20 TXD RXD 计 4 算 5 6 机 20 乙
REN:串行接收使能位,软件置1时,启动接收过程
2016/10/18 22
TB8:多机方式发送的第9位
多机方式的地址/数据帧标志。也可作为奇偶校验位。
RB8:多机方式接收的第9位
多机方式的地址/数据帧标志。也可作为奇偶校验位。
TI:发送中断标志位,要由软件清0 RI:接收中断标志位,要由软件清0
2016/10/18 23
2016/10/18
34
6.3 80C51单片机的串行口应用
6.3.1 利用单片机串口的并行I/O扩展
P1.1 P1.0
F 0 E 1 D 2 C 3 B 4 A 5 9 6 8 7 QA QB QC QD QE QF QG QH CP
74LS164
B QA QB QC QD QE QF QG QH QA QB QC QD QE QF QG QH
电话网
DCE DCE
DTE
调制解调器 调制 解调
DTE
DTE:数据终端设备 DCE:数据通信设备
2016/10/18
8
串行通信的错误校验
奇偶校验 发送字符时,数据位尾随1位奇偶校验位(1 或0)。奇校验时,数据中“1”的个数与校 验位“1”的个数之和应为奇数;偶校验时, 数据中“1”的个数与校验位“1”的个数之和 应为偶数。 接收字符时,对“1”的个数进行校验,若发 现不一致,则说明传输数据过程中出现了差 错。
方式1和方式3波特率与TH1初值的对应关系:
波特率/(b/s) TH1初值 SMOD 19.2 k FDH 1 9600 FDH 0 4800 FAH 0 2400 F4H 0 1200 E8H 0
2016/10/18
33
串行口初始化步骤
确定T1的工作方式(TMOD) 计算T1的初值,装载TH1、TL1 启动T1(置位TR1) 确定串行口工作方式(SCON) 串口中断设置(IE、IP)
传输距离随波特率的增加而减小。
2016/10/18 11
6.1.2
串行通信接口标准
RS-232C定义的是DTE与DCE间的接口标准。
机械特性
1 13 1 5
14
25
6
9
DB-25(阳头)连接器
DB-9(阳头)连接器
阳头通常用于计算机侧,阴头用于连接线侧
2016/10/18
12
功能特性
插针序号 1 2( 3) 3( 2) 4( 7) 5( 8) 6( 6) 7( 5) 8( 1) 20(4) 22(9) RI 信号名称 PGND TXD RXD RTS CTS DSR SGND DCD DTR 保护接地 发送数据(串行输出) 接收数据(串行输入) 请求发送 允许发送 DCE就绪(数据建立就绪) 信号接地 载波检测 振铃指示 DTE←DCE DTE←DCE DTE就绪(数据终端准备就绪) DTE→DCE DTE→DCE DTE←DCE DTE→DCE DTE←DCE DTE←DCE 功能 信号方向
RXD
T0 T1 T2 T3 T4 T5 T6 T7
特点:传送控制复杂、速度慢,传输线少,成本低
2016/10/18 4
6.1.1
串行通信的基本概念
异步通信与同步通信
异步通信
以“0”作为起始 以“1”作为停止 各帧间隔时间任意
发送 设备
10100100 0
TXD
接收 设备
1 11100110
RXD
2016/10/18 9
代码和校验
发送方将所发数据块求和(或各字节异或), 产生的校验和字节附加到数据块的末尾。
接收方在接收数据时要对数据块(除校验字节 外)求和(或各字节异或),将所得的结果与 收到的“校验和”进行比较,相符则无差错, 否则就认为传送过程出现了差错。
2016/10/18
10
传输速率与传输距离
停止位
2016/10/18
29
方式2和方式3:11位帧,用于多机通信
1帧共11位 空 闲 起 始 位 D0 LSB 数据位9位 D7 MSB 停 止 位 空 闲
RB8/TB8
起始位:1位 数据位:9位 停止位:1位
2016/10/18
30
串行发送:(写SBUF启动发送过程)
写入SBUF TXD TI(中断标志) 起始
80C51
RXD
A A B
TXD P1.2
&
CP
a b c d e f g dp a b c d e f g dp
+5V
74LS164
300Ω× 2
A B CP
74LS164
串口无通信需 求时!
2016/10/18
35
6.3.2 单片机与单片机间的通信
硬件连接
近程连接 (直连)
TXD RXD 80C51 GND RXD TXD 80C51 GND
特点
易于实现 效率不高
同步通信(发、收时钟直接连接,效率高。板内元件间的SPI接口)
2016/10/18 6
串行通信的传输方向
单工
发送 接收
半双工
发送
时间1
接收
接收
时间2
发送
全双工
发送 接收 发 送 接收
80C51有1个全双工串行口
2016/10/18
7
信号的调制与解调
RS-232C RS-232C
2016/10/18
25
数据输出:
写入SBUF RXD(数据) TXD(移位脉冲) TI(中断标志) TCY
D0
D1
D2
D3
D4
D5
D6
D7
RXD 80C51 TXD
P1.0
A B CP
74LS164
CR GND
CLR用于对74LS164清0
2016/10/18
26
数据输入:
REN=1 RI=0 RXD(数据输入) D0 D1 D2 D3 D4 D5 D6 D7
电源控制寄存器PCON
7 6 5 4 3 2 1 0
PCON
SMOD
字节地址:97H
SMOD:波特率倍增位。在串行口方式1、方式2、方式3 时,波特率与 SMOD 有关,当 SMOD=1 时,波特率提高一倍。 复位时,SMOD=0。
2016/10/18
24
6.2.3
80C51串行口的工作方式
方式0:同步移位寄存器,用于扩展并行口 RXD:输入或输出引脚 TXD:移位脉冲输出 接收和方式都是8位 波特率固定为:fosc/12
复习“定时/计数器”
8051有几个定时/计数器? 与定时/计数器有关的SFR有哪些? 定时/计数器怎么区分? 定时/计数器有几种工作方式? 定时/计数器的中断号是多少? 定时最大时间是多少?超过怎么办?
课题六 80C51单片机的串行口
6.1
计算机串行通信基础
6.2
80C51单片机的串行口
TXD(移位脉冲)
RXD 80C51 TXD
P1.0
Q
74LS165
CP S/L INH GND
S/L负脉冲将并行数 据装入,高电平时启 动单片机进行数据输 入。
2016/10/18
27
方式1:10位帧,用于双机通信
空 闲 起 始 位 D0 LSB 1帧共10位 数据位8位 D7 MSB 停 止 位 空 闲
2016/10/18 20
6.2.2 80C51串行口的控制寄存器 串行口控制寄存器SCON
7 6 5 4 3 2 1 0
SCON SM0
SM1
SM2
REN
TB8
ຫໍສະໝຸດ Baidu
RB8
TI
RI
字节地址:98H
SM0和SM1:工作方式选择位
SM0 0 0 1 1
2016/10/18
SM1 0 1 0 1
方 式 0 1 2 3
18
采用RS-232C接口存在的问题
传输距离短、速率低
通常不超过15米,速率20Kbps
有电平偏移
RS-232收发共地,地电流会使电平偏移出现逻辑错误。
抗干扰能力差
RS-232常用单端输入,易混入干扰。(故用大摆幅)
新标准RS-485改善了传输特性,应用广泛!
2016/10/18 19
6.2 80C51单片机的串行口
TXD RXD 计 算 机 甲
TXD RXD 计 算 机 乙
无联络线方式
联络线短接(伪连接)方式
2016/10/18
17
RS-232C电平与TTL电平转换驱动电路
早期常用MC1488、MC1489
近期常用MAXM232:
片内带有自升压电路 仅需+5V电源 内含2个发送器,2个接收器
2016/10/18
特点:传送控制简单、速度快,但传输线较多,成本高。
2016/10/18 3
串行通信
发送 设备
0 1 1 0 1 1 0 1 D7 D6 D5 D4 D3 D2 D1 D0 TXD
时钟
接收 设备
数据线
0 1 0 1 1 0 1 1 D0 D1 D2 D3 D4 D5 D6 D7
D1 D0
0 1
D2(1)
D0 D1 D2 D3 D4 D5 D6 D7 TB8
停止位
串行接收:(置REN=1启动接收过程)
RXD 位采样脉冲 RI(中断标志) 起始
D0 D1 D2 D3 D4 D5 D6 D7 RB8
停止位
2016/10/18
31
6.2.4
80C51波特率确定与初始化步骤
波特率的确定 波特率的计算 固定波特率:
2016/10/18
13
电气特性
RS-232C采用负逻辑电平,规定(-3~-25V)为逻辑“1”, (+3~+25V)为逻辑“0”。-3V~+3V是未定义的过渡区。 试比较:
V
+5 1 2 0.8 0 0
0 1 0 1
V
+25 +3 -3
0 1 0 1
0
t
t
1
-25 RS232电平
TTL电平
电平转换电路(如MAX232)。