8051单片机7串行接口
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
7.2 51单片机的串行口
7) RI:接收中断标志位。
在方式0时,当串行接收第8位数据结束时, 或在其它方式,串行接收停止位的中间时,由内 部硬件使RI臵1,向CPU发中断申请。也必须在 中断服务程序中,用软件将其清0,取消此中断 申请。
7.2 51单片机的串行口
2. 电源控制寄存器PCON ( 97H )
别为外同步和内同步。
7.1 串行通信基础
1. 外同步:发送方和接收方之间提供单独的时钟线路,发 送方在每个比特周期都向接收方发送一个同步脉冲。接 收方根据这些同步脉冲来完成接收。由于长距离传输时, 同步信号会发生失真,所以仅适用于短距离的传输 内同步:利用特殊的编码机,让数据信号携带同步时钟 信号。
REN=1 RI=0 RXD(数据输入) D0 D1 D2 D3 D4 D5 D6 D7
TXD(移位脉冲)
7.2 51单片机的串行口
7.1 串行通信基础
字节异或),产生一个字节的校验字符(校验和) 附加到数据块末尾。接收方接收数据同时对数据块 (除校验字节外)求和(或各字节异或),将所得 的结果与发送方的“校验和”进行比较,相符则无 差错,否则即认为传送过程中出现了差错。
3、循环冗余校验
这种校验是通过某种数学运算实现有效信息 与校验位之间的循环校验,常用于对磁盘信息的传 输、存储区的完整性校验等。这种校验方法纠错能 力强,广泛应用于同步通信中。
7.2 51单片机的串行口
7.2.3 串行口的工作方式
1. 方式0 串行接口工作方式0为同步移位寄存器方式, 多用于I/O口的扩展,其波特率是固定的,为 fosc/12。TXD引脚输出同步移位脉冲,RXD引 脚串行输入/输出数据。
7.2 51单片机的串行口
方式0发送
数据从RXD引脚串行输出,TXD引脚输出同步脉 冲。当1个数据写入串行口发送缓冲器时,串行口将8 位数据以fosc/12的固定波特率从RXD引脚输出,从低 位到高位。发送完后臵中断标志TI为1,呈中断请求状 态,在再次发送数据之前,必须用软件将TI清0。
串行口对外也有两条独立的收发信号线 RXD(P3.0)和 TXD (P3.1),因此可以同时发送、接收数据,实现全双 工传送。
7.2 51单片机的串行口
7.2.2 串行口控制寄存器
1. 特殊功能寄存器SCON ( 98H )
SCON寄存器用来控制串行口的工作方式以及设臵状 态标志,可进行位寻址
位地址 9FH 9EH 位定义 SM0 SM1 功能 9DH SM2 9CH REN 9BH TB8 9AH RB8 99H TI 98H RI
主要用于方式2和方式3。当接收机的SM2=1时可 以利用收到的RB8来控制是否激活RI(RB8=0时不激 活RI,收到的信息丢弃;RB8=1时收到的数据进入 SBUF,并激活RI,进而在中断服务中将数据从SBUF读 走)。当SM2=0时,不论收到的RB8为0和1,均可以使 收到的数据进入SBUF,并激活RI(即此时RB8不具有 控制RI激活的功能)。通过控制SM2,可以实现多机通 信。
计 算 机 甲
0 1 1 0 1
数据 时钟
2.
时钟
计 算 机 乙
计 算 机 甲
数据
0 1 1 0 1
数据+时钟
计 算 机 乙
外同步
内同步
7.1 串行通信基础
串行通信的错误校验
1、奇偶校验 在发送数据时,数据位尾随的1位为奇偶校验 位(1或0)。奇校验时,数据中“1”的个数与校验 位“1”的个数之和应为奇数;偶校验时,数据中 “1”的个数与校验位“1”的个数之和应为偶数。接 收字符时,对“1”的个数进行校验,若发现不一致, 则说明传输数据过程中出现了差错。 2、代码和校验 代码和校验是发送方将所发数据块求和(或各
7.2 51单片机的串行口
方式0接收
在满足REN=1(允许接收)和RI=0的条件下,串行口处 于方式0输入。此时,RXD为数据输入端,TXD为同步信号 输出端,接收器也以fosc/12的波特率采样RXD引脚输入的 数据信息。当接收器接收完8位数据后,臵中断标志RI=1 为请求中断,在再次接收之前,必须用软件将RI清0。
7.2 51单片机的串行口
5)RB8:接收的第9位数据
在方式2或方式3中,是接收到数据的第九位,作 为奇偶校验位或地址帧/数据帧的标志位。在方式1时, 若SM2=0,则RB8是接收到的停止位。
6) TI:发送中断标志位
在方式0时,当串行发送第8位数据结束时,或 在其它方式,串行发送停止位的开始时,由内部硬 件使TI臵1,向CPU发中断申请。在中断服务程序中, 必须用软件将其清0,取消此中断申请。
PCON寄存器用于设臵单片机的工作方式以及串行口 的波特率倍数。其中,只有最高位与串行口的工作有关。 PCON 不可位寻址, 因此初始化时需要字节传送。
位定义 SMOD GF1 GF0 通用标志 位 PD IDL 波特率 倍增位 掉电方式 待机方式(空闲 控制位 方式)控制位
功能
SMOD:波特率倍增位 在串行口方式1、方式2、方式3时,波特率与SMOD 有关,当SMOD=1时,波特率提高一倍。复位时, SMOD=0。
7.1 串行通信基础
传输速率与传输距离 1、传输速率
比特率:每秒钟传输二进制代码的位数,单位是:位/ 秒(bps)。如每秒钟传送240个字符,而每个字符格 式包含10位,这时的比特率为: 10位×240个/秒 = 2400 bps 波特率:每秒钟调制信号变化的次数,单位是:波特 (Baud)。对于将数字信号1或0直接用两种不同电 压表示的所谓基带传输,比特率和波特率是相同的。 所以,我们也经常用波特率表示数据的传输速率。
在方式0时,SM2必须是0。在方式1时,若SM2=1, 则只有接收到有效停止位时,RI才臵1。
7.2 51单片机的串行口
3) REN:允许串行接收位
由软件臵REN=1,则启动串行口接收数据; 若软件臵REN=0,则禁止接收
4) TB8:发送的第9位数据。
在方式2和方式3时,TB8为所要发送的第9位 数据。在多机通信中,以TB8位的状态表示主机 发送的是地址还是数据:TB8=0为数据,TB8=1 为地址;也可用作数据的奇偶校验位。该位由软件 臵位或复位。在方式0和方式1中,该位未用。
8位同时传送 接 收 设 备 询问 应答
1 0 1 0 1 1 0 0
发 送 设 备
并行通信特点:控制简单、传输速度快;由于传输线较多, 长距离传送时成本高且接收方的各位同时接收存在困难。
7.1 串行通信基础
串行通信的分类: 单工方式 按传输方式分
半双工方式
全双工方式
按接收方式分
异步通信 同步通信
串行口工作 多机通信 允许串行 发送数据 接受数据 发送中断 接受中断 方式选择位 控制位 接受位 的第9位 的第9位 标志位 标志位
为什么没有允许发送:发送是主动过程,接受是被动过程
7.2 51单片机的串行口
1)SM0、SM1
串行口工作方式选择位,可选择4种工作方式
7.2 51单片机的串行口
2)SM2:多机通信控制位
7.1 串行通信基础
2、同步通信 (Synchronous Communication)
建立发送方时钟对接收方时钟的直接控制,使 双方达到完全同步。此时,传输数据的位之间的距 离均为“位间隔”的整数倍,同时传送的字符间不 留间隙,既保持位同步关系,也保持字符同步关系。
发送方对接收方的同步可以通过两种方法实现,分
波特率(Baudrate)
波特率就是数据的传送速率,即每秒钟传送的二进 制位数
7.1 串行通信基础
异步通信的数据格式 :
空 闲
起 始 位
一个字符帧
数据位
校 停 验 止 位 位
空 下一字符 闲 起始位
LSB
MSB
异步通信的特点:不要求收发双方时钟的严格一致, 实现容易,设备开销较小,但每个字符要附加2~3 位用于起止位,各帧之间还有间隔,因此传输效率 不高。
7.1 串行通信基础
2、传输距离与传输速率的关系
最大距离与传输速率及传输线的电气特性有关。 一般来说,传输距离随传输速率的增加而减小。 当比特率超过1000 bps 时,最大传输距离迅速下 降。
7.1 串行通信基础
信号的调制与解调
利用调制器(Modulator)把数字信号转换成模拟 信号,然后送到通信线路上去,再由解调器 (Demodulator)把从通信线路上收到的模拟信号转换 成数字信号。由于通信是双向的,调制器和解调器合并 在一个装臵中,这就是调制解调器MODEM。
第七章 串行接口
7.1 串行通信基础 7.2 51单片机的串行口 7.3 串行口的应用实例
7.1 串行通信基础
通信:信息交换 计算机 计算机 计算机 外设 应用:多机系统、计算机网络
通信方式
串行通信 并行通信
7.1 串行通信基础
串行通信:将数据字节分成一位一位的形式在一条 传输线上逐个地传送
接 收 设 备
D0 D7
8位顺次传送
发 送 设 备
串行通信的特点:传输线少,长距离传送时成本低; 通信线路简单, 只要一对传输线就可以实现通信(如 电话线),特别适用于远距离通信。但数据的传送控 制比并行通信复杂,传送速度慢。
7.1 串行通信基础
并行通信:将数据字节的各位用多条数据线同时进 行传送 。
1 13 1 5
14
25
6
9
7.2 51单片机的串行口
7.2.2 串行口的结构
串行口中断
7.2 51单片机的串行口
说明:
SBUF是两个在物理上独立的接收、发送缓冲器,可同时 发送、接收数据。两个缓冲器只用一个字节地址99H, 可通过指令对SBUF的读写来区别是对接收缓冲器的操 作还是对发送缓冲器的操作。 CPU写SBUF (MOV SBUF, A),就是修改发送缓冲器; 读SBUF (MOV A, SBUF), 就是读接收缓冲器。
RS-232C RS-232C
电话网 DTE DCE DCE
数据通 信设备
终端 设备
DTE
7.1 串行通信基础
串行通信接口标准 RS-232C接口:RS-232C是EIA(美国电子工业
协会)1969年修订RS-232C标准。RS-232C定义了数据 终端设备(DTE)与数据通信设备(DCE)之间的物理 接口标准。 RS-232C接口规定使用25针连接器,连接器的尺寸 及每个插针的排列位臵都有明确的定义。实际应用中常 用9针连接器代替25针连接器。
写入SBUF RXD(数据) TXD(移位脉冲) TI(中断标志)
D0 D1 D2 D3 D4 D5 D6 D7
7.2 51单片机的串行口
方式0发送的指令分解:
MOV SCON,#00xxxxxxB;设定串行口为方式0
CΒιβλιοθήκη BaiduR TI
;将中断标志TI清零
;若产生中断标志,表示8位数据发送 完毕,跳转
MOV SBUF,A;开始写数据,把发送数据存入SBUF JBC TI,rel
间隙任意 接 收 10100100 设 备
1 0 10100100 1 0 11100110 1
发 送 0 11100110 设 备
7.1 串行通信基础
异步通信是以字符(构成的帧)为单位进行传输, 字符与字符之间的间隙(时间间隔)是任意的,但每 个字符中的各位是以固定的时间传送的,即字符之间 是异步的(字符之间不一定有“位间隔”的整数倍的 关系),但同一字符内的各位是同步的(各位之间的 距离均为“位间隔”的整数倍),即字符间异步,字 符内部各位间同步。
7.1 串行通信基础
按传输方式分:
1、单工: 数据传输仅能沿一个方向,不能实现反向传输 2、半双工: 数据传输可以沿两个方向,但需要分时进行 3、全双工: 数据可以同时进行双向传输。
发送 发送 接收 接收
时间2 时间1
接收 发送
发送 接收
接收 发送
7.1 串行通信基础
按接受方式分:
1、异步通信 (Asynchronous Communication) 通信的发送与接收设备使用各自的时钟控制数据 的发送和接收过程。为使双方的收发协调,要求发 送和接收设备的时钟尽可能一致。
7.1 串行通信基础
在串行异步传送中,为保证通信过程的实现,通信双方 必须遵守一定的规则,CPU与外设之间事先必须约定:
字符格式
双方要事先约定字符的编码形式、奇偶校验形式及 起始位和停止位的规定。例如用ASCII码通信,有效数 据为7位,加1个奇偶校验位、1个起始位和1个停止位共 10位。当然停止位也可大于1位。