第7章单片机的串行口通信资料

上传人:w****i 文档编号:98193620 上传时间:2019-09-09 格式:PPT 页数:90 大小:1.41MB
返回 下载 相关 举报
第7章单片机的串行口通信资料_第1页
第1页 / 共90页
第7章单片机的串行口通信资料_第2页
第2页 / 共90页
第7章单片机的串行口通信资料_第3页
第3页 / 共90页
第7章单片机的串行口通信资料_第4页
第4页 / 共90页
第7章单片机的串行口通信资料_第5页
第5页 / 共90页
点击查看更多>>
资源描述

《第7章单片机的串行口通信资料》由会员分享,可在线阅读,更多相关《第7章单片机的串行口通信资料(90页珍藏版)》请在金锄头文库上搜索。

1、第7章 80C51单片机的串行口通信,第7章 目录,7.1 串行通信基础知识 7.1.1 并行通信与串行通信 7.1.2 串行通信的通信方式 7.1.3 串行通信的数据传送方向 7.1.4 通信中的误码问题 7.2 80C51系列单片机的串行接口 7.2.1 串行接口的结构 7.2.2 串行接口的控制寄存器 7.2.3 串口通信的波特率设计 7.3 串行口工作模式 7.3.1 模式0 7.3.2 模式1 7.3.3 模式2 7.3.4 模式3,第7章 目录,7.4 串行通信应用举例 7.4.1 串行口模式0的应用 7.4.2 串行口模式1的应用 7.4.3 串行口模式2的应用 7.4.4 串行

2、口模式3的应用 7.5 串行通信实用技术 7.5.1 双机串行通信的硬件连接 7.5.2 80C51单片机的多机通信 7.5.3 双机串行通信软件编程 7.5.4 PC机与单片机的点对点串行通信接口设计 7.5.5 PC机与多个单片机的串行通信接口设计,7.1串行通信基础知识,7.1.1并行通信与串行通信 1、并行通信 并行通信是指将数据字节的各位用多条数据线同时进行传送。每一位数据都需要一条传输线,8位数据总线的通信系统,一次传送8位数据(1个字节),将需要8条数据线。 并行通信的特点:是传送速度快、 需要的数据传输线较多。因此当 距离较远、位数又多时导致了通 信线路复杂且成本高。一般适合

3、于短距离的数据传输。,(a)并行通信,7.1串行通信基础知识,7.1.1并行通信与串行通信 2、串行通信 串行通信是指所传送的数据按顺序一位接一位地进行传送。因为一次只能传送一位,所以对于一个字节的数据,至少要分8位才能传送完毕。 串行通信的特点是需要的数据传输线较少,通信线路简单、成本低,适用于数据的远距离通信。 但传输速度慢。只要一对传输线: 即发送线和接收线就可以实现通信。 缺点是传送速度慢,假设并行传送 n位数据所需的时间为t,那么串行 传送的时间至少为nt,而实际上总 是大于nt。,(b)串行通信,7.1串行通信基础知识,7.1.2串行通信的通信方式 根据通信协议的不同,串行通信可分

4、为同步通信和异步通信两种基本方式。 1、同步通信 同步通信是一种连续串行传输数据的通信方式,传送的数据可以是多个字符组成的数据块,每次传送的一帧数据由同步字符、数据字符和校验字符三部分组成。传输一帧数据的开头采用同步字符使收发双方实现严格同步,期间不允许出现空隙,没有起始位和停止位,提高了传输速度。无数据传送时,发送同步字符。同步通信方式发送的数据量大、速度快,常用于传输速度要求高的场合,但较复杂。,7.1串行通信基础知识,7.1.2串行通信的通信方式 1、同步通信,同步通信方式帧格式如图7-2所示。,图7-2 字符帧的同步串行通信格式,7.1串行通信基础知识,7.1.2串行通信的通信方式 2

5、、异步通信 异步通信不需要同步字符,也不需要发送设备保持数据块的连续性。发送的每一字符,都必须先按照通信双方约定好的格式进行格式化,在其前、后分别加上起始位和停止位,用以指示每一字符的开始和结束。一帧信息传送完毕后,可传送不定长度的空闲位“1”,作为帧与相邻帧之间的间隔,也可以没有空闲位间隔。 80C51单片机一般采用异步通信方式,一个字符帧的异步串行通信格式如图7-3所示。,7.1串行通信基础知识,7.1.2串行通信的通信方式 2、异步通信,图7-3 字符帧的异步串行通信格式,7.1串行通信基础知识,7.1.3串行通信的数据传送方向 数据通信系统一般由数据发送方、数据接收方及数据通路组成的。

