计算机软件及应用项目五串行通信应用ppt课件

上传人:bin****86 文档编号:54928440 上传时间:2018-09-22 格式:PPT 页数:82 大小:1.32MB
返回 下载 相关 举报
计算机软件及应用项目五串行通信应用ppt课件_第1页
第1页 / 共82页
计算机软件及应用项目五串行通信应用ppt课件_第2页
第2页 / 共82页
计算机软件及应用项目五串行通信应用ppt课件_第3页
第3页 / 共82页
计算机软件及应用项目五串行通信应用ppt课件_第4页
第4页 / 共82页
计算机软件及应用项目五串行通信应用ppt课件_第5页
第5页 / 共82页
点击查看更多>>
资源描述

《计算机软件及应用项目五串行通信应用ppt课件》由会员分享,可在线阅读,更多相关《计算机软件及应用项目五串行通信应用ppt课件(82页珍藏版)》请在金锄头文库上搜索。

1、项目五、串行通信应用,项目五、串行通信应用任务1.双机通信,能力目标 1.能用查询方式进行串口通信 2.能用中断方式进行串口通信 3.能进行双机通信电路综合调试 学习内容 1.串行通信的通信方式 2.双机通信的实现,一、任务要求 系统中有甲、乙两个单片机系统,在每个单片机的P1.0和P1.1口均有两个按键,其中按下P1.0键时数字增加,按下P1.1键时数字减小,甲单片机的TXD引脚和乙单片机的RXD相连同时乙单片机的TXD引脚和甲单片机的RXD相接,甲、乙两个单片机的P2口均接了一个共阴数码管,设两个单片机采用方式1的异步通信方式进行通信,甲单片机上的两个按键可以控制乙单片机上数码管进行“0”

2、到“9”之间的正反计数,同样乙单片机上的两个按键可以控制甲单片机上数码管进行“0”到“9”之间的正反计数,设初始状态两个数码管均显示“0”,通信波特率约定为9600bps。,二、任务分析通过任务要求可以得知,甲乙两个单片机系统均具有接收和发送功能,可通过查询的方式知道甲单片机系统的按钮按下的是“计数增加”还是“计数减少”的按钮。,三、学习知识 (一)串行通信的数据传送 1、了解串行通信,图5-1 两种通信方式的示意图 (a)并行通信;(b)串行通信,2、串行通信的数据传送 (1)串行通信的传输方向,图5-2 单工、半双工和全双工三种制式示意图,(2)串行通信的数据传送速率(波特率) 波特率为每

3、秒钟传送二进制数码的位数,也叫比特数,单位为b/s,即位/秒。波特率越高,数据传输速度越快。但波特率和字符的实际传输速率不同,字符的实际传输速率是每秒内所传字符帧的帧数,和字符帧格式有关。 与波特率相对应的是传送每位二进制数所用的时间(Td),它是波特率的倒数。在进行串行通信中的发送端和接收端进行波特率设置时,必须采用相同的波特率,才能保证串行通信的正确性。,(二)串行通信的分类 1、异步通信(Asynchronous Communication) 在异步通信中,数据通常是以字符为单位组成字符帧传送的。字符帧由发送端一帧一帧地发送,每一帧数据均是低位在前,高位在后,通过传输线被接收端一帧一帧地

4、接收。发送端和接收端可以由各自独立的时钟来控制数据的发送和接收,这两个时钟彼此独立,互不同步。,(1)字符帧 字符帧也叫数据帧,由起始位、数据位、奇偶校验位和停止位等4部分组成,如图5-3所示。图5-3异步通信的字符帧格式 (a)无空闲位字符帧;(b)有空闲位字符帧,1)起始位:位于字符帧开头,只占一位,为逻辑0低电平,用于向接收设备表示发送端开始发送一帧信息。 2)数据位:紧跟起始位之后,用户根据情况可取5位、6位、7位或8位,低位在前高位在后。 3)奇偶校验位:位于数据位之后,仅占一位,用来表征串行通信中采用奇校验还是偶校验,由用户决定。 4)停止位:位于字符帧最后,为逻辑1高电平。通常可

5、取1位、1.5位或2位,用于向接收端表示一帧字符信息已经发送完,也为发送下一帧作准备。,在串行通信中,两相邻字符帧之间可以没有空闲位,也可以有若干空闲位,这由用户来决定。,2、同步通信(Synchronous Communication) 同步通信是一种连续串行传送数据的通信方式,一次通信只传输一帧信息。这里的信息帧和异步通信的字符帧不同,通常有若干个数据字符,如图5-4所示。图5-4(a)为单同步字符帧结构,图5-4(b)为双同步字符帧结构,但它们均由同步字符、数据字符和校验字符CRC三部分组成。在同步通信中,同步字符可以采用统一的标准格式,也可以由用户约定。,图5-4同步通信的字符帧格式

