51单片机串口通信Q

上传人:woxinch****an2018 文档编号:44721569 上传时间:2018-06-14 格式:PPT 页数:119 大小:1.04MB
返回 下载 相关 举报
51单片机串口通信Q_第1页
第1页 / 共119页
51单片机串口通信Q_第2页
第2页 / 共119页
51单片机串口通信Q_第3页
第3页 / 共119页
51单片机串口通信Q_第4页
第4页 / 共119页
51单片机串口通信Q_第5页
第5页 / 共119页
点击查看更多>>
资源描述

《51单片机串口通信Q》由会员分享,可在线阅读,更多相关《51单片机串口通信Q(119页珍藏版)》请在金锄头文库上搜索。

1、第9章 串行接口及串行通信技术 教学目标 9.1 串行通信基础知识 9.2 AT89C51的串行接口 9.3 AT89C51串行接口的应用与编程 9.4 多机通信 9.5 PC机与单片机间的串行通信 9.6 实训指导 本章小结 思考题与习题教学目标通过本章教学,要求达到以下目标: 1. 串行通信的基本概念:了解并行/串行通信的概念;理解串行通信中的异步/同步通信的基本概念;理解波特率的概念,学会计算波特率 的方法;4了解串行通信的三种制式及校验方法。 2. AT89C51串行口:串行接口结构及其功能; 理解串行数据缓冲器SBUF的功能和读写方 法; 熟悉SCON的结构、控制作用和设置方 法;

2、了解电源控制寄存器PCON,熟悉SMOD位。 3. 串行口的工作方式: 理解串行通信4种工作方式的特点和区别;掌握串行工作方式0的应用; 熟悉串行工作方式1、2、3应用程序的编制方法。4. 多机通信原理:理解多机通信的原理、过程和编制多机通信应用程序的方法。 计算机与外界的信息交换称为通信。通信的基本方式可分为并行通信和串行通信两种。所谓并行通信是指数据的各位同时在多根数据线上发送或接收。串行通信是数据的各位在同一根数据线上依次逐位发送或接收。9.1 串行通信基础知识目前串行通信在单片机双机、多机以及单片机 与PC机之间的通信等方面得到了广泛应用。图9.1 并行通信示意图 P0.7 P0.6

3、P0.5 P0.4 P0.3 P0.2 P0.1 P0.0P2.7 RD WRRD WRCSD7 D6 D5 D4 D3 D2 D1 D0825589C51图9.2 串行通信示意图 89C51外设TXDTXDRXDRXD发送接收9.1.1 异步通信和同步通信串行通信按同步方式可分为异步通信和同步通信两种基本通信方式。1. 同步通信(Synchronous Communication)同步通信是一种连续传送数据的通信方式,一次通信传送多个字符数据,称为一帧信息。数据传 输速率较高,通常可达56000bps或更高。其缺点是要求发送时钟和接收时钟保持严格同步。同步 字符数 据 字符1数 据 字符2数

4、据字 符n-1数 据 字符n校 验 字 符(校验 字符)图9.3 同步通信数据传送格式2. 异步通信(Asynchronous Communication)在异步通信中,数据通常是以字符或字节为单位组成数据帧进行传送的。收、发端各有一套彼此 独立,互不同步的通信机构,由于收发数据的帧 格式相同,因此可以相互识别接收到的数据信息 。同步通信的数据帧格式如图9.3所示。D0 D1 D2 D3 D4 D5 D6 D7 0/1 1 1 1 1 D7 0/1 1 00 D0 D1第n字符帧空闲位停 止 位奇 偶 校 验停 止 位8位数据 8位数据起 始 位起 始 位奇 偶 校 验第n-1字符 帧第n+1

5、字符帧图9.4 异步通信帧格式8位数据异步通信信息帧格式如图9.4所示。(1) 起始位:在没有数据传送时,通信线上处于逻辑“1”状态 。当发送端要发送1个字符数据时,首先发送1个 逻辑“0”信号,这个低电平便是帧格式的起始位。其作用是向接收端表示发送端开始发送一帧数 据。接收端检测到这个低电平后,就准备接收数 据信号。(2) 数据位:在起始位之后,发送端发出(或接收端接收)的是 数据位,数据的位数没有严格的限制,58位均可。由低位到高位逐位传送。(3) 奇偶校验位:数据位发送完(接收完)之后,可发送一位用来检验数据在传送过程中是否出错的奇偶校验位 。奇偶校验是收发双方预先约定好的有限差错 检验

