LGD8-1(4)串行通信

上传人:豆浆 文档编号:26254964 上传时间:2017-12-24 格式:PPT 页数:59 大小:525KB
返回 下载 相关 举报
LGD8-1(4)串行通信_第1页
第1页 / 共59页
LGD8-1(4)串行通信_第2页
第2页 / 共59页
LGD8-1(4)串行通信_第3页
第3页 / 共59页
LGD8-1(4)串行通信_第4页
第4页 / 共59页
LGD8-1(4)串行通信_第5页
第5页 / 共59页
点击查看更多>>
资源描述

《LGD8-1(4)串行通信》由会员分享,可在线阅读,更多相关《LGD8-1(4)串行通信(59页珍藏版)》请在金锄头文库上搜索。

1、1,第八章 80C51单片机串行通信,本书前几章涉及的数据传送都是采用并行方式。80C51处理8位数据,若以并行传送方式一次传送一个字节的数据,至少需要8条数据线。计算机之间、计算机与其终端之间的距离有时非常远,此时,电缆线过多是不经济的,2,8.1 串行通信基本知识,8.1.1 数据通信8.1.2 串行通信的传输方式8.1.3 异步通信和同步通信8.1.4 串行通信的过程及通信协议,3,8.1.1 数据通信,在实际工作中,计算机的CPU与外部设备之间常常要进行信息交换,一台计算机与其他计算机之间也往往要交换信息,所有这些信息交换均可称为通信。通信方式有两种,即并行通信和串行通信。通常根据信息

2、传送的距离决定采用哪种通信方式。,4,图8-1 数据通信方式,返回,80C51,80C51,5,8.1.1数据通信,并行通信是指数据的各位同时进行传送(发送或接收)的通信方式。其优点是传送速度快;缺点是数据有多少位,就需要多少根传送线。图8-1(a)所示为80C51与外设间8位数据并行通信的连接方法。并行通信在位数多、传送距离又远时就不太合适了。,6,8.1.1 数据通信,串行通信指数据是一位一位按顺序传送的通信方式。它的突出优点是只需一对传输线(利用电话线就可作为传输线),这样就大大降低了传送成本,特别适用于远距离通信;其缺点是传送速度较低。假设并行传送N位数据所需时间位T,那么串行传送的时

3、间至少为NT,实际上总是大于NT的。图8-1(b)所示为串行通信方式的连接方法。,7,8.1.2 串行通信的传输方式,串行通信的传送方向通常有三种:单向(或单工)配置,只允许数据向一个方向传送;半双向(或半双工)配置,允许数据向两个方向中的任一方向传送,但每次只能有一个站点发送;全双向(全双工)配置,允许同时双向传送数据,因此,全双工配置是一对单向配置,它要求两端的通信设备都具有完整和独立的发送和接受能力。图8-2所示为串行通信中的数据传送方式。,8,图8-2 串行通信中的数据传送方式,9,8.1.3 异步通信和同步通信,串行通信有两种基本通信方式,即异步通信和同步通信。1. 异步通信 在异步

4、通信中,数据是一帧一帧(包括一个字符代码或一字节数据)传送的,每一帧的数据格式如图8-3所示,10,图8-3 异步通信数据格式,11,2. 同步通信,同步通信中,在数据开始传送前用同步字符来指示(常约定1个-2个),并由时钟来实现发送端和接收端同步,即检测到规定的同步字符后,下面就连续按顺序传送数据,直到通信告一段落。同步传送时,字符与字符之间没有间隙,也不用起始位和停止位,仅在数据块开始时用同步字符SYNC来指示,其数据格式如图8-4所示。,12,图8-4 同步通信数据格式,13,3. 波特率(Baud rate),波特率,即数据传送速率,表示每秒钟传送二进制代码的位数,它的单位是b/s。波

5、特率对于CPU与外界的通信是很重要的。假设数据传送速率是120字符/s,而每个字符格式包含1个代码位(1个起始位、1个终止位、8个数据位)。这时,传送的波特率为: 10b字符120字符s1200bs,14,3. 波特率(Baud rate),每一位代码的传送时间Td为波特率的倒数。 Td1b(1200bs-1)0.833ms异步通信的传送速率在50b/s-19200b/s之间,常用于计算机到终端机和打印机之间的通信、直通电报以及无线电通信的数据发送等。,15,8.1.4 串行通信的过程及通信协议,1.串并转换与设备同步 两个通信设备在串行线路上成功地实现通信必须解决两个问题: 一是串并转换,即

