7串行通信.ppt_第1页
7串行通信.ppt_第2页
7串行通信.ppt_第3页
7串行通信.ppt_第4页
7串行通信.ppt_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、主 讲:武 桐,单片机原理及应用, 89C51串行口及串行通信技术,串行数据通信概述 串行口的结构及控制 串行通信工作方式 应用举例,7 串行通信, 串行数据通信概述,7 串行通信,1、数据通信,在实际工作中,单片机的CPU与外部设备之间常常要进行信息交换,一台计算机与其他计算机之间也往往要交换信息,所有这些信息交换均可称为通信。 通信方式有两种,即并行通信和串行通信。,特点:各位同时进行传送 优点:是传送速度快 缺点:需多根传送线,(a)并行通信,(b)串行通信,特点:一位一位按顺序传送 优点:降低传送硬件成本 缺点:传送速度低,0,1,0,0,1,0,0,0,51单片机处理8位数据,若以并

2、行通信方式一次传送一个字节的数据,至少需要8条数据线。 串行通信只用一位数据线传送位数据信号,因此,适合远距离数据传送。,前几章涉及的数据传送都是采用并行方式,如单片机与存储器,存储器与存储器,单片机与并行打印机之间的通信等。 51单片机处理8位数据,若以并行通信方式一次传送一个字节的数据,至少需要8条数据线,当传输设备与主机系统的距离有限时,使用多条电缆线以提高数据传送速度还是合算的。而串行通信只用一位数据线传送位数据信号,因此,适合远距离数据传送,如大型主机与其远程终端之间、处于两地的计算机之间采用串行通信就非常经济。,按照传送的方向和同时性通常有三种: 单向(或单工)配置,只允许数据向一

3、个方向传送;, 串行数据通信概述,7 串行通信,2、串行通信的传输方式,半双向(或半双工)配置,允许数据向两个方向中的任一方向传送,但每次只能有一个站点发送;,7 串行通信,接收和发送不能同时进行,只能分时发送和接收,全双向(全双工)配置,允许同时双向传送数据,因此,全双工配置是一对单向配置,它要求两端的通信设备都具有完整和独立的发送和接受能力。,7 串行通信,数据的发送和接收可以同时进行,根据收发双方通信时钟的形成方法不同,串行通信有两种基本通信方式,即异步通信和同步通信 : 异步通信,7 串行通信,3、异步通信与同步通信,在异步通信中,数据是一帧一帧传送的,每一帧的数据格式如图所示:,在异

4、步通信中数据或字符是以帧形式传送的。最常见的帧格式一般是先用一位起始位“0”表示字符的开始;然后是58位数据位,低位在前,高位在后;其后是奇偶校验位(三种选择:奇、偶、无),此位用于判别字符传送的正确性;最后是停止位,用以表示字符的结束,停止位为高电平。,异步串行通信数据格式,从起始位开始到停止位结束就构成了完整的一帧,空闲位为1,线路处于等待状态,存在空闲位是异步通信的特征之一。,在字符间允许有长短不一的间隙,称为空闲位。,7 串行通信,异步通信,特点: 各个字节可以是断续的,也可以是连续的,这完全由发送 方根据需要来控制; 收、发双方各自使用自己的时钟源来控制发送的速率和接 收的速率。,同

5、步通信,7 串行通信,3、异步通信与同步通信,同步通信中,在数据开始传送前用同步字符来指示(常约定1个-2个),并由时钟来实现发送端和接收端同步,即检测到规定的同步字符后,下面就连续按顺序传送数据,直到通信告一段落,常用于对数据块进行传输。,同步传送时,字符与字符之间没有间隙,也不用起始位和停止位,仅在数据块开始时用同步字符SYNC来指示,其数据格式如图所示。,同步通信,7 串行通信,同步通信数据格式,同步通信数据块传送时去掉了字符开始和结束的标志,所以其速度高于异步传送,但这种方式对硬件结构要求较高。,波特率,即数据传送速率,表示每秒钟传送二进制代码的位数,它的单位是Bps。 波特率对于CP

6、U与外界的通信是很重要的。 假设数据传送速率是120字符/s,而每个字符格式包含10个代码位(1个起始位、1个终止位、8个数据位)。这时,传送的波特率为:, 串行数据通信概述,7 串行通信,4、波特率(Baud rate),10b字符120字符s1200bs,每一位代码的传送时间Td为波特率的倒数。 Td1b(1200bs-1)0.833ms 异步通信的传送速率在50b/s-19200b/s之间,常用标准波特率有600、1200、2400、4800、9600、19200等,应根据数据量的大小、线路质量好坏等因素综合考虑,选择合适的波特率。, 串行数据通信概述,7 串行通信,4、波特率(Baud

7、 rate), 串行口结构及控制,1、串行口结构简介,发送SBUF,接收SBUF,移位寄存器,串行口 控制逻辑,波 特 率 发 生 器,串行口 中断,TXCLK,RXCLK,TI,RI,SM0,SM1,SM2,REN,TB8,RB8,TI,RI,EA,ES,SCON,IE,TXD,RXD,内 部 总 线,7 串行通信,波特率发生器,1、串行口结构简介,主要由定时器/计数器 T0、T1及内部的一些控 制开关和分频器组成。 提供串行口的时钟信号 TXCLOCK(发送时钟)和 RXCLOCK(接收时钟)。,串行口内部,1、串行口结构简介,(1) 串行数据缓冲寄存器SBUF,有接收缓冲器SBUF和发送

