《单片机第6章MCS51单片机的串行口.ppt》由会员分享,可在线阅读,更多相关《单片机第6章MCS51单片机的串行口.ppt(63页珍藏版)》请在第壹文秘上搜索。
1、第六章 MCS-51单片机的串行口内容提要内容提要: :6.1 6.1 计算机串行通信基础计算机串行通信基础6.2 6.2 MCS-51MCS-51单片机的串行口单片机的串行口6.3 6.3 单片机串行口应用举例单片机串行口应用举例6.1 6.1 计算机串行通信基础计算机串行通信基础6.1.1 基本概念基本概念6.1.2 串行通信的标准接口串行通信的标准接口6.1.1 6.1.1 基本概念基本概念一、串行通信方式一、串行通信方式 什么叫串行通信?什么叫串行通信? 在生活中同学们排横队行走在生活中同学们排横队行走 并行;排纵队行走并行;排纵队行走 串行。串行。计算机中在传输信息、数据时也有并行、
2、串行的问题。计算机中在传输信息、数据时也有并行、串行的问题。0010001001P1.0P1.1P1.2P1.3RXDTXD单片机单片机外设外设1外设外设2111111 0 1 01 0 0 01 1、异步通讯方式、异步通讯方式 以字符为传送单位用起始位和停止位标识每个字符的 开始和结束字符间隔不固定,只需字符传送时同步。异步通讯常用格式:一个字符帧异步通讯常用格式:一个字符帧D0D1D2D3D4D5D6D7停止位停止位起始位起始位异步异步 发送时钟与接收时钟不一定相等。发送时钟与接收时钟不一定相等。空闲位空闲位起始位起始位58位数据位数据奇偶校验位奇偶校验位停止位停止位空闲位空闲位2 2、同
3、步通讯、同步通讯以一串字符为一个传送单位,字符间不加标识位,在一串字符开始用同步字符标识,硬件要求高,通讯双方须严格同步。接收设备接收设备发送设备发送设备同步同步发送设备时钟与接收设备时钟严格一致。发送设备时钟与接收设备时钟严格一致。校验字符校验字符2校验字符校验字符1 数 据数 据 n 数 据数 据 2 数 据数 据 1同步字符同步字符2同步字符同步字符1单工单工 A 发发 B 收收半双工半双工 A 发发 收收 B 收收 发发例如:广播电台例如:广播电台 收音机收音机例如:例如: 对讲机对讲机二、数据传送模式二、数据传送模式单工单工单工通讯:数据单向传送。 半双工通讯:数据可分时双向传送。全
4、双工全双工 A 发发 收收 B 收收 发发例如:例如: 电话机电话机全双工通讯:可同时进行发送和接收。三、信号的调制于解调三、信号的调制于解调 调制器:数字信号转换成模拟信号调制器:数字信号转换成模拟信号 解调器:模拟信号转换成数字信号解调器:模拟信号转换成数字信号四、串行通信的校验四、串行通信的校验 奇偶校验奇偶校验 和校验和校验 循环冗余码校验循环冗余码校验五、传输速率与传输距离五、传输速率与传输距离1、波特率、波特率即串行通信速率。即串行通信速率。 b/s 、 bps 在异步通信中,单位时间内所传送的有效二进制位数在异步通信中,单位时间内所传送的有效二进制位数波特率。波特率。举例、设有一
5、帧信息,举例、设有一帧信息,1个起始位、个起始位、8个数据位、个数据位、1个停止个停止位,传输速率为每秒位,传输速率为每秒240个字符。求波特率。个字符。求波特率。解:解:(181)240 = 2400 b/s = 2400波特。波特。 2、传输距离与传输速率的关系:反比关系、传输距离与传输速率的关系:反比关系6.1.2 6.1.2 串行通信的标准接口串行通信的标准接口一、一、RS-232C接口接口 电气特性电气特性 机械特性机械特性 功能特性功能特性 过程特性过程特性二、二、RS-422A接口接口三、三、RS-485接口接口四、四、20mA电流环接口电流环接口6.2.1 MCS-51串行口的
6、结构串行口的结构6.2.2 MCS-51串行口的控制寄存器串行口的控制寄存器6.2.3 MCS-51串行口的工作方式串行口的工作方式6.2 6.2 MCS-51MCS-51单片机的串行口单片机的串行口6.2.1 6.2.1 MCSMCS-51-51串行口的结构串行口的结构单片机内有通用异步接收单片机内有通用异步接收/发送器发送器 UART。全双工,全双工,4种工作方式,波特率可编程设置,可中断种工作方式,波特率可编程设置,可中断 1个全双工串行接口,可同时进行发送和接收。个全双工串行接口,可同时进行发送和接收。 串行接口输入串行接口输入/输出引脚:输出引脚:TXD(P3.1)、RXD(P3.0
7、) 数据格式数据格式(P.237图图):按不同方式,一帧位数:按不同方式,一帧位数 8/10/11 发送发送/接收时,数据皆低位在前。接收时,数据皆低位在前。一帧字符发送一帧字符发送/接收结束,置位标志位接收结束,置位标志位(TI/RI)并申请并申请SIO中断。中断。 中断控制:中断允许位中断控制:中断允许位ES 中断入口:中断入口:0023HD0D1D2D3D4D5D6D7停止位停止位起始位起始位D0D1D2D3D4D5D6D7D0D1D2D3D4D5D6D8停止位停止位起始位起始位D7串行通信接口串行通信接口发送:发送:CPUD7D6D5D4D3D2D1D0发送寄存器发送寄存器SBUF 0
8、 1D0D1D2D3D4D5D6D7发送时钟发送时钟:SBUF 串行发送串行发送 / 接收数据缓冲器接收数据缓冲器 是两个物理单元,共用一个地址(是两个物理单元,共用一个地址(99H)接收接收:D0D1D2D3D4D5D6D7 1 0D7D6D5D4D3D2D1D0CPU接收时钟接收时钟接收数据寄接收数据寄存器存器SBUFSMOD 2、PCON 电源管理寄存器电源管理寄存器SMOD位用于决定波特率的倍数。位用于决定波特率的倍数。 0 20 = 1倍倍SMOD(PCON.7):波特率加倍控制位。 1 21 = 2倍倍6.2.2 MCS6.2.2 MCS-51-51串行口的控制寄存器串行口的控制寄
9、存器 1、数据缓冲器、数据缓冲器SBUF发送SBUF和接收SBUF共用一个地址99H。 (1)发送SBUF存放待发送的8位数据,写入SBUF将同时启动发送。 发送指令:MOV SBUF,A(2)接收SBUF存放已接收成功的8位数据,供CPU读取。 读取串行口接收数据指令:MOV A,SBUF3 3、串行口控制、串行口控制/ /状态寄存器状态寄存器SCON(98H)SCON(98H)SM0 SM1 SM2 REN TB8RB8TIRISM0,SM1:选择串行口4种工作方式。SM2:多机控制位,用于多机通讯。REN:允许接收控制位,REN=1,允许接收;REN=0,禁止接 收。TB8: 发送的第9
10、位数据位,可用作校验位和地址/数据标识位RB8: 接收的第9位数据位或停止位TI: 发送中断标志,发送一帧结束,TI=1,必须软件清零RI: 接收中断标志,接收一帧结束,RI=1,必须软件清零串行口的工作方式串行口的工作方式表7-1 串行口工作方式6.2.3 MCS6.2.3 MCS-51-51串行口的工作方式串行口的工作方式一、方式一、方式0二、方式二、方式1三、方式三、方式2和方式和方式3四、波特率的计算四、波特率的计算 同步移位寄存器方式同步移位寄存器方式 波特率固定为波特率固定为fosc / 12 RXD 接收发送数据接收发送数据 TXD 产生同步移位脉冲产生同步移位脉冲 接收接收/发
11、送完,置位发送完,置位RI / TI ,(,(要求要求SM2 = 0) D7 D6 D5 D4 D3 D2 D1 D0 D0 D1 D2 D3 D4 D5 D6 D7发送发送接收接收无起始位,无停止位无起始位,无停止位 。可用于并口的扩展。可用于并口的扩展。一、方式一、方式0 01. 一帧一帧8位,无起始位和停止位。位,无起始位和停止位。2. RXD:数据输入数据输入/输出端。输出端。 TXD:同步脉冲输出端,每个脉冲对应一个数据位。同步脉冲输出端,每个脉冲对应一个数据位。3. 波特率波特率B = fosc/12 如:如: fosc=12MHz,B=1MHz,每位数据占每位数据占1 s。4.
12、发送过程:写入发送过程:写入SBUF,启动发送,一帧发送结束,启动发送,一帧发送结束,TI=1。 接收过程:接收过程:REN=1且且RI=0,启动接收,一帧接收完毕,启动接收,一帧接收完毕,RI=1。 发送时序发送时序写入写入SBUFTXD输出输出时钟时钟TID0D1D2D3D4D5D6D7写写REN=1RI=0RXD输入输入RI 接收时序接收时序(a)(b)5. 5. 移位寄存器方式举例移位寄存器方式举例 数据从数据从RXD(P3.0)引脚串行输出,低位在先,高位在引脚串行输出,低位在先,高位在后;后;TXD(P3.1)引脚输出移位脉冲,其频率为引脚输出移位脉冲,其频率为foc/12;发送完
13、毕后,中断标志位发送完毕后,中断标志位TI为为1。如要发送数据,如下所示:。如要发送数据,如下所示: MOV SCON,#00H ;串行口方式串行口方式0 MOV SBUF,A ;将数据送出将数据送出 JNB TI,$ ;等待数据发送完毕等待数据发送完毕 8位位UART 波特率为(波特率为(2SMODT1的溢出率)的溢出率)/ 32 ,可变。,可变。 一帧信息一帧信息10位。位。D0D1D2D3D4D5D6D7停止位停止位起始位起始位发送发送D7D6D5D4D3D2D1D0起始位起始位停止位停止位接收接收送送 RB8发送完置位发送完置位TI。当接收到数据后,置位当接收到数据后,置位RI是有条件
14、的。即:是有条件的。即:REN = 1,RI = 0 且且SM2 = 0或或SM2 = 1但是接收到的停止位为但是接收到的停止位为1。此时,数据装载此时,数据装载SBUF, RI置置1 ,停止位进入停止位进入RB8。 二、方式二、方式1 1 8位数据异步通讯方式。位数据异步通讯方式。1. 一帧一帧10位:位:8位数据位,位数据位,1个起始位个起始位(0),1个停止位个停止位(1)。 2. RXD:接收数据端。接收数据端。 TXD:发送数据端。发送数据端。3. 波特率:用波特率:用T1作为波特率发生器,作为波特率发生器,B=(2SMOD/32)T1溢出率。溢出率。4. 发送:写入发送:写入SBU
15、F,同时启动发送,一帧发送结束,同时启动发送,一帧发送结束,TI=1。 接收:接收:REN=1,允许接收。接收完一帧,若允许接收。接收完一帧,若RI=0且且停止位为停止位为1 (或或SM2=0),将接收数据装入将接收数据装入SBUF,停止停止位装入位装入RB8,并使并使RI=1;否则丢弃接收数据,不置位否则丢弃接收数据,不置位RI。 当当REN=1,CPU开始采样开始采样RXD引脚负跳变信号,若出引脚负跳变信号,若出现负跳变,才进入数据接收状态,先检测起始位,若第一现负跳变,才进入数据接收状态,先检测起始位,若第一位为位为0,继续接收其余位;否则,停止接收,重新采样负跳,继续接收其余位;否则,
16、停止接收,重新采样负跳变。数据采样速率为波特率变。数据采样速率为波特率16倍频,在数据位中间,用第倍频,在数据位中间,用第7、8、9个脉冲采样个脉冲采样3次数据位,并次数据位,并3中取中取2保留采样值。保留采样值。写入写入SBUF采样采样(a) 发送时序图发送时序图TXD数据输出数据输出TID0D1D2D3D4D5D6D7停止位停止位起始位起始位RXD输入数据输入数据(b) 接收时序图接收时序图D0D1D2D3D4D5D6D7停止位停止位起始位起始位RI检测检测负跳变负跳变9位位UART一般一般用于多机通信。一帧信息用于多机通信。一帧信息1111位位。 D0D1D2D3D4D5D6D7TB8停止位停止位起始位起始位发送发送发送完数据置位发送完数据置位TI。 RB8D7D6D5D4D3D2D1D0起始位起始位停止位停止位接收接收接收到有效数据完毕,置位接收到有效数据完毕,置位RI的条件的条件:REN = 1,RI = 0 且且SM2 = 0或接收到第或接收到第9位数据为位数据为1,此时,数据装载此时,数据装载SBUF,RI置置1,第,第9位数据(位数据(TB8) RB8。 送送RB8三、