6、如何把要发送的并行数据串行化,把接收的串行数据并行化; 二是设备同步,即同步发送设备与接收设备的工作节拍,以确保发送数据在接收端被正确读出。,16,1.串并转换与设备同步,(1)串并转换 串行通信是将计算机内部的并行数据转换成串行数据,将其通过一根通信线传送;并将接收的串行数据再转换成并行数据送到计算机中。,17,图8-5,18,图8-6,19,(2)设备同步,进行串行通信的两台设备必须同步工作才能有效地检测通信线路上的信号变化,从而采样传送数据脉冲。设备同步对通信双方有两个共同要求:一是通信双方必须采用统一的编码方法;二是通信双方必须能产生相同的传送速率。,20,(2)设备同步,采用统一的编

7、码方法确定了一个字符二进制表示值的位发送顺序和位串长度,当然还包括统一的逻辑电平规定,即电平信号高低与逻辑1和逻辑0的固定对应关系。通信双方只有产生相同的传送速率,才能确保设备同步,这就要求发送设备和接收设备采用相同频率的时钟。发送设备在统一的时钟脉冲上发出数据,接收设备才能正确检测出与时钟脉冲同步的数据信息。,21,2. 串行通信协议,通信协议是对数据传送方式的规定,包括数据格式定义和数据位定义等。通信双方必须遵守统一的通信协议。串行通信协议包括同步协议和异步协议两种。,22,2. 串行通信协议,(1)起始位通信线上没有数据被传送时处于逻辑1状态。当发送设备要发送一个字符数据时,首先发出一个

8、逻辑0信号,这个逻辑低电平就是起始位。 起始位通过通信线传向接收设备,接收设备检测到这个逻辑低电平后,就开始准备接收数据位信号。 起始位所起的作用就是设备同步,通信双方必须在传送数据位前协调同步。,23,2. 串行通信协议,(2)数据位 当接收设备收到起始位后,紧接着就会收到数据位。数据位的个数可以是5、6、7或8。IBM-PC中经常采用7位或8位数据传送,89C51串行口采用8位或9位数据传送。这些数据位被接收到移位寄存器中,构成传送数据字符。在字符数据传送过程中,数据位从最低有效位开始发送,依次顺序在接收设备中被转换为并行数据。,24,2. 串行通信协议,(3)奇偶校验位 数据位发送完之后

9、,可以发送奇偶校验位。奇偶校验用于有限差错检测,通信双方需约定已知的奇偶校验方式。如果选择偶校验,那么组成数据位和奇偶位的逻辑1的个数必须是偶数;如果选择奇校验,那么逻辑1的个数必须是奇数。,25,2. 串行通信协议,(4)停止位约定 在奇偶位或数据位(当无奇偶校验时)之后发送的是停止位。停止位是一个字符数据的结束标志,可以是1位,1.5位或2位的高电平。接收设备收到停止位之后,通信线路上便又恢复逻辑1状态,直至下一个字符数据的起始位到来。,26,2. 串行通信协议,(5)波特率设置 通信线上传送的所有位信号都保持一致的信号持续时间,每一位的信号持续时间都由数据传送速度确定,而传送速度是以每秒

10、多少个二进制位来衡量的,这个速度叫波特率。如果数据以300个二进制位每秒在通信线上传送,那么传送速度为300波特,通常记为300b/s。,27,8.2 80C51串行口,1. 结 构2. 串行口控制字及控制寄存器,28,图8-7 串行口内部结构示意简图,29,2. 串行口控制字及控制寄存器,80C51串行口是可编程接口,对它初始化编程只用两个控制字分别写入特殊功能寄存器SCON(98H)和电源控制寄存器PCON(87H)中即可。(1)SCON(98H) 80C51串行通信的方式选择、接收和发送控制以及串行口的状态标志等均由特殊功能寄存器SCON控制和指示,其控制字格式如图8-8所示。,30,图