8、缓冲器SBUF,以便89C51能以全双工方式进行通信。串行口内部在接收缓冲器之前还有移位寄存器,从而构成了串行接收的双缓冲结构,可以避免在数据接收过程中出现帧重叠错误。,发送SBUF,接收SBUF,移位寄存器,串行口 控制逻辑,TI,RI,它们在物理上是隔离的,但是占用同一个地址99H。可同时发送、接收数据。发送缓冲器只能写入,不能读出;接收缓冲器是双缓冲的,只能读出,不能写入。, 串行口结构及控制,7 串行通信,串行口的发送和接收都是以SBUF的名义进行读/写的。 当向SBUF发“写”命令时,即是向发送缓冲器SBUF装载并开始由TXD引脚向外发送一帧数据,发送完毕后TI=1;,在满足RI=0

9、,置允许接收位REN=1时,就会接收一帧数据进入移位寄存器,并装载到SBUF中,同时RI=1;当发“读”命令时,便由SBUF取出数据通过89C51内部总线送CPU。,判断使用的是发送缓冲器还是接收缓冲器? MOV A, SBUF ; MOV SBUF, A ;,接收缓冲器,发送缓冲器,7 串行通信,发送缓冲器只能写入,不能读出; 接收缓冲器只能读出,不能写入。,7 串行通信,串行口内部,1、串行口结构简介,(2) 串行口控制寄存器SCON,(3) 串行数据输入/输出引脚,89C51通过引脚RXD(P3.0,串行数据接收端)和引脚TXD(P3.1,串行数据发送端)与外界进行通信。,(4) 串行口

10、控制逻辑, 串行口结构及控制,2、串行口控制字及控制寄存器,89C51串行口是可编程接口,对它初始化编程只用两个控制字分别写入特殊功能寄存器SCON(98H)和电源控制寄存器PCON(87H)中即可。,SCON(98H),89C51串行通信的方式选择、接收和发送控制以及串行口的状态标志等均由特殊功能寄存器SCON控制和指示,其控制字格式如图7-8所示。,SM0和SM1(SCON.7,SCON.6)串行口工作方式选择位 两个选择位对应4种通信方式,如表7-1所示。其中,fosc是振荡频率。,7 串行通信,7 串行通信,根据实际需要,89C51串行口可设置4种工作方式,可有8位、10位或11位帧格

11、式。,方式0以8位数据为一帧,不设起始位和停止位,先发送或接 收最低位。其帧格式如下:,方式1以10位为一帧传输,设有1个起始位(0),8个数据位和1个停止位(1)。其帧格式为:, 串行通信工作方式,7 串行通信,方式2和方式3以11位为1帧传输,设有1个起始位(0),8个 数据位,1个附加第9位和1个停止位(1)。其帧格式为:,附加第9位(D8)由软件置1或清0。发送时在TB8中,接收时送RB8中。, TB8(SCON.3)发送数据的第9位(D8)装入TB8中, 串行口结构及控制,7 串行通信,在方式2或方式3中,根据发送数据的需要由软件置位或复位。在许多通信协议中可用作奇偶校验位,也可在多

12、机通信中作为发送地址帧或数据帧的标志位。,TB81,说明该帧数据为地址字节; TB80,说明该帧数据为数据字节。, RB8(SCON.2)接收数据的第9位, 串行口结构及控制,7 串行通信,在方式2或方式3中,接收到的第9位数据放在RB8位。它或是约定的奇/偶校验位,或是约定的地址/数据标识位。,在方式1中,RB8中存放的是接收到的停止位。 在方式0中,该位未用。, TI(SCON.1)发送中断标志位, 串行口结构及控制,7 串行通信,在一帧数据发送完时由硬件置位,可用软件查询。,方式0,发送完8位数据后,硬件置“1”; 其它方式,在发送停止位开始时由硬件置位。,TI1,可申请中断,也可供软件

13、查询用 但任何方式都必须由软件清除 CLRTI, 串行口结构及控制,7 串行通信, RI(SCON.0)接收中断标志位,在接收到一帧有效数据后由硬件置位。,RI1,申请中断,表示一帧数据接收结束,并已装入接收SBUF中,要求CPU取走数据。CPU响应中断,取走数据。RI也必须由软件清0,清除中断申请,并准备接收下一帧数据。, REN(SCON.4)允许接收控制位, 串行口结构及控制,7 串行通信,REN=1 允许接收,相当于串行接收的开关; REN=0 禁止接收,由软件置1或清0, SM2(SCON.5)多机通信控制位,主要用于方式2和3, 串行口结构及控制,7 串行通信,若SM2=1,且接收

