第6章--串行接口及串行通信技术ppt课件(全).ppt
《第6章--串行接口及串行通信技术ppt课件(全).ppt》由会员分享,可在线阅读,更多相关《第6章--串行接口及串行通信技术ppt课件(全).ppt(35页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第6章章 串行接口及串行通信技术串行接口及串行通信技术张定祥制作张定祥制作6.1 串行通信基础知识串行通信基础知识6.2 AT89C51单片机的串行接口单片机的串行接口6.3 AT89C51单片机串行通信举例单片机串行通信举例6.4 串行通信总线标准及串行通信总线标准及RS-232C接口接口实训七:单片机间的双机通信实训七:单片机间的双机通信小结小结习题与思考题习题与思考题6.1 串行通信基础知识串行通信基础知识6.1.1 串行通信的基本概念串行通信的基本概念在实际工作中,计算机的CPU与外部设备(如打印机、显示器等)之间常常要进行信息交换,一台计算机与其他计算机之间也往往要交换信息,所有这
2、些信息交换均可称为通信。(1)并行通信:将数据的各位用多条数据线同时进行传送。优点:传输速度快、速率高。缺点:数据有多少位,就需要多少根传送线,长距离传输成本高,可靠性差,只适用于近距离传输。(2)串行通信:将数据分成1位1位的形式在一条传输线上逐个地传送。优点:只需一对传输线,特别适用于远距离通信。6.1.2 串行通信的制式串行通信的制式根据同一时刻数据流的方向分为三种基本的数据传送方式:单工半双工、全双工。单工方式:指甲乙双方通信时只能单向传送数据,发送方和接收方固定。半双工方式:指通信双方都具有发送器和接收器,既可发送也可接收,但不能同时接收和发送。全双工方式:指通信双方都具有发送器和接
3、收器,既可发送也可接收,而且能同时发送和接收。6.1.3 串行通信的分类串行通信的分类串行通信的数据是逐位传送的,发送方发送的每一位都具有固定的时间间隔,接收方也要按照发送方同样的时间间隔来接收每一位。按数据格式的不同,串行通信可分为同步串行通信和异步串行通信两种类型。(1)同步串行通信同步串行通信的信息帧均由同步字符、数据字符和校验字符(CRC)组成。其中,同步字符位于帧开头,有1个或2个,用于确认数据字符的开始。数据字符在同步字符之后,没有个数的限制,由所需传输的数据块长度来决定。校验字符有1到2个,用于接收端对接收到的字符序列进行正确性校验。优点:传输速度较快。缺点:要求发送时钟和接收时
4、钟保持严格的同步,对硬件要求较高。适用于成批数据传送。(2)异步串行通信异步串行通信是指通信中两个字符之间的时间间隔是不固定的,而在一个字符内各位的时间间隔是固定的。有两个比较重要的指标:字符帧格式和波特率。字符帧的帧格式字符帧由四部分组成:起始位、数据位、奇偶校验位和停止位。起始位:位于字符帧的开头,只占一位,始终为逻辑低电平。数据位:紧跟起始位后,可取5、6、7、8位,低位在前,高位在后。奇偶校验位:占一位,用于对字符传送作正确性检查,有三种可能,即奇校验、偶校验和无校验,由用户根据需要选定。停止位:位于字符帧的末尾,为逻辑“1”高电平,可取1、1.5、2位。波特率每秒钟传送二进制代码的位
5、数称之为波特率。每秒传送一个格式位就是1波特,即:1波特=1b/s(位/秒)。时钟频率高,则波特率也高,通信速度就快;反之,时钟频率低,则波特率也低,通信速度就慢。6.2 AT89C51单片机的串行接口单片机的串行接口6.2.1 串行接口的结构与控制串行接口的结构与控制AT89C51内部有一个可编程的全双工串行通信接口。它由一些特殊功能寄存器组成,即串行数据缓冲器(SBUF)、串行控制寄存器(SCON)和电源控制寄存器(PCON)等。串行接口结构如图6-4所示。图6-4串行口内部结构示意简图读SBUF:MOVA,SBUF;读入TI写SBUF:MOVSBUF,A;写入(1)串行数据缓冲器(SBU
6、F)SBUF是串行数据缓冲寄存器,包括发送寄存器和接收寄存器,以便能以全双工方式进行通信。串行口的发送和接收都是以特殊功能寄存器SBUF的名义进行读或写的。当向SBUF发“写”命令时(执行“MOVSBUF,A”指令),即是向发送缓冲器SBUF装载并开始由TXD引脚向外发送一帧数据,发送完便使发送中断标志位TI=1。在满足串行口接收中断标志位RI(SCON.0)=0的条件下,置允许接收位REN(SCON.4)=1就会接收一帧数据进入输入移位寄存器,并装载到接收SBUF中,同时使RI=1。当发“读”SBUF命令时(执行“MOVA,SBUF”命令),便由接收缓冲器(SBUF)取出信息通过89C51内
7、部总线送CPU。(2)串行控制寄存器(SCON)串行控制寄存器是用来定义串行口的工作方式及实施接收和发送控制的。它的字节地址为98H,位地址为98H9FH。其各位定义如表6-2所示。表6-2SCON内容及位地址位地址9FH9EH9DH9CH9BH9AH99H98H位符号SM0SM1SM2RENTB8RB8TIRISM0、SM1:串行口工作方式选择位SM2:多机通信控制位。REN:接收允许控制位。REN1时允许接收,REN0时禁止接收。REN由软件置位或清零。TB8:要发送数据的第9位。在方式2或方式3中,要发送的第9位数据,根据需要由软件置1或清0。RB8:接收到的数据的第9位。在方式0中不使
8、用RB8。在方式1中,若(SM2)=0,RB8为接收到的停止位。在方式2或方式3中,RB8为接收到的第9位数据。TI:发送中断标志。在方式0中,第8位发送结束时,由硬件置位。在其它方式中,发送停止位前,由硬件置位。TI置位既表示一帧信息发送结束,同时也是串行发送中断申请信号。TI必须用软件清0。RI:接收中断标志位。在方式0,当接收完第8位数据后,由硬件置位。在其它方式中,在接收到停止位的中间时刻由硬件置位(例外情况见于SM2的说明)。RI也必须用软件清0。(3)电源控制寄存器(PCON)电源控制寄存器有一位对波特率会产生影响,即波特率倍增控制。电源控制寄存器PCON,其地址为87H,只能进行
9、字节寻址,不能按位寻址。PCON的最高位D7位SMOD,是串行口波特率的增倍控制位。当SMOD1时,波特率加倍。系统复位时,SMOD位为0。6.2.2 串行接口的工作方式串行接口的工作方式MCS-51系列单片机的全双工串行口可编程为4种工作方式,由串行控制器(SCON)中的SM0、SM1决定。(1)方式0在方式0下,串行口作为同步移位寄存器使用。8位串行数据都是从RXD输入或输出,TXD用来输出同步脉冲。输出串行数据从RXD引脚输出,TXD引脚输出移位脉冲。CPU将数据写入发送寄存器时,立即启动发送,将8位数据以fosc/12的固定波特率从RXD输出,低位在前,高位在后。发送完一帧数据后,发送
10、中断标志TI由硬件置位。当串行口以方式0接收数据时,先置位允许接收控制位REN。此时,RXD为串行数据输入端,TXD仍为同步脉冲移位输出端。当(RI)=0和(REN)=1同时满足时,开始接收。当接收到第8位数据时,将数据移入接收寄存器,并由硬件置位RI。(2)方式1当串行口工作于方式1时,发送或接收一帧信息,包括1个起始位0,8个数据位和1个停止位1。方式1的波特率可变,由定时器/计数器T1的计数溢出率来决定,计算公式为波特率=2SMOD(T1溢出率)/32式中,SMOD为PCON的最高位;T1溢出率是指T1的计数器一秒钟内的溢出次数。在实际应用时,通常是先确定波特率,然后根据波特率求T1的定
11、时初始值,因此可以得到公式:发送数据:数据从TXD端口输出,当数据写入发送缓冲器SBUF时,就启动发送器发送。发送完一帧数据后,置中断标志TI=1,申请中断,通知CPU可以发送下一个数据了。接收数据:首先使REN=1(允许接收数据),串行口从RXD接收数据,当采样到1到0跳变时,确认是起始位“0”,就开始接收一帧数据,当接收完一帧数据时,置中断标志RI=1,申请中断,通知CPU从SBUF取走接收到的数据。(3)方式2和方式3串行口工作在方式2、方式3时,为11位异步通信接口。发送或接收的一帧信息由11位组成,包括1位起始位“0”、8位数据位、1位可编程位、1位停止位“1”。方式2与方式3仅波特
12、率不同,方式2的波特率固定而方式3的波特率是可变的。发送数据:发送前,先由软件设置TB8,然后将要发送的数据写入SBUF,即能启动发送器。发送过程是把8位数据装入SBUF,同时还把TB8装到发送移位寄存器的第9位上,然后从TXD(P3.1)端口输出一帧数据。接收数据:先置REN=1,使串行口为允许接收状态,同时还要将RI清“0”。然后再根据SM2的状态和所接收到的RB8的状态决定此串行口在信息到来后是否置RI=1,并申请中断,通知CPU接收数据。当SM2=0时,置RI=1,此串行口将接收发送来的信息。当SM2=1时,且RB8=1,表示在多机通信情况下,接收的信息为“地址帧”,此时置RI=1,串
13、行口将接收发来的地址。当SM2=1时,且RB8=0,表示在多机通信情况下,接收的信息为“数据帧”,但不是发给本从机的,此时RI不置为“1”,因而SBUF中接收的数据帧将丢失。6.2.3 串行接口的波特率设计串行接口的波特率设计各种工作方式下其波特率的设置均有所不同,其中方式0和方式2的波特率是固定的,方式和方式3的波特率是可变的,由定时器T1的溢出率确定。(1)方式0的波特率方式0时,其波特率固定为振荡频率的1/12,并不受PCON中SMOD位的影响。因而,方式0的波特率=fosc/12。(2)方式的波特率方式的波特率由系统的振荡频率fosc和PCON的最高位SMOD确定,即为。在SMOD=0
14、时,波特率=fosc/64;在SMOD=时,波特率=fosc/32。(3)方式1、3的波特率AT89C51串行口方式1、3的波特率由定时器T1的溢出率和SMOD的值共同确定。6.3 AT89C51单片机串行通信举例单片机串行通信举例双机通信用于单片机与单片机之间交换信息,也常用于单片机与微机间的信息交换。要建立通信,一般要求完成硬件连接与软件设置。(1)硬件连接如果两台单片机应用系统在进行通信时若距离较近,接口只需三根导线,将它们的串行口直接相连,即可实现双机通信。这种方法只适用于近距离通信,通信距离一般不超过15米。如果要加大通信距离,可以在两个单片机之间加入光电耦合器、电平转换电路及标准异
15、步串行接口电路进行连接,如使用RS-232、RS-422、RS485、RS-423A及电流环等串行接口电路。(2)程序实现双机通信的程序实现,主要包括串行接口设置、串行接口接收程序、串行接口发送程序等。串行接口设置。包括对串行接口控制寄存器SCON的设置,其中有工作方式、是否允许接收、清除发送和接收中断标志等;串行接口中断的设置,是否允许串行接口中断(ES)与总中断(EA);波特率设置;PCON的SMOD位的设置等。串行接口接收程序。当接收到一帧数据时,RI标志位置1,这时用读SBUF的指令将接收到的数据读出,再清除RI标志位。判断RI标志位是否为1有两种方法,一种是查询方法,另一种是中断方式
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 串行 接口 通信 技术 ppt 课件
限制150内