第7章89C51串行口及串行通信技术

上传人:宝路 文档编号:47493940 上传时间:2018-07-02 格式:PPT 页数:222 大小:2.79MB
返回 下载 相关 举报
第7章89C51串行口及串行通信技术_第1页
第1页 / 共222页
第7章89C51串行口及串行通信技术_第2页
第2页 / 共222页
第7章89C51串行口及串行通信技术_第3页
第3页 / 共222页
第7章89C51串行口及串行通信技术_第4页
第4页 / 共222页
第7章89C51串行口及串行通信技术_第5页
第5页 / 共222页
点击查看更多>>
资源描述

《第7章89C51串行口及串行通信技术》由会员分享,可在线阅读,更多相关《第7章89C51串行口及串行通信技术(222页珍藏版)》请在金锄头文库上搜索。

1、第七章 89C51串行口及串行通信技术7.1 串行通信基本知识7.2 串行口及应用7.3 89C51与89C51点对点异步通信7.4 89C51与PC机间通信7.5 思考题与习题返回DateDate1 17.1 串行通信基本知识7.1.1 数据通信7.1.2 串行通信的传输方式7.1.3 异步通信和同步通信7.1.4 串行通信的过程及通信协议返回DateDate2 27.1.1 数据通信 在实际工作中,计算机的CPU与外部设备之间常常要进行信息交换,一台计算机与其他计算机之间也往往要交换信息,所有这些信息交换均可称为通信。 通信方式有两种,即并行通信和串行通信。 通常根据信息传送的距离决定采用

2、哪种通信方式。返回DateDate3 37.1.1 数据通信 并行通信是指数据的各位同时进行传送(发送或接收)的通信方式。 优点:传送速度快; 缺点:数据有多少位,就需要多少根传送线。返回DateDate4 4Date57.1.1 数据通信 串行通信指数据是一位一位按顺序传送的通信方式。 它的突出优点:只需一对传输线(利用电话线就可作为传输线),这样就大大降低了传送成本,特别适用于远距离通信; 缺点:传送速度较低。返回DateDate6 6Date7图图7-1 7-1 数据通信方式数据通信方式返回DateDate8 87.1.2 串行通信的传输方式串行通信的传送方向通常有三种: p单向(或单工

3、)配置,只允许数据向一个方 向传送; p半双向(或半双工)配置,允许数据向两个 方向中的任一方向传送,但每次只能有一个站 点发送; p全双向(全双工)配置,允许同时双向传送 数据,因此,全双工配置是一对单向配置,它 要求两端的通信设备都具有完整和独立的发送 和接受能力。返回DateDate9 9图7-2 串行通信中的数据传送方式 DateDate10107.1.3 异步通信和同步通信 串行通信有两种基本通信方式,即异步通信和同步通信。1.异步通信:数据是一帧一帧传送的。 返回DateDate1111图7-3 异步通信数据格式DateDate12121.异步通信 在帧格式中,一个字符由四个部分组

4、成:起始位、数据位、奇偶校验位和停止位。首先是一个起始为(0),然后是5位-8位数据(规定低位在前,高位在后),接下来是奇偶校验位(可省略),最后是停止位(1)。返回DateDate13131.异步通信 起始位(0)信号只占用一位,用来通知接收设备一个待接收的字符开始到达。线路上在不传送字符时应保持为1。接收端不断检测线路的状态,若连续为1以后又测到一个0,就知道发来一个新字符, 应马上准备接收。字符的起始位还被用作同步接收端的时钟,以保证以后的接收能正确进行。起始位后面紧接着是数据位,它可以是5位(D0-D4)、6位、7位或8位(D0-D7)。奇偶校验(D8)只占一位,但在字符中也可以规定不