6、(a)单同步字符帧格式;(b)双同步字符帧格式,(三)MCS-51串行口结构 MCS-51内部有两个独立的接收、发送缓冲器SBUF。SBUF属于特殊功能寄存器。发送缓冲器只能写入不能读出,接收缓冲器只能读出不能写入,二者共用一个字节地址(99H)。串行口的结构如图5-5所示。,2、串行口控制寄存器SCON,表5-1 SCON的各位定义,表5-2 串行方式的定义,SM2:多机通信控制位,用于方式2和方式3中。在方式2和方式3处于接收方式时,若SM2=1,且接收到的第9位数据RB8为0时,不激活RI;若SM2=1,且RB8=1时,则置RI=1。在方式2、3处于接收或发送方式时,若SM2=0,不论接

7、收到的第9位RB8为0还是为1,TI、RI都以正常方式被激活。在方式1处于接收时,若SM2=1,则只有收到有效的停止位后,RI置1。在方式0中,SM2应为0。,REN:允许串行接收位。它由软件置位或清零。REN=1时,允许接收;REN=0时,禁止接收。 TB8:发送数据的第9位。在方式2和方式3中,由软件置位或复位,可做奇偶校验位。在多机通信中,可作为区别地址帧或数据帧的标识位,一般约定地址帧时,TB8为1,数据帧时,TB8为0。 RB8:接收数据的第9位。功能同TB8。,TI:发送中断标志位。在方式0中,发送完8位数据后,由硬件置位;在其它方式中,在发送停止位之初由硬件置位。因此,TI是发送

8、完一帧数据的标志,可以用指令JBC TI,rel来查询是否发送结束。TI=1时,也可向CPU申请中断,响应中断后,必须由软件清除TI。 RI:接收中断标志位。在方式0中,接收完8位数据后,由硬件置位;在其它方式中,在接收停止位的中间由硬件置位。同TI一样,也可以通过JBC RI,rel来查询是否接收完一帧数据。RI=1时,也可申请中断,响应中断后,必须由软件清除RI。,3、电源及波特率选择寄存器PCON PCON主要是为CHMOS型单片机的电源控制而设置的专用寄存器,不可以位寻址,字节地址为87H。,表5-3 PCON的各位定义D7 D6 D0,当SMOD为1时使波特率加倍,SMOD为0时波特

9、率不变。PCON的其它位为掉电方式控制位。,(四)MCS-51串行的工作方式,1、方式0 在方式0下,串行口作同步移位寄存器用,其波特率固定为fosc/12。串行数据从RXD(P3.0)端输入或输出,同步移位脉冲由TXD(P3.1)送出。这种方式常用于扩展I/O口。,(1)发送当一个数据写入串行口发送缓冲器SBUF时,串行口将8位数据以fosc/12的波特率从RXD引脚输出(低位在前),发送完置中断标志TI为1,请求中断。在再次发送数据之前,必须由软件清TI为0。具体接线图如图5-6所示。其中,74LS164为串入并出移位寄存器。图5-6 方式0用于扩展I/O口输出,(2)接收在满足REN=1

10、和RI=0的条件下,串行口即开始从RXD端以fosc/12的波特率输入数据(低位在前),当接收完8位数据后,置中断标志RI为1,请求中断。在再次接收数据之前,必须由软件清RI为0。值得注意的是,每当发送或接收完8位数据后,硬件会自动置TI或RI为1,CPU响应TI或RI中断后,必须由用户用软件清0。方式0时,SM2必须为0。,图5-7 方式0用于扩展I/O口输入,2、方式1如果收发双方都是工作在方式1下,此时,串行口为波特率可调的10位通用异步接口UART。发送或接收一帧信息,包括1位起始位0,8位数据位和1位停止位1。其帧格式如图5-8所示。,图5-8 10位的帧格式,(1)发送发送时,数据

11、从TXD端输出,当数据写入发送缓冲器SBUF后,启动发送器发送。当发送完一帧数据后,置中断标志TI为1。方式1所传送的波特率取决于定时器1的溢出率和PCON中的SMOD位。,(2)接收 接收时,由REN置1,允许接收,串行口采样RXD,当采样由1到0跳变时,确认是起始位“0”,开始接收一帧数据。当RI=0,且停止位为1或SM2=0时,停止位进入RB8位,同时置中断标志RI;否则信息将丢失。所以,方式1接收时,应先用软件清除RI或SM2标志。,3、方式2方式2下,串行口为11位UART,传送波特率与SMOD有关。发送或接收一帧数据包括1位起始位0,8位数据位,1位可编程位(用于奇偶校验)和1位停