14、到第9位RB8=“0”,说明是数据帧,则 RI置“0”,不接收发来的数据,丢弃数据;,若SM2=1,且接收到第9位RB8=“1”,说明是地址帧,则 RI置“1”,产生中断请求,将接收到的8位数据送入SBUF;,允许多机通信, SM2(SCON.5)多机通信控制位,主要用于方式2和3, 串行口结构及控制,7 串行通信,若SM2=0,不论RB8为“0”还是为“1”,都将接收到的8位数 据送入SBUF中,置RI=1并产生中断请求。,根据SM2这个功能,可实现多个89C51应用系统的串行通信。 在方式1时,若SM2=1,则只有接收到有效停止位时,RI才置“1”,以便接收下一帧数据。在方式0时,SM2必

15、须是0。,该寄存器的字节地址为98H,可位寻址,格式如下:, 串行口结构及控制,7 串行通信,SCON(98H), 串行口结构及控制,7 串行通信,2、串行口控制字及控制寄存器,PCON(87H),电源控制寄存器PCON,其字节地址为87H,没有位寻址功能,其中只有SMOD位与串行口工作有关,如图7-9所示。,在串行口方式1、方式2和方式3时,波特率和SMOD成正比, 亦即SMOD1时,波特率提高一倍。 复位时,SMOD0。, 串行口结构及控制,7 串行通信,PCON(87H),SMOD(PCON.7)波特率倍增位, 串行口结构及控制,7 串行通信,SMOD(PCON.7)波特率倍增位, 串行

16、通信工作方式,7 串行通信, 串行通信工作方式,7 串行通信,串行口方式0,方式0为同步移位寄存器输入/输出方式,常用于扩展I/O口。 此方式下,串行口作同步移位寄存器用,以8位数据为一 帧,先发送或接收最低位,每个机器周期发送或接收一位, 故其波特率是固定的。, 串行通信工作方式,7 串行通信,串行口方式0,串行数据通过RXD(P3.0)以(fosc/12)输入或输出,同步移位 脉冲由TXD输出,作为外接部件的同步信号。 当满足REN=1(允许接收)且接收中断标志RI位清除时, 启动一次接收过程。,方式0 波特率 fosc / 12,半双工,图7-11 方式0接收电路及时序,REN=1,启动

17、接收 SETB REN CLR RI 接收完毕置RI位,申请中断 读入数据 MOVA, SBUF,7 串行通信,串行口方式0, 串行通信工作方式,7 串行通信,串行口方式1,方式1真正用于串行发送或接收,为10位通用异步接口。 TXD与RXD分别用于发送与接收数据。 收发一帧数据的格式为1位起始位、8位数据位(低位在前)、 1位停止位,共10位。,全双工, 串行通信工作方式,7 串行通信,串行口方式1,在接收时,停止位进入SCON的RB8,此方式的传送波特率 可调。,方式1、3 波特率 (2SMOD/32)(T1溢出率),若定时器T1采用模式1时,波特率公式如下:,方式1 、3波特率 (2SM

18、OD/32)(fosc /12)/(216初值),图7-12 方式1发送时序,用软件清除 TI后, CPU执行任何一条以 SBUF为目标寄存器的指令, 就启动发送过程。数据由 TXD引脚输出, 此时的发送移位脉冲是由定时器 /计数器 T1 送来的溢出信号经过 16 或 32 分频而取得的。一帧信号发送完时, 将置位发送中断标志TI=1, 向CPU申请中断, 完成一次发送过程。,串行口工作在方式2和方式3均为每帧11位异步通信格式,由TXD和RXD发送与接收(两种方式操作是完全一样的,所不同的只是波特率)。 每帧11位,即1位起始位,8位数据位,1位可编程的第9数据位和1位停止位。发送时,第9数

19、据位(TB8)可以设置为1或0,也可将奇偶位装入TB8,从而进行奇偶校验;接收时,第9数据位进入SCON的RB8。 方式2和方式3的发送、接收操作与方式1类似。, 串行通信工作方式,7 串行通信,串行口方式2和方式3,方式2的波特率 串行口方式2波特率的产生与方式1不同,即输入的时钟源不同,其时钟输入部分如图7-15所示。 方式2波特率取决于PCON中SMOD位的值: SMOD=0时,波特率为fosc的1/64; SMOD=1时,波特率为fosc的1/32。,方式2 波特率 (2SMOD/64)fosc,7 串行通信,12,32,16,2,2,fOSC,T1溢出率,SMOD ,SM0 SM1 ,PCON,SCON,00,01,10,11,波特率 时钟,1,0,1,0,波特率小结:,假设某89C51单片机系统, 串行口工作于模式1, 要求传送波特率为1200 Hz, 作为波特率发生器的定时器T1工作在方式 2 时, 请求出计数初值为多少? 设单片机的振荡频率为6 MHz。,所以,因为串行口工作于模式1时的波特率为:,当SMOD=0 时, 初值TH1=256-6106/(1 2001232/1) =243=0F3H 当SMOD=1 时, 初值TH1=256-6106/(12001232/2) =230=0E6H,点对点通信 方式

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论