5、用奇偶校验位,则这一位就可省去。也可用这一位(1/0)来确定这一帧中的字符所代表信息的性质(地址/数据等)。停止位用来表征字符的结束,它一定是高电位(逻辑1)。停止位可以是1位、1.5位或2位。接收端收到停止位后,知道上一字符已传送完毕,同时,也为接收下一个字符做好准备-只要再接收到0,就是新的字符的起始位。若停止位以后不是紧接着传送下一个字符,则使线路电平保持为高电平(逻辑1)。返回DateDate14142.同步通信 同步通信中,在数据开始传送前用同步字符来指示(常约定1个-2个),并由时钟来实现发送端和接收端同步,即检测到规定的同步字符后,下面就连续按顺序传送数据,直到通信告一段落。 同

6、步传送时,字符与字符之间没有间隙,也不用起始位和停止位,仅在数据块开始时用同步字符 SYNC来指示。返回DateDate1515图7-4 同步通信数据格式返回DateDate16162.同步通信 同步字符的插入可以是单同步字符方式或双同步字符方式,如图7-4所示,然后是连续的数据块。同步字符可以由用户约定,当然也可以采用ASCII码中规定的SYNC代码,即16H。按同步方式通信时,先发送同步字符,接收方检测到同步字符后,即准备接收数据。 在同步传送时,要求用时钟来实现发送端与接收端之间的同步。为了保证接收正确无误,发送方除了传送数据外,还要同时传送时钟信号。 同步传送可以提高传输速率(达56k

7、b/s或更高),但硬件比较复杂。返回DateDate17173.波特率(Baud rate) 波特率,即数据传送速率,表示每秒钟传送二进制代码的位数,它的单位是b/s。 假设数据传送速率是120字符/s,而每个字符格式包含10个代码位(1个起始位、1个终止位、8个数据位)。这时,传送的波特率为:10b字符120字符s1200bs返回DateDate18183.波特率(Baud rate) 每一位代码的传送时间Td为波特率的倒数。Td1b(1200bs-1)0.833ms 异步通信的传送速率在50b/s-19200b/s之间。返回DateDate19197.1.4 串行通信的过程及通信协议1.串

8、并转换与设备同步两个通信设备在串行线路上成功地实现通 信必须解决两个问题:一是串并转换,即如何把要发送的并行数据串行化,把接收的串行数据并行化;二是设备同步,即同步发送设备与接收设备的工作节拍,以确保发送数据在接收端被正确读 出。返回DateDate20201.串并转换与设备同步(1)串并转换串行通信是将计算机内部的并行数据转换成串行数据,将其通过一根通信线传送;并将接收的串行数据再转换成并行数据送到计算机中。返回DateDate21211.串并转换与设备同步 在计算机串行发送数据之前,计算机内部的并行 数据被送入移位寄存器并一位一位地输出,将并 行数据转换成串行数据。如图7-5所示。 在接收

9、数据时,来自通信线路的串行数据被压入 移位寄存器,满8位后并行送到计算机内部。 如 图7-6所示。 在串行通信控制电路中,串-并、并-串转换逻 辑被集成在串行异步通信控制器芯片中。89C51 单片机的串行口和IBM-PC机中的8250芯片都可 实现这一功能。返回DateDate2222图7-5DateDate2323图7-6 返回DateDate2424(2)设备同步 进行串行通信的两台设备必须同步工作才 能有效地检测通信线路上的信号变化,从 而采样传送数据脉冲。 设备同步对通信双方有两个共同要求: 一是通信双方必须采用统一的编码方法; 二是通信双方必须能产生相同的传送速率。返回1.串并转换与

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

11、2.串行通信协议(1)起始位 通信线上没有数据被传送时处于逻辑1状态。 当发送设备要发送一个字符数据时,首先发出一个逻辑0信号,这个逻辑低电平就是起始位。 起始位通过通信线传向接收设备,接收设备检测到这个逻辑低电平后,就开始准备接收数据位信号。 起始位所起的作用就是设备同步,通信双方必须在传送数据位前协调同步。返回DateDate28282.串行通信协议(2)数据位当接收设备收到起始位后,紧接着就会收到数据位。数据位的个数可以是5、6、7或8。IBM-PC中经常采用7位或8位数据传送,89C51串行口采用8位或9位数据传送。这些数据位被接收到移位寄存器中,构成传送数据字符。在字符数据传送过程中