6、串行通信的数据是在两个站之间传送的,按照数据的传送方向,串行通信有三种数据通路连接方式。 1、单工方式 在单工方式下,通信线的一端 接发送器,另一端接接收器, 形成单向连接。若A为发送端, B为接收端,数据仅能从A端发 至B端,如广播、无线寻呼等, 如7-4中(a)图所示。,(a)单工方式,7.1串行通信基础知识,7.1.3串行通信的数据传送方向 2、半双工方式 在半双工方式下,系统中的每个通信设备都由一个发送器和一个接收器组成,通过收、发开关接到通信线上。数据既可从A端发送到B端,也可以由B端发送到A端,不过在同一时间只能作一个方向的数据传送,如使用同一载波频率的对讲机,如7-4中(b)图所

7、示。 3、全双工方式 在全双工方式下,在同一时间两端既可同时发送,也可同时接收,如普通电话、手机等,80C51单片机使用全双工方式,如7-4(c)图所示。,(b)半双工方式,(c)全双工方式,7.1串行通信基础知识,7.1.3串行通信的数据传送方向 数据通信系统一般由数据发送方、数据接收方及数据通路组成的。串行通信的数据是在两个站之间传送的,按照数据的传送方向,串行通信有三种数据通路连接方式。 1、单工方式 在单工方式下,通信线的一端 接发送器,另一端接接收器, 形成单向连接。若A为发送端, B为接收端,数据仅能从A端发 至B端,如广播、无线寻呼等, 如7-4中(a)图所示。,(a)单工方式,

8、7.1串行通信基础知识,7.1.4通信中的误码问题 数据在串行传输过程中,由于干扰可能使传输的数据发生错误,这种情况称为出现了“误码”,错误的数据位数与所有传输数据总位数的比率叫做“误码率”,发现传输中的错误叫做“检错”,发现错误后消除错误叫做“纠错”。 为了使系统能够可靠、稳定地通信,在编程时应当设计通信协议,并应考虑数据的纠错,一般在通信时采取数据校验的办法,可有效保证数据传输的可靠性,目前较为流行的方法有奇偶校验、累加和校验、据环冗余码校验几种:,7.1串行通信基础知识,7.1.4通信中的误码问题 1、奇偶校验 最简单的检错方法是“奇偶校验”,在传送字符的各位之外,再传送1位奇/偶校验位

9、。 奇校验:数据中1的个数与校验位1的个数之和应为奇数 偶校验:数据中1的个数与校验位1的个数之和应为偶数 在接收字符时,对1的个数进行校验,若发现不一致,则说明传输数据过程中出现了差错。奇偶校验无法实现自动纠错,发现错误后只能要求重发,但由于其实现简单,仍得到了广泛使用。,7.1串行通信基础知识,7.1.4通信中的误码问题 2、累加和校验 累加和校验是指发送方将发送的数据块求和,并将“校验和”附加到数据块末尾,接收方接收数据时也是先对数据块求和,将所得结果与发送方的“校验和”进行比较,相符则无差错,否则即出现了差错。校验和能够检测到比奇偶校验更多的错误,但当字节顺序颠倒时,校验和不能发现,因

10、为其不能发现次序错误。 3、据环冗余码校验 据环冗余码校验是通过某种数学运算实现有效信息与校验位之间的循环校验,常用于对磁盘信息的传输、存储区的完整性校验等。这种校验方法纠错能力强,广泛应用于同步通信中。,7.2 80C51系列单片机的串行接口,80C51系列单片机有一个全双工的串行口,这个口除可以实现串行异步通信,还可以作为同步移位寄存器使用。 7.2.1串行接口的结构 80C51系列单片机串行口主要由发送数据缓冲器、发送控制器、接收数据缓冲器、接收控制器、输出控制门、输入移位寄存器等组成。 由于串行口对外有两条独立的收、发信号线RXD(P3.0)、TXD(P3.1),因此可以同时发送、接收

11、数据,实现全双工通信。,7.2 80C51系列单片机的串行接口,7.2.1串行接口的结构 串行口结构框图如图7-5所示:,图7-5 串行口结构框图,7.2 80C51系列单片机的串行接口,7.2.2串行接口的控制寄存器 对串行口的访问和设置是通过访问相关的特殊功能寄存器完成的,与串行口相关的特殊功能寄存器共有3个,如表7-1所示。,表7-1 串口控制寄存器,7.2 80C51系列单片机的串行接口,7.2.2串行接口的控制寄存器 1、串行数据缓冲器SBUF 80C51单片机串行数据缓冲器SBUF是两个8位的特殊功能寄存器,其在功能和物理空间上均独立,但两者共用SBUF这个符号,并且字节地址均为9

