当前位置:
文档之家› 第6章80c51单片机的串行口
第6章80c51单片机的串行口
fosc/12
10位UART(8位数据)
可变
11位UART(9位数据) fosc/64或fosc/32
11位UART(9位数据)
可变
2019/11/8
19
SM2:多机通信控制位
SM2=1时,接收机处于地址帧筛选状态。若RB8= 1,该地址帧信息可进入SBUF,并使RI为1,进 而在中断服务中再进行地址号比较;若RB8=0, 该帧不是地址帧,应丢掉,且保持RI=0。
传输距离随波特率的增加而减小。
2019/11/8
10
6.1.2 串行通信接口标准
RS-232C定义的是DTE与DCE间的接口标准。
机械特性
1
13
1
5
14
25
DB-25(阳头)连接器
6
9
DB-9(阳头)连接器
阳头通常用于计算机侧,阴头用于连接线侧
2019/11/8
11
功能特性
插针序号
1 2(3) 3(2) 4(7) 5(8) 6(6) 7(5) 8(1) 20(4) 22(9)
6.3.1 利用单片机串口的并行I/O扩展
P1.1 P1.0
80C51
RXD
TXD &
P1.2
FEDCBA 9 8 01234567
QA QB QC QD QE QF QG QH
CP AB
74LS164
A
QA QB
74LS164
B
QC QD
QE
CP QF QG
QH
74LS164
A QA QB
B QC QD QE QF
写入SBUF
TXD
起始 D0 D1
D2 D3
D4
D5
D6
D7 停止位
TI(中断标志)
串行接收:(置REN=1启动接收过程)
RXD
起始 D0 D1
D2 D3 D4 D5 D6 D7 停止位
位采样脉冲
RI(中断标志)
2019/11/8
27
方式2和方式3:11位帧,用于多机通信
起 空始 闲位
D0 LSB
6.2 80C51单片机的串行口
1个全双工串口:通信或接口扩展
6.2.1 80C51串行口的结构
99H
SBUF 写SBUF
T1溢出率
读SBUF
SBUF 99H
TXD 控制门
TH1 TL1 1
发送控制器 TI 去中断逻辑
÷2
÷16
≥1
0
SMOD
接收控制器 RI
RXD 移位寄存器
接收发送缓冲器逻辑同名、物理分开;接收双缓冲。
比特率:每秒钟传送的信息量。单位:位/秒(bps) 波特率:每秒钟传送码元数目,单位:波特(Baud)
基带传输(每个码元带有“1”或“0”这1 bit信息, 传码率与传信率相同),波特率和比特率是相同的。 常用波特率为:2400、4800、 9600、14.4K、19.2K等
传输距离与传输速率的关系
TXD
RXD 计 算 机 乙
无联络线方式
TXD
RXD 计4 算5 机6 甲 20
TXD
R45 XD计算 6机 20 乙
联络线短接(伪连接)方式
2019/11/8
15
RS-232C电平与TTL电平转换驱动电路
早期常用MC1488、MC1489
近期常用MAXM232:
片内带有自升压电路 仅需+5V电源 内含2个发送器,2个接收器
起始 D0 D1
D2 D3
D4
D5
D6
D7 RB8 停止位
RI(中断标志)
2019/11/8
29
6.2.4 80C51波特率确定与初始化步骤
波特率的确定 波特率的计算 固定波特率:
方式0波特率= fosc/12 方式2波特率=(2SMOD/64)* fosc
可变波特率:
方式1波特率=(2SMOD/32)*(T1溢出率) 方式3波特率=(2SMOD/32)*(T1溢出率)
1 11100110
RXD
收、发设备时钟独立,以字符(帧)为单位传输
2019/11/8
4
异步通信帧格式
起 空始 闲位
一个字符帧 数据位
校停 验止 位位
空 下一字符 闲 起始位
D0
D7
起始位(1位); 数据位(8位); 奇偶校验位(1位,可无校验位);
停止位(1位)。
特点
易于实现 效率不高
同步通信(发、收时钟直接连接,效率高。板内元件间的SPI接口)
2019/11/8
18
6.2.2 80C51串行口的控制寄存器
串行口控制寄存器SCON
7
6
5
4
3
2
1
SCON SM0 SM1 SM2 REN TB8 RB8 TI
0 RI 字节地址:98H
SM0和SM1:工作方式选择位
SM0 0 0 1 1
SM1 0 1 0 1
方式 0 1 2 3
说明
波特率
移位寄存器
2019/11/8
8
代码和校验
发送方将所发数据块求和(或各字节异或), 产生的校验和字节附加到数据块的末尾。
接收方在接收数据时要对数据块(除校验字节 外)求和(或各字节异或),将所得的结果与 收到的“校验和”进行比较,相符则无差错, 否则就认为传送过程出现了差错。
2019/11/8
9
传输速率与传输距离 传输速率
2
12 R1OUT
R1IN 13
3
10 T2IN
T2OUT 7
5
9 R2OUT
R2IN 8
15
2019/11/8
35
通信协议
串口方式1,2400 Baud,T1定时方式2, 晶振选11.0592MHz,查表知:TH1=TL1=F4H,SMOD=0
A机发“E1”联络,B机同意接收发“E2”响应 A机收到“E2”后,发数据块及校验字节。
2019/11/8
22
6.2.3 80C51串行口的工作方式
方式0:同步移位寄存器,用于扩展并行口
RXD:输入或输出引脚 TXD:移位脉冲输出 接收和方式都是8位 波特率固定为:fosc/12
2019/11/8
23
数据输出:
写入SBUF
TCY
RXD(数据)
D0 D1
TXD(移位脉冲) TI(中断标志)
DTE就绪(数据终端准备就绪) DTE→DCE
振铃指示
DTE←DCE
2019/11/8
12
电气特性
RS-232C采用负逻辑电平,规定(-3~-25V)为逻辑“1”, (+3~+25V)为逻辑“0”。-3V~+3V是未定义的过渡区。 试比较:
V0101
+5
2 0.8
0
TTL电平
1
0t
V0101 +25
R2OUT R2IN
GND
A机
R1IN R1OUT MAX232AGND
T2OUT RT22IINN
RXD TXD
GND B机T2OU8T0C51
2019/11/8
34
电平转换器件与接线
+5V
80C51
TXD RXD
+1
16
2+
+10V
3
6 -10V
MAX232
+4
+
5
11 T1IN
T1OUT 14
0 1 1
0 1 T0 T1 T2 T3 T4 T5 T6 T7
特点:传送控制简单、速度快,但传输线较多,成本高。
2019/11/8
2
串行通信
发送 设备
0 D7 1 D6 1 D5 0 D4 1 D3 1 D2 0 D1 1 D0
TXD
接收 设备
D2(1)
D1 0 D0 1
RXD
时钟
数据线
10 1 10 110 D0 D1 D2 D3 D4 D5 D6 D7
CP QG QH
a
+5V
b
c
d
e
f
g
dp
300Ω×2
a b c d e f g
dp
串口无通信需 求时!
2019/11/8
33
6.3.2 单片机与单片机间的通信
硬件连接
近程连接 (直连)
TXD
RXD 80C51
GND
RXD
TXD 80C51 GND
远程连接 (电平转换)
TXD RXD 80C51
T1IN T1OUT MAX232A
多机方式的地址/数据帧标志。也可作为奇偶校验位。
TI:发送中断标志位,要由软件清0 RI:接收中断标志位,要由软件清0
2019/11/8
21
电源控制寄存器PCON
7
6
5
4
3
2
1
0
PCON SMOD
字节地址:97H
SMOD:波特率倍增位。在串行口方式1、方式2、方式3 时,波特率与SMOD有关,当SMOD=1时,波特率提高一倍。 复位时,SMOD=0。
2019/11/8
7
串行通信的错误校验
奇偶校验
发送字符时,数据位尾随1位奇偶校验位(1 或0)。奇校验时,数据中“1”的个数与校 验位“1”的个数之和应为奇数;偶校验时, 数据中“1”的个数与校验位“1”的个数之和 应为偶数。
接收字符时,对“1”的个数进行校验,若发 现不一致,则说明传输数据过程中出现了差 错。