11、8-8 串行口控制寄存器SCON,31,2、串行口控制字及控制寄存器,SM0和SM1(SCON.7,SCON.6)串行口工作方式选择位。两个选择位对应4种通信方式,如表7-1所示。其中,fosc是振荡频率。,8,32,2、串行口控制字及控制寄存器,REN(SCON.4)允许接收控制位。由软件置1或清0,只有当REN1时才允许接收,相当于串行接收的开关;若REN0,则禁止接收。 在串行通信接收控制过程中,如果满足RI0和REN1(允许接收)的条件,就允许接收,一帧数据就装载入接收SBUF中。,33,2、串行口控制字及控制寄存器,TB8(SCON.3)发送数据的第9位(D8)装入TB8中。在方式2

12、或方式3中,根据发送数据的需要由软件置位或复位。在许多通信协议中可用作奇偶校验位,也可在多机通信中作为发送地址帧或数据帧的标志位。在方式0或方式1中,该位未用。,34,2、串行口控制字及控制寄存器,RB8(SCON.2)接收数据的第9位。在方式2或方式3中,接收到的第9位数据放在RB8位。它或是约定的奇/偶校验位,或是约定的地址/数据标识位。在方式2和方式3多机通信中,若SM21,如果RB81,说明收到的数据为地址帧。 在方式1中,若SM20(即不是多机通信情况),RB8中存放的是已接收到的停止位。在方式0中,该位未用。,35,2、串行口控制字及控制寄存器,TI(SCON.1)发送中断标志。在

13、一帧数据发送完时被置位。在方式0串行发送第8位结束或其他方式串行发送到停止位的开始时由硬件置位,可用软件查询。它同时也申请中断,TI置位意味着向CPU提供“发送缓冲器SBUF已空”的信息,CPU可以准备发送下一帧数据。串行口发送中断被响应后,TI不会自动清0,必须由软件清0。,36,2、串行口控制字及控制寄存器,RI(SCON.0)接收中断标志。在节收到一帧有效数据后由硬件置位。RI1,申请中断,表示一帧数据接收结束,并已装入接收SBUF中,要求CPU取走数据。CPU响应中断,取走数据。RI也必须由软件清0,清除中断申请,并准备接收下一帧数据。串行发送中断标志TI和接收中断标志RI是同一个中断

14、源,CPU事先不知道是发送中断TI还是接收中断RI产生的中断请求,所以,在全双工通信时,必须由软件来判别。 复位时,SCON所有位均清0。,37,2、串行口控制字及控制寄存器,(2)PCON(87H) 电源控制寄存器PCON中只有SMOD位与串行口工作有关,如图8-9所示。,图8-9 电源控制寄存器PCON,38,2、串行口控制字及控制寄存器,SMOD(PCON.7)波特率倍增位。在串行口方式1、方式2和方式3时,波特率和SMOD成正比,亦即当SMOD1时,波特率提高一倍。复位时,SMOD0。,39,8.3 80C51串行口工作方式,根据实际需要,80C51串行口可设置4种工作方式,可有8位、

15、10位或11位帧格式。 方式0以8位数据为一帧,不设起始位和停止位,先发送或接收最低位。其帧格式如下:,40,方式1以10位为一帧传输,设有1个起始位(0),8个数据位和1个停止位(1)。其帧格式为:,41,方式2和方式3以11位为1帧传输,设有1个起始位(0),8个数据位,1个附加第9位和1个停止位(1)。其帧格式为:附加第9位(D8)由软件置1或清0。发送时在TB8中,接收时送RB8中。,42,(1)串行口方式0方式0为同步移位寄存器输入/输出方式,常用于扩展I/O口。串行数据通过RXD输入或输出,而TXD用于输出移位时钟,作为外接部件的同步信号。图8-10(a)为发送电路,图8-11(a

16、)为接收电路。这种方式不适用于两个80C51之间的直接数据通信,但可以通过外接移位寄存器来实现单片机的接口扩展。,43,44,45,例如,74LS164可用于扩展并行输出口,74LS165可用于扩展输入口。在这种方式下,收/发的数据为8位,低位在前,无起始位、奇偶校验位及停止位,波特率是固定的。,46,(2)串行口方式1方式1真正用于串行发送或接收,为10位通用异步接口。TXD与RXD分别用于发送与接收数据。收发一帧数据的格式为1位起始位、8位数据位(低位在前)、1位停止位,共10位。在接收时,停止位进入SCON的RB8,此方式的传送波特率可调。串行口方式1的发送和接收时序如图8-12(a)和(b)所示,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号