12、9H。发送缓冲器只能写入不能读出,接收缓冲器只能读出不能写入,两者均只能进行字节寻址。 SBUF具有接收缓冲功能,接收器是双缓冲结构,在第一个字节从寄存器读出之前,可以开始接收第二个字节,但是如果第二个字节接收完毕时,第一个字节仍未读出,其第一个字节将会丢失。发送器为单缓冲器,因为发送时CPU是主动的。,7.2 80C51系列单片机的串行接口,7.2.2串行接口的控制寄存器 1、串行数据缓冲器SBUF (1).串行口的数据发送 单片机启动发送的方法是:在TI=0的条件下,CPU通过执行一条写SBUF指令。如:执行MOV SBUF,A指令向输出缓冲器SBUF。 写入数据,从而启动数据串行发送。在

13、波特率发生器产生的发送时钟控制下,按照预先设置的帧格式由低位到高位逐位由TXD端输出发送数据,发送结束TI1。,7.2 80C51系列单片机的串行接口,7.2.2串行接口的控制寄存器 1、串行数据缓冲器SBUF (2).串行口的数据接收 单片机启动接收的首要条件是REN=1。串行口通过对RXD引脚信号的采样来确认串行数据,若检测到发送数据的起始位(一般为低电平),则其后对RXD引脚每间隔一定时间进行采样,采样到的数据在接收时钟控制下以移位方式存入输入移位寄存器,当数据接收完成或检测到停止位时,CPU将自动把接收到输入移位寄存器的内容送入接收缓冲器SBUF,并置接收完成标志位RI=1,编程人员可

14、通过中断方式或查询方式得知这一消息,随后编写读取指令如:MOV A,SBUF指令将接收到的数据取出。,7.2 80C51系列单片机的串行接口,7.2.2串行接口的控制寄存器 1、串行数据缓冲器SBUF (2).串行口的数据接收,例如:甲机发送数据给乙机。,图7-6 串行通信甲机发送机接收,7.2 80C51系列单片机的串行接口,7.2.2串行接口的控制寄存器 甲机作为发送机,执行MOV SBUF,A指令后CPU向SBUF写入数据,启动发送过程,A中的8位数据并行送入SBUF,在发送控制器的作用下,按照编程人员设定的发送速率(发送波特率),每传来一个时钟脉冲,数据移出一位,从TXD端由低位到高位

15、一位一位地发送到通信线路上,移出的数据经过线路直达乙机。 乙机作为接收机,按照与发送速率相同的接收速率(接收波特率),将数据按照移位脉冲的频率由低位到高位一位一位地移入到SBUF。 很显然,只有双方的传送速度一致,才能完成数据的正确传送,不一致,势必会造成数据位的丢失。同样,如果数据传输率一致,帧格式不一致同样会导致数据传输混乱。,7.2 80C51系列单片机的串行接口,7.2.2串行接口的控制寄存器 2、串行口控制寄存器SCON 串行口控制寄存器SCON的作用是控制串行通信的工作方式、在数据发送和接收的过程中设置中断标志。SCON的字节地址为98H,可进行位寻址,位地址从高位到低位分别为9F

16、H98H,寄存器的位定义如下: D7 D6 D5 D4 D3 D2 D1 D0,7.2 80C51系列单片机的串行接口,7.2.2串行接口的控制寄存器,(1)SM0、SM1:定义串口工作方式选择位。 SM0和SM1定义串行口4种工作方式,如表7-2所示。,表7-2 串行口工作方式(fosc为系统晶振频率),7.2 80C51系列单片机的串行接口,7.2.2串行接口的控制寄存器 (2)SM2:多机通信控制位。 SM2主要用于方式2和方式3。当接收机的SM2=1时,可以利用收到的RB8来控制是否激活RI(RB8=0时不激活RI,收到的信息丢弃;RB8=1时收到的数据进入SBUF,并激活RI,进而在中断服务程序中将数据从SBUF读走)。当SM2=0时,不论收到的RB8是0还是1,均可以使收到的数据进入SBUF,并激活RI(即此时RB8不具有控制RI激活的功能)。通过控制SM2,可以实现多机通信。在方式0时,SM2必须是0。在方式1时,若SM2=1,则只有接收到有效停止位时,RI才置1。 (3)REN,允许接收控制位。 该位由软件置1或清

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

当前位置:首页 > 高等教育 > 大学课件

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