第9章 串行通信技术.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《第9章 串行通信技术.ppt》由会员分享,可在线阅读,更多相关《第9章 串行通信技术.ppt(47页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、单片机原理及应用单片机原理及应用(第九章(第九章 串行通信技术)串行通信技术)教学内容教学内容u串行通信概述串行通信概述u串行通信接口的结构串行通信接口的结构u串行通信接口的控制串行通信接口的控制u串行通信接口的编程串行通信接口的编程DATE:2022/12/31PAGE:2一、串行通信概述一、串行通信概述4计算机与外界的信息传输常被称为通信,基本通信方式有并行通信和串行通信两种。4并行通信方式指数据的各个二进制位在不同的数据线上同时传输。并行通信传输速度快,效率高,但所需的数据线多,成本高,抗干扰能力较差,适用于近距离传输。4串行通信方式指将数据拆分成多个二进制位,逐一的在同一条数据线上输出
2、。串行通信虽然传输速度较慢,效率较低,但所需的数据线少、硬件电路简单、抗干扰能力强,且适用于远距离数据传输。DATE:2022/12/31PAGE:3一、串行通信概述一、串行通信概述串行通信有同步通信和异步通信两种基本的通信方式。(1)同步通信 同步通信是一种连续的串行传输数据的通信方式,待发送的若干个字符数据构成一个数据块,在该数据块前部添加12个同步字符,在数据块的末尾添加校验信息,以此种方式构成数据帧,以数据帧为单位进行串行通信。通信时,发送方首先发送同步字符,之后紧跟数据块,最后是校验字符。接收方在检测到同步字符后,开始逐个接收数据,直到把所有数据接收完毕,最后进行校验。DATE:20
3、22/12/31PAGE:4一、串行通信概述一、串行通信概述(2)异步通信 每个字符数据被封装成帧,以帧的形式发送。每一帧由四部分构成,分别是起始位、数据位、校验位和停止位。起始位是数据开始传送的标志,用逻辑0表示;数据位紧跟起始位,通常是58位二进制位;校验位用于校验数据位是否发送正确,可以选择奇校验、偶校验或者不使用校验位。帧和帧之间可以连续,或者加入任意的空闲位,空闲位用逻辑1表示。DATE:2022/12/31PAGE:5一、串行通信概述一、串行通信概述串行通信的方向 按照数据传送方向,串行通信可以分为三个种类,分别是单工、半双工和全双工。单工:通信双方一方固定为发送方,另一方固定为接
4、收方,数据只能是单行传输;半双工:通信双方只使用一根数据线,每一方都有发送器和接收器,可以在两个方向上传送,但通信双方不能同时接收或发送数据,只能交替进行;全双工:通信双方使用两根数据线,分别用于不同方向的数据传输,通信双方能够同时收发数据。DATE:2022/12/31PAGE:6一、串行通信概述一、串行通信概述波特率波特率是数据传输速率,指每秒钟传送二进制位的个数,单位为bit/s。波特率是串行通信的重要指标,波特率越高,串口数据传输速度越快。假如设定波特率为9600bit/s,而数据帧由1位起始位、8位数据位、1位停止位构成,则串口每秒钟最多传送9600/(1+8+1)=960个字节。D
5、ATE:2022/12/31PAGE:7二、存储器扩展二、存储器扩展4RS-232C串口4计算机广泛使用DB9接口连接,DB9串口及其引脚定义如下:4双机近距离串口通信时,可以采用简单 的三线式连接,连线方式如右图所示。DATE:2022/12/31PAGE:8一、串行通信概述一、串行通信概述4单片机与PC机串口连接:由于RS-232C和单片机的电气标准不统一,当单片机通过串口方式与PC机通信时通常采用MAX3232等专用芯片实现两种电平的转换,连接方式如下:DATE:2022/12/31PAGE:9二、串行通信接口的结构二、串行通信接口的结构8051单片机串行通信接口的结构单片机串行通信接口
6、的结构 8051单单片片机机的的串串行行口口主主要要由由数数据据发发送送缓缓冲冲器器SBUF、发发送送控控制制器器、输输出出控控制制门门、数数据据接接收收缓缓冲冲器器SBUF、接接收收控控制器、输入移位寄存器、串行口控制寄存器制器、输入移位寄存器、串行口控制寄存器SCON构成。构成。DATE:2022/12/31PAGE:10二、串行通信接口的结构二、串行通信接口的结构串行通信接口的结构串行通信接口的结构发送缓冲器SBUF和接收缓冲器SBUF共用同一个地址0 x99,发送SBUF只能写入而不能读出,接收SBUF只能读出不能写入。CPU将数据写入SBUF中便启动发送,数据送引脚TXD被外设接收。
7、数据从引脚RXD上接入到数据移位寄存器中,一帧接收完毕后再被自动送入SBUF中,CPU读取SBUF,便完成一次串口接收。DATE:2022/12/31PAGE:11三、串行通信接口的控制三、串行通信接口的控制串行控制寄存器SCON SCON用于设定串口通信的工作方式、接收/发送控制以及串口工作状态指示。SCON的字节地址为0 x98,可以进行位寻址,格式如下:SCON各位的意义如下:4SM0、SM1:串行通信工作方式选择位。SM0和SM1共4种组合,对应4中工作方式,如下表所示,其中fosc为晶振频率。DATE:2022/12/31PAGE:12三、串行通信接口的控制三、串行通信接口的控制4S
8、M2:多机通信控制位,主要用于工作方式2和工作方式3。当串行口在多机通信模式下接收数据时:当SM2=0时,将接收到的8位数据送入到SBUF中,并产生中断请求。若设置SM2=1,且RB8为0时,不接收主机发来的数据。如果不是多机通信,一般将SM2设为0。DATE:2022/12/31PAGE:13三、串行通信接口的控制三、串行通信接口的控制4REN:串行口接收允许控制位。REN=1时,允许串行口接收数据;REN=0时,禁止串行口接收数据。4TB8:在方式2和方式3下,该位为发送数据的第9位,根据需要由软件置1或清0,该位可用作奇偶校验位,还可以作为区别地址帧或数据帧的标志位,一般约定地址帧时该位
9、为1,数据帧时该位为0。在方式0和方式1下,该位不使用。4RB8:在方式2和方式3下,该位为接收数据的第9位,可以作为奇偶校验位,或者用于区分接收的是数据帧还是地址帧。4TI:串行口发送中断标志位。在方式0下,发送完8位数据后由硬件置1,并申请中断;在其他方式下,在停止位开始发送之前由硬件置1,并申请中断。TI必须用软件清0。4RI:串行口接收中断标志位。在方式0下,接收完8位数据后由硬件置1;在其他方式下,在接收到停止位时由硬件置1。RI必须用软件清0。DATE:2022/12/31PAGE:14三、串行通信接口的控制三、串行通信接口的控制电源管理寄存器PCON4PCON用来管理单片机的电源
10、部分,包括上电复位检测、掉电模式、空闲模式等,PCON不可以位寻址,单片机复位时PCON全部被清0。PCON中与串口通信有关的是最高位D7,用于设置串行口波特率是否加倍,如下图所示。当SMOD=1时,方式1、2、3的波特率加倍;当SMOD=0时,方式1、2、3的波特率不变。DATE:2022/12/31PAGE:15三、串行通信接口的控制三、串行通信接口的控制串行口工作方式1.串行口工作方式0 方式0下,为8位同步移位寄存器方式。波特率固定为fosc/12,以8位数据为一帧,不设起始位和停止位。方式0发送 CPU将待发送的数据写入到SBUF后,单片机自动将数据从RXD引脚输出,同步信号通过TX
11、D引脚输出。发送数据完毕后,TI位被硬件自动置1。启动下一次发送前,TI位必须通过软件清0。方式0接收 在REN=1和RI=0的前提下允许串行口输入。串行数据通过RXD引脚一位一位接收,并被移入到SBUF中,同步信号通过TXD引脚输出。当8位数据接收完毕后,RI被硬件自动置1,CPU读取SBUF后必须通过软件将RI清0才可以进行下次接收。DATE:2022/12/31PAGE:16三、串行通信接口的控制三、串行通信接口的控制串行口工作方式14串行口工作方式1为8位异步通信方式,数据帧格式为1位起始位、8位数据位、1位停止位,共10位。波特率由定时器T1溢出率决定。方式1发送 CPU将待发送的数
12、据写入SBUF后,单片机自动将数据位从TXD引脚输出。当数据发送完毕后,硬件自动使TI置1。启动下一次发送前,TI位必须软件清0。方式1接收 REN=1时允许串口输入。数据位从RXD引脚输入,并被移入到SBUF中,当一帧数据接收完毕后,硬件自动使RI置1,CPU读取SBUF后必须将RI软件清0才可以进行下次接收。DATE:2022/12/31PAGE:17三、串行通信接口的控制三、串行通信接口的控制串行口工作方式2 串行口工作方式2为9位异步通信方式,数据帧格式为1位起始位、8位数据位、1位控制/校验位、1位停止位,共11位。波特率为fosc/32或fosc/64。方式2发送 将要发送的数据写
13、入到SBUF,并通过SCON中的TB8设置数据的奇偶校验。数据位从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:2022/12/31PAGE:18三、串行通信接口的控制三、串行通信接口的控制串行口工作方式3 串行口工作方式3的波特率可变,取决于定时器T1的溢出率,除此之外与方式2相同。方式1和方式3下
14、波特率的设定 方式1和方式3下,波特率是可变的,由定时器T1的溢出率控制。定时器T1用作波特率发生器时,通常选择工作方式2,即8位初值自动重装载方式。常用的波特率与定时器T1的初值关系见下表:DATE:2022/12/31PAGE:19四、串行通信接口的编程四、串行通信接口的编程串行通信接口的编程 在使用串口收发数据之前,需要对串口相关的特殊功能寄存器进行初始化设置,其内容包括以下两个方面:1、初始化:(1)串口工作模式SCON设置 需要设置SM0和SM1选择串行口工作方式,多机通信时还需要设置SM2。此外,如果需要串口接收数据,则必须设置REN为1。(2)设置波特率 对于方式0,不需要设置波
15、特率。对于方式2,可以通过设置PCON中的SMOD位选择波特率为fosc/32或fosc/64。对于方式1和方式3,波特率设置通过定时器T1的工作方式2实现。设置波特率时,需要设置TMOD寄存器,使定时器T1工作于方式2,并需要根据波特率的值查表设置定时器T1的初值寄存器TH1和TL1。另外还需要设置PCON中的SMOD位,以决定波特率是否加倍。(3)如需中断,开总中断和串行中断DATE:2022/12/31PAGE:20四、串行通信接口的编程四、串行通信接口的编程2、奇偶校验:4对于方式2和方式3,需要有奇偶校验。4偶校验:发送/接收的8个数据位的1的个数为偶数时,TB8=0/RB8=0;为
16、奇数时,TB8=1/RB8=1;4奇校验:发送/接收的8个数据位的1的个数为奇数时,TB8=0/RB8=0;为偶数时,TB8=1/RB8=1;4用软件产生奇偶校验位是根据51系列单片机的状态寄存器PSW的定义:当累加器ACC中为1的个数为奇数时,P=1,否则P=0,因此在校验之前需要先将数据送入累加器ACC计算1的个数,以决定P值,然后将P值装入TB8位,与数据一起发送出去供接收方校验。默认是偶校验,如果需要改成奇校验,则在发送方需要将P值取反后再装入TB8,在接收方校验时需将RB8中的值取反再与P值进行比较。DATE:2022/12/31PAGE:21四、串行通信接口的编程四、串行通信接口的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第9章 串行通信技术 串行 通信 技术
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内