6、方式之一。有时也可不用奇偶校验。(4) 停止位:字符帧格式的最后部分是停止位,逻辑“1”电平有 效,它可占1/2位、1位或2位。停止位表示传送一帧信息的结束,也为发送下一帧信息作好准备。9.1.2 串行通信的波特率波特率(Baud Rate)是串行通信中一个重要概念 ,它是指传输数据的速率, 亦称比特率。波特率的定义是每秒传输二进制数码的位数。如:波特率为 1200bps是指每秒钟能传输1200位二进制数码。波特率的倒数即为每位数据传输时间。例如 :波特率为1200bps,每位的传输时间为:1)(833.0 1200ms dT=波特率和字符的传输速率不同,若采用图9.4的数据帧格式,并且数据帧

7、连续传送(无空闲位 ),则实际的字符传输速率为1200/11=109.09帧/秒。波特率也不同于发送时钟和接收时钟频率。同步通信的波特率和时钟频率相等,而异步通信 的波特率通常是可变的。9.1.3 串行通信的制式1. 单工制式(Simplex)单工制式是指甲乙双方通信只能单向传送 数据。单工制式如图9.5所示。在串行通信中,数据是在两个站之间传送的。按照数据传送方向,串行通信可分为三种制式 。发送器A接收器B图9.5 单工制式2. 半双工制式(Half duplex) 半双工制式是指通信双方都具有发送器和接收器,双方既可发送也可接收,但接收和发 送不能同时进行,即发送时就不能接收,接收 时就不

8、能发送。半双工制式如图9.6所示。发送接收发送接收A 端B 端图9.6 半双工制式3. 全双工制式(Full duplex)全双工制式是指通信双方均设有发送器和接收器,并且将信道划分为发送信道和接收信 道,两端数据允许同时收发,因此通信效率比 前两种高。全双工制式如图9.7所示。发送接收接收发送A 端B 端图9.7 全双工制式9.1.4 串行通信的校验串行通信的目的不只是传送数据信息,更重要的是应确保准确无误地传送。因此必须考虑在 通信过程中对数据差错进行校验,因为差错校验 是保证准确无误地通信的关键。常用差错校验方 法有奇偶校验、累加和校验以及循环冗余码校验 等。1. 奇偶校验奇偶校验的特点

9、是按字符校验,即在发送每 个字符数据之后都附加一位奇偶校验位(1或0),当 设置为奇校验时,数据中1的个数与校验位1的个数之和应为奇数;反之则为偶校验。收、发双方 应具有一致的差错检验设置,当接收1帧字符时 ,对1的个数进行检验,若奇偶性(收、发双方)一致则说明传输正确。奇偶校验只能检测到那种影 响奇偶位数的错误,比较低级且速度慢,一般只 用在异步通信中。2. 累加和校验累加和校验是指发送方将所发送的数据块求 和,并将“校验和”附加到数据块末尾。接收方接收数据时也是先对数据块求和,将所得结果与发 送方的“校验和”进行比较,若两者相同,表示传 送正确,若不同则表示传送出了差错。“校验和”的加法运

10、算可用逻辑加,也可用算术加。累加和 校验的缺点是无法检验出字节或位序的错误。3. 循环冗余码校验(CRC) 循环冗余码校验的基本原理是将一个数据块看成一个位数很长的二进制数,然后用一个特定的数去除它, 将余数作校验码附在数据块之后一起发送。接收端收到 该数据块和校验码后,进行同样的运算来校验传送是否 出错。目前CRC已广泛用于数据存储和数据通信中,并 在国际上形成规范,市面上已有不少现成的CRC软件算法。9.2 AT89C51的串行接口AT89C51内部有一个可编程全双工串行通信接口。该部件不仅能同时进行数据的发送和接收 ,也可作为一个同步移位寄存器使用。下面将对其内部结构、工作方式以及波特率

11、进行介绍。9.2.1 串行接口的结构及功能图9.8 AT89C51串行口结构框图发送 SBUF (99H)接收 SBUF (99H)同 步 时 钟门电路发送控制器接收控制器输入移位寄存器串 行 口 控 制 寄 存 器 (98H)内 部 总 线1串行口中 断TI R ITXD(P3.1 )RXD(P3.0 )1. 串行数据缓冲器SBUFSBUF是串行口缓冲寄存器,包括发送寄存器和接收寄存器,以便能以全双工方式进行通信 。此外,在接收寄存器之前还有移位寄存器,从 而构成了串行接收的双缓冲结构,这样可以避免 在数据接收过程中出现帧重叠错误。发送数据时 ,由于CPU是主动的,不会发生帧重叠错误,因此发

12、送电路不需要双重缓冲结构。在逻辑上,SBUF只有一个,它既表示发送寄存器,又表示接收寄存器,具有同一个单元 地址99H。但在物理结构上,则有两个完全独立 的SBUF,一个是发送缓冲寄存器SBUF,另一 个是接收缓冲寄存器SBUF。如果CPU写SBUF,数据就会被送入发送寄存器准备发送;如果 CPU读SBUF,则读入的数据一定来自接收缓冲器。即CPU对SBUF的读写,实际上是分别访问上述两个不同的寄存器。2. 串行控制寄存器SCON串行控制寄存器SCON用于设置串行口的工作方式、监视串行口的工作状态、控制发送与接收的 状态等。它是一个既可以字节寻址又可以位寻址的8 位特殊功能寄存器。其格式如图9

13、.9所示。见表9-1图9.9 串行口控制寄存器SCONRITIRB8TB8RENSM2SM1SM0SCON98H99H9AH9BH9CH9DH9EH9FH位地址0:双机 1:多机多机通信0:禁止 1:允许接收控制发送数据第9位接收数据第9位发送中断标志接收中断标志(1)SM0 SM1:串行口工作方式选择位。其状态 组合所对应的工作方式如表9-1所示。SM0 SM1 工作方式功 能说 明 0 00同步移位寄存器输入/输出,波特率固定 为fosc/12 0 1110位异步收发,波特率可变(T1溢出率/n ,n=32或16) 1 0211位异步收发,波特率固定为f0sc/n, n=64或32) 1