12、,数据位从最低有效位开始发送,依次顺序在接收设备中被转换为并行数据。返回DateDate29292.串行通信协议(3)奇偶校验位数据位发送完之后,可以发送奇偶校验位。奇偶校验用于有限差错检测,通信双方需约定已知的奇偶校验方式。如果选择偶校验,那么组成数据位和奇偶位的逻辑1的个数必须是偶数;如果选择奇校验,那么逻辑1的个数必须是奇数。返回DateDate30302.串行通信协议(4)停止位约定在奇偶位或数据位(当无奇偶校验时)之后发送的是停止位。停止位是一个字符数据的结束标志,可以是1位,1.5位或2位的高电平。接收设备收到停止位之后,通信线路上便又恢复逻辑1状态,直至下一个字符数据的起始位到来

13、。返回DateDate31312.串行通信协议(5)波特率设置通信线上传送的所有位信号都保持一致的信号持续时间,每一位的信号持续时间都由数据传送 速度确定,而传送速度是以每秒多少个二进制位 来衡量的,这个速度叫波特率。如果数据以300个二进制位每秒在通信线上传送,那么传送速度 为300波特,通常记为300b/s。返回(6)挂钩(握手)信号约定 DateDate32327.2 串行口及应用 89C51的串行接口是一个全双工串行通信接口,即能同时进行串行发送和接收数据。 它可以作UART(通用异步接收和发送器)用,也可以作同步移位寄存器用。 使用串行接口可以实现89C51单片机系统之间点对点的单机

14、通信和89C51与系统机(如IBM-PC机等)的单机或多机通信。返回DateDate33337.2 串行口及应用 7.2.1 89C51串行口 7.2.2 89C51串行口的应用返回DateDate34347.2.1 89C51串行口1.结 构2.串行口控制字及控制寄存器3.串行通信工作方式4.波特率设计返回DateDate35351.结 构 89C51通过引脚RXD(P3.0,串行数据接收端)和引脚TXD(P3.1,串行数据发送端)与外界进行通信。其中有两个物理独立的接收、发送缓冲器SBUF,它们占用同一低值99H,可同时发送、接收数据。发送缓冲器只能写入,不能读出;接收缓冲器只能读出,不能

15、写入。串行发送与接收的速率与移位时钟同步。89C51用定时器T1作为串行通信的波特率发生器,T1溢出率经2分频(或不分频)后又经16分频作为串行发送或接收的移位脉冲。移位脉冲的速率即是波特率。返回DateDate3636图7-7 串行口内部结构示意简图返回DateDate37371.结 构从图中可看出,接收器是双缓冲结构,在前一个字节被从接收缓冲器 SBUF读出之前,第二个字节即开始被接收(串行输入至移位寄存器), 但是,在第二个字节接收完毕而前一个字节CPU未读取时,会丢失前一个 字节。 串行口的发送和接收都是以特殊功能寄存器SBUF的名义进行读或写的。 当向SBUF发“写”命令时(执行“M

16、OV SBUF,A”指令),即是向发送缓冲 器SBUF装载并开始由TXD引脚向外发送一帧数据,发送完便使发送中断 标志位TI=1。 在满足串行口接收中断标志位RI(SCON.0)=0的条件下,置允许接收位 REN(SCON.4)=1就会接收一帧数据进入移位寄存器,并装载到接收 SBUF中,同时使RI=1。当发读SBUF命令时(执行“MOV A,SBUF”命令 ),便由接收缓冲器(SBUF)取出信息通过89C51内部总线送CPU。 对于发送缓冲器,因为发送时CPU是主动的,不会产生重叠错误,一 般不需要用双缓冲器结构来保持最大传送速率。返回DateDate38382.串行口控制字及控制寄存器89C51串行口是可编程接口,对它初始化编程只用两个控制字分别写入特殊功能寄存器SCON(98H

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

最新文档


当前位置:首页 > 中学教育 > 教学课件

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