当前位置:文档之家› 第9章 串行通信技术

第9章 串行通信技术

DATE: 2016/3/18 PAGE: 4
一、串行通信概述
(2)异步通信 每个字符数据被封装成帧,以帧的形式发送。每一帧 由四部分构成,分别是起始位、数据位、校验位和停止位 。起始位是数据开始传送的标志,用逻辑 0 表示;数据位 紧跟起始位,通常是 5~8 位二进制位;校验位用于校验数 据位是否发送正确,可以选择奇校验、偶校验或者不使用 校验位。帧和帧之间可以连续,或者加入任意的空闲位, 空闲位用逻辑1表示。
的奇偶校验。数据位从TXD引脚输出。当数据发送完毕后,硬件
自动使TI置1。启动下一次发送前,TI位必须清0。 方式2接收
方式2的接收过程与方式1类似,当RI=0且接收数据的第9位
为1,或者RI=0且SM2=0时,前8位数据被移入到SBUF中,第9位 数据被送入到SCON的RB8位,硬件自动使RI置1,CPU读取SBUF后 必须将RI清0才可以进行下次接收。
时传输。并行通信传输速度快,效率高,但所需的数据线 多,成本高,抗干扰能力较差,适用于近距离传输。 串行通信方式指将数据拆分成多个二进制位,逐一的在同 一条数据线上输出。串行通信虽然传输速度较慢,效率较 低,但所需的数据线少、硬件电路简单、抗干扰能力强, 且适用于远距离数据传输。
DATE: 2016/3/18 PAGE: 3
CPU将待发送的数据写入到SBUF后,单片机自动将数据从RXD引 脚输出,同步信号通过TXD引脚输出。发送数据完毕后,TI位被硬 件自动置1。启动下一次发送前,TI位必须通过软件清0。 方式0接收 在REN=1和RI=0的前提下允许串行口输入。串行数据通过RXD引 脚一位一位接收,并被移入到SBUF中,同步信号通过TXD引脚输出 。当8位数据接收完毕后,RI被硬件自动置1,CPU读取SBUF后必须 通过软件将RI清0才可以进行下次接收。
DATE: 2016/3/18 PAGE: 18
三、串行通信接口的控制
串行口工作方式3 串行口工作方式3的波特率可变,取决于定时器T1的溢出率,除此 之外与方式2相同。 方式1和方式3下波特率的设定 方式1和方式3下,波特率是可变的,由定时器T1的溢出率控制。定 时器T1用作波特率发生器时,通常选择工作方式2,即8位初值自动重 装载方式。常用的波特率与定时器T1的初值关系见下表:
要先将数据送入累加器 ACC 计算 1 的个数,以决定 P值 , 然后将 P值装入
TB8位,与数据一起发送出去供接收方校验。默认是偶校验,如果需要 改成奇校验,则在发送方需要将P值取反后再装入TB8,在接收方校验
时需将RB8中的值取反再与P值进行比较。
DATE: 2016/3/18 PAGE: 21
9600/(1+8+1)=960个字节。
DATE: 2016/3/18
PAGE: 7
二、存储器扩展
RS-232C串口 计算机广泛使用DB9接口连接,DB9串口及其引脚定义如下:
双机近距离串口通信时,可以采用简单
TXD RXD TXD RXD RTS CTS DSR DTR GND
PAGE: 8
DATE: 2016/3/18
PAGE: 9
二、串行通信接口的结构
8051单片机串行通信接口的结构
8051单片机的串行口主要由数据发送缓冲器SBUF、发
送控制器、输出控制门、数据接收缓冲器 SBUF、接收控 制器、输入移位寄存器、串行口控制寄存器SCON构成。
DATE: 2016/3/18
PAGE: 10
二、串行通信接口的结构
串行通信接口的结构
发送缓冲器SBUF和接收缓冲器SBUF共用同一个地址0x99,发送SBUF 只能写入而不能读出,接收SBUF只能读出不能写入。 CPU将数据写入SBUF中便启动发送,数据送引脚TXD被外设接收。 数据从引脚RXD上接入到数据移位寄存器中,一帧接收完毕后再被 自动送入SBUF中,CPU读取SBUF,便完成一次方式0下,接收完8位数据后由硬件置1 ;在其他方式下,在接收到停止位时由硬件置1。RI必须用软件清0。
DATE: 2016/3/18
PAGE: 14
三、串行通信接口的控制
电源管理寄存器PCON PCON用来管理单片机的电源部分,包括上电复位检测、掉
电模式、空闲模式等,PCON不可以位寻址,单片机复位时 PCON 全部被清 0 。 PCON 中与串口通信有关的是最高位 D7 , 用于设置串行口波特率是否加倍,如下图所示。
DATE: 2016/3/18
PAGE: 5
一、串行通信概述
串行通信的方向 按照数据传送方向,串行通信可以分为三个种类,分别 是单工、半双工和全双工。 单工:通信双方一方固定为发送方,另一方固定为接收 方,数据只能是单行传输; 半双工:通信双方只使用一根数据线,每一方都有发送 器和接收器,可以在两个方向上传送,但通信双方不能同 时接收或发送数据,只能交替进行; 全双工:通信双方使用两根数据线,分别用于不同方向 的数据传输,通信双方能够同时收发数据。
DATE: 2016/3/18 PAGE: 16
三、串行通信接口的控制
串行口工作方式1 串行口工作方式1为8位异步通信方式,数据帧格式为1位起始位 、 8 位数据位、 1位停止位,共10位。波特率由定时器 T1溢出率 决定。 方式1发送 CPU将待发送的数据写入 SBUF后,单片机自动将数据位从 TXD 引脚输出。当数据发送完毕后,硬件自动使TI置1。启动下一次 发送前,TI位必须软件清0。 方式1接收 REN=1时允许串口输入。数据位从RXD引脚输入,并被移入到 SBUF 中,当一帧数据接收完毕后,硬件自动使RI 置 1 , CPU读取 SBUF后必须将RI软件清0才可以进行下次接收。
当SMOD=1时,方式1、2、3的波特率加倍; 当SMOD=0时,方式1、2、3的波特率不变。
DATE: 2016/3/18
PAGE: 15
三、串行通信接口的控制
串行口工作方式
1.串行口工作方式0 方式0下,为8位同步移位寄存器方式。波特率固定为fosc/12,
以8位数据为一帧,不设起始位和停止位。 方式0发送
一、串行通信概述
串行通信有同步通信和异步通信两种基本的通信方式。 (1)同步通信 同步通信是一种连续的串行传输数据的通信方式,待 发送的若干个字符数据构成一个数据块,在该数据块前部 添加 1~2 个同步字符,在数据块的末尾添加校验信息,以
此种方式构成数据帧,以数据帧为单位进行串行通信。
通信时,发送方首先发送同步字符,之后紧跟数据块 ,最后是校验字符。接收方在检测到同步字符后,开始逐 个接收数据,直到把所有数据接收完毕,最后进行校验。
DATE: 2016/3/18
PAGE: 19
四、串行通信接口的编程
串行通信接口的编程 在使用串口收发数据之前,需要对串口相关的特殊功能寄存器进 行初始化设置,其内容包括以下两个方面: 1、初始化: (1)串口工作模式SCON设置 需要设置 SM0 和 SM1 选择串行口工作方式,多机通信时还需要设置 SM2。此外,如果需要串口接收数据,则必须设置REN为1。 (2)设置波特率 对于方式0,不需要设置波特率。 对于方式 2 ,可以通过设置 PCON 中的 SMOD 位选择波特率为 fosc/32 或 fosc/64。 对于方式 1和方式3,波特率设置通过定时器 T1的工作方式 2实现。 设置波特率时,需要设置TMOD寄存器,使定时器T1工作于方式2,并需 要根据波特率的值查表设置定时器 T1的初值寄存器TH1和TL1。另外还 需要设置PCON中的SMOD位,以决定波特率是否加倍。 (3)如需中断,开总中断和串行中断
DATE: 2016/3/18 PAGE: 17
三、串行通信接口的控制
串行口工作方式2 串行口工作方式2为9位异步通信方式,数据帧格式为1位 起始位、8位数据位、1位控制/校验位、1位停止位,共11位。
波特率为fosc/32或fosc/64。
方式2发送 将要发送的数据写入到SBUF,并通过SCON中的TB8设置数据
DATE: 2016/3/18
PAGE: 11
三、串行通信接口的控制
串行控制寄存器SCON
SCON用于设定串口通信的工作方式、接收/发送控制以及串口工作 状态指示。SCON的字节地址为0x98,可以进行位寻址,格式如下:
SCON各位的意义如下: SM0、SM1:串行通信工作方式选择位。SM0和SM1共4种组合,对应4中 工作方式,如下表所示,其中fosc为晶振频率。
单片机原理及应用
(第九章 串行通信技术)
教学内容
串行通信概述 串行通信接口的结构
串行通信接口的控制
串行通信接口的编程
DATE: 2016/3/18
PAGE: 2
一、串行通信概述
计算机与外界的信息传输常被称为通信,基本通信方式有 并行通信和串行通信两种。
并行通信方式指数据的各个二进制位在不同的数据线上同
DATE: 2016/3/18
PAGE: 12
三、串行通信接口的控制
SM2:多机通信控制位,主要用于工作方式2和工作方式3。 当串行口在多机通信模式下接收数据时:
当SM2=0时,将接收到的 8位数据送入到SBUF中,并产生
中断请求。 若设置SM2=1,且RB8为0时,不接收主机发来的数据。 如果不是多机通信,一般将SM2设为0。
DATE: 2016/3/18 PAGE: 20
四、串行通信接口的编程
2、奇偶校验:
对于方式2和方式3,需要有奇偶校验。 偶校验:发送/接收的8个数据位的1的个数为偶数时,TB8=0/ RB8=0; 为奇数时,TB8=1/ RB8=1; 奇校验:发送/接收的8个数据位的1的个数为奇数时,TB8=0/RB8=0; 为偶数时,TB8=1/ RB8=1; 用软件产生奇偶校验位是根据51系列单片机的状态寄存器PSW的定义: 当累加器ACC中为1的个数为奇数时,P=1,否则P=0,因此在校验之前需
相关主题