14、1311位异步收发,波特率可变(T1溢出率/n ,n=32或16) 表9-1 串行口工作方式(2) SM2:多机通信控制器位。在方式0中, SM2必须设成0。在方式1中,当处于接收状态 时,若SM2=1,则只有接收到有效的停止位“1” 时,RI才能被激活成“1”(产生中断请求)。在方式2和方式3中,若SM2=0,串行口以单机发送 或接收方式工作,TI和RI以正常方式被激活并 产生中断请求;若SM2=1,RB8=1时,RI被激活并产生中断请求。(4) TB8:方式2和方式3中要发送的第9位数据。该位由软件置位或复位。在方式2和方式3时, TB8是发送的第9位数据。在多机通信中,以 TB8位的状态

15、表示主机发送的是地址还是数据: TB8=1表示地址,TB8=0表示数据。TB8还可用作奇偶校验位。(3) REN:串行接受允许控制位。该位由软件置位 或复位。当REN=1,允许接收;当REN=0,禁止接收。(6)TI:发送中断标志位。TI=1,表示已结束一帧 数据发送,可由软件查询TI位标志,也可以向 CPU申请中断。 注意:TI在任何工作方式下都必须由软件清0。(5) RB8:接收数据第9位。在方式2和方式3时, RB8存放接收到的第9位数据。RB8也可用作奇偶校 验位。在方式1中,若SM2=0,则RB8是接收到的停 止位。在方式0中,该位未用。(7)RI:接收中断标志位。RI=1,表示一帧

16、数据接 收结束。可由软件查询RI位标志,也可以向CPU申请中断。注意:RI在任何工作方式下也都必须由软件清0。在AT89C51中,串行发送中断TI和接收中断RI 的中断入口地址是同是0023H,因此在中断程序中 必须由软件查询TI和RI的状态才能确定究竟是接收还是发送中断,进而作出相应的处理。单片机复位 时,SCON所有位均清0。图9.10 电源控制寄存器PCON的格式PCON D7D 6D 5D 4D 3D 2D 1D 0 位名 称SM OD G F 1G F 0P DI D LSMOD:串行口波特率倍增位。在工作方式1 工作方式3时,若SMOD=1,则串行口波特率增 加一倍。若SMOD=0,波特率不加倍。系统复位 时,SMOD=0。2. 电源控制寄存器PCON9.2.2 串行口工作方式AT89C51串行通信共有4种工作方式,它们 分别是方式0、方式1、方式2和方式3,由串行控制寄存器SCON中的SM0 SM1决定,如表9-1所示。1. 工作方式0在方式0下,串行口作为同步移位寄存器使用 。

展开阅读全文
相关资源
相关搜索

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

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