12、止位1。其帧格式如图5-9所示。,图5-9 11位的帧格式,(1)发送发送时,先根据通信协议由软件设置TB8,然后用指令将要发送的数据写入SBUF,启动发送器。写SBUF的指令,除了将8位数据送入SBUF外,同时还将TB8装入发送移位寄存器的第9位,并通知发送控制器进行一次发送。一帧信息即从TXD发送,在送完一帧信息后,TI被自动置1,在发送下一帧信息之前,TI必须由中断服务程序或查询程序清0。,(2)接收当REN=1时,允许串行口接收数据。数据由RXD端输入,接收11位的信息。当接收器采样到RXD端的负跳变,并判断起始位有效后,开始接收一帧信息。当接收器接收到第9位数据后,若同时满足以下两个

13、条件:RI=0和SM2=0或接收到的第9位数据为1,则接收数据有效,8位数据送入SBUF,第9位送入RB8,并置RI=1。若不满足上述两个条件,则信息丢失。,4、方式3方式3为波特率可变的11位UART通信方式,除了波特率以外,方式3和方式2完全相同。(五)MCS-51串行口的波特率 1、方式0和方式2 在方式0中,波特率为时钟频率的1/12,即fosc/12,固定不变。 在方式2中,波特率取决于PCON中的SMOD值,当SMOD=0时,波特率为fosc/64;,当SMOD=1时,波特率为fosc/32.即波特率 = 。,2、方式1和方式3在方式1和方式3下,波特率由定时器1的溢出率和SMOD

14、共同决定。即:方式1和方式3的波特率=定时器1溢出率。,实际上,当定时器1做波特率发生器使用时,通常是工作在模式2,即自动重装载的8位定时器,此时TL1作计数用,自动重装载的值在TH1内。设计数的预置值(初始值)为X,那么每过256-X个机器周期,定时器溢出一次。为了避免因溢出而产生不必要的中断,此时应禁止T1中断。溢出周期为,溢出率为溢出周期的倒数,所以,波特率=,表5-4 定时器1产生的常用波特,(六)双机通信设计 1、双机通信硬件电路,图5-10 双机异步通信接口电路,为了增加通信距离,减少通道和电源干扰,可以在通信线路上采用光电隔离的方法,利用RS-422A标准进行双机通信,实用的接口

15、电路见书图5-11所示。 2、双机通信软件编程 对于双机异步通信的程序通常采用两种方法:查询方式和中断方式。下面通过程序示例介绍这两种方法。,(1)查询方式 甲机发送 编程将甲机片外1000H101FH单元的数据块从串行口输出。定义方式2发送,TB8为奇偶校验位。发送波特率375kb/s,晶振为12MHz,所以SMOD=1。 参考发送子程序如下:,乙机接收编程使乙机接收甲机发送过来的数据块,并存入片内50H6FH单元。接收过程要求判断RB8,若出错置F0标志为1,正确则置F0标志为0,然后返回。 在进行双机通信时,两机应采用相同的工作方式和波特率。参考接收子程序如下:,(2)中断方式 在很多应

16、用中,双机通信的接收方都采用中断的方式来接收数据,以提高CPU的工作效率;发送方仍然采用查询方式发送。,编程将甲机片内60H6FH单元的数据块从串行口发送,在发送之前将数据块长度发送给乙机,当发送完16个字节后,再发送一个累加校验和。定义双机串行口按方式1工作,晶振为11.059MHz,波特率为2400b/s,定时器1按方式2工作。经计算或查表5-4得到定时器预置值为0F4H,SMOD=0。 参考发送子程序如下:,乙机接收 乙机接收甲机发送的数据,并存入以2000H开始的片外数据存储器中。首先接收数据长度,接着接收数据,当接收完16个字节后,接收累加和校验码,进行校验。数据传送结束后,根据校验结果向甲机发送一个状态字,00H表示正确,0FFH表示出错,出错则甲机重发。 接收采用中断方式。设置两个标志位(7FH,7EH位)来判断接收到的信息是数据块长度、数据还是累加校验和。 参考接收程序如下:,四、任务实施 1、硬件设计,图5-12 双机通信硬件连接图,2、软件设计,图5-13(a)双机通信流程图串行中断流程图,图5-13(b)双机通信流程图串行中断流程图,

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

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

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