串行接口及串行通信技术_第1页
串行接口及串行通信技术_第2页
串行接口及串行通信技术_第3页
已阅读5页,还剩7页未读, 继续免费阅读

下载本文档

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

文档简介

1、精品资料推荐第9章卓行接口及丰行通信技术Q"难点 串行通信的四种工作方式5要求掌握: 串行通信的控制寄存器 串行通信的工作方式0和方式1了解: 串行通信的基础知识 串行通信的工作方式2和方式39.1串行通信的基础知识9.2 MCS-51单片机串行通信的控制寄存器9.3 MCS-51 片机串行通信工作方式9.1串行通信的基础知识串行数据通信要解决两个关键技术问题,一个是数据传送,另一个是数据转换。所谓数 拯传送就是指数据以什么形式进行传送。所谓数据转换就是指单片机在接受数据时,如何把 接收到的串行数据转化为并行数据,单片机在发送数拯时,如何把并行数据转换为串行数据 进行发送。9.1.1

2、数据传送爪片机的串行通信使用的是异步串行通信,所谓异步就是指发送端和接收端使用的不是同一个时钟。 界步串行通信通常以字符(或者字节)为单位组成字符帧传送。字符帧由发送端一帧一帧地传送,接收端 通过传输线一帧一帧地接收。1. 字符帧的帧格式字符帧由四部分组成.分别是起始位.数据位、奇偶校验位、停止位。如图9所示:1)起始位:位于字符帧的开头.只占一位.始终位逻辑低电平.表示发送端开始发送一帧数据。2)数据位:紧垠起始位后.可取5. 6、7、8位.低位在前,高位在后。3)奇偶校验位:占一位用于对字符传送作正确性检查,因此奇偶校验位是可选择的,共有三种可 能.即奇偶校验.偶校验和无校验.由用户根据需

3、要选定。4)停止位:末尾,为逻辑“1”高电平.可取1、1.5. 2位,表示一帧字符传送完毕。数据位 数据位 起贻位起始位 停止位 停止位 奇偶位 数据位一帧数据图9.1 字符帧格式界步串行通信的字符帧可以是连续的,也可以是断续的。连续的界步串行通信是在一个字符恪式的 停止位之后立即发送下一个字符的起始位.开始一个新的字符的传送.即帧与帧之间是连续的C而断续的 界步串行通信.则是在一帧结束之后不一定接着传送下一个字符.不传送时维持数据线的商电平状态使 数据线处于空闲。其后.新的字符传送可在任何时候开始,并不翌求整倍数的位时间。2. 传送的速率串行通信的速率用波特率來表示,所谓波特率就是指一秒钟传

4、送数据位的个数。每秒钟传送一个数据位 就是1波特。即:1波特=lbps (位/秒)在串行通信中.数据位的发送和接收分别由发送时钟脉冲和接收时钟脉冲进行定时控制。时钟频率髙.则 波特率高.通信速度就快:反之.时钟频率低,波特率就低.通信速度就慢。9.1.2数据转换MCS-51单片机只能处理8位的并行数据,所以在进行串行数拯的发送时,要把并行数 据转换为串行数据。而在接收数据时,只有把接收的串行数据转换成并行数据,单片机才能 进行处理。能实现这种转换的设备,称为通用异步接收发送器(Universal Asynchronous Receiver /Transmitter)o这种设备已集成到单片机内部

5、,称为串行接口电路。串行接口电路为用户提 供了两个串行口缓冲寄存器(SBUF), 个称为发送缓存器,它的用途是接收片内总线送来 的数据,即发送缓冲器只能写不能读。发送缓冲器中的数据通过TXD引脚向外传送。另一 个称为接收缓冲器,它的用途是向片内总线发送数据,即接收缓冲器只能读不能写。接收缓 冲器通过RXD引脚接收数据。因为这两个缓冲器一个只能写,一个只能读,所以共用一个 地址99H。串行接口电路如图9.2所示。9- 2 MCS-51单片机串行通信的控制寄存器1.串行口控制寄存器(SCON)SCON是MCS-51单片机的一个可位寻址的专用寄存器,用于串行数据通信的控制。单 元地址为98H,位地址

6、为98H9FH。寄存器的内容及位地址表示如下:位地址9FH9EH9DH9CH9BH9AH99H98H位符号SM(iSMiSM>RENTBXRBsTIR1各位的说明如下:1) SM°、SM!串行口工作方式选择位其状态组合和对应工作方式为:精品资料推荐SMo SM)工作方式00方式001方式110方式211方式32) SM2一允许方式2、3的多机通信控制位在方式2和3中,若SM2= 1且接收到的第九位数据(RBQ为1,才将接收到的前8位 数据送入接收SBUF中,并置位RI产生中断请求:否则丢弃前8位数据。若SM2=0, 则不论第九位数据(RBs)为1还是为0,都将前8位送入接收SB

7、UF中,并产生中断请 求。方式0时,SM2必须置0°3) REN允许接收位REN=O禁止接收数据REN=1允许接收数据4) TBs发送数据位8在方式2、3时,TBs的内容是要发送的第9位数据,英值由用户通过软件来设置。5) RB8一一接收数据位8在方式2、3时,RBs是接收的第9位数据。在方式1时,RBg是接收的停止位在方式0时,不使用RBs6) TI发送中断标志位在方式0时,发送完第8位数据后,该位由硬件這位。在其它方式下,于发送停止位之前,由硬件巻位。因此,TI=1表示帧发送结朿,其状态既可供软件査询使用,也可请求中断。TI由软件淸“0”。7) RI接收中断标志位在方式0时,接收

8、完第8位数据后,该位由硬件垃位。在其它方式下,于接收到停止位之前,该位由硬件宜位。因此,RI=1表示帧接收结束,其状态既可供软件查询使用,也可请求中断。RI由软件淸“0”。2.电源控制寄存眾(PCON)PCON不可位寻址,字节地址为87Ho它主要是为CHMOS型单片机8OC51的电源控制而设置的专用寄存器。其内容如下:D7位0?0605DjD>DD(iSMOD/GF,GF0PDIDL信有关串行通的只有(SMOD),该位为波特率倍增位,当SMOD=1时,串行口波特率增加一倍,当SMOD=0 时,串行口波特率为设左值。当系统复位时,SMOD=0。3.中斷允许控制寄存at <iE)此寄存

9、器在第六章已经介绍过,在此不作赘述。9.3 MCS-51单片机串行通信工作方式串行口的工作方式由SM0和SM1确定,编码和功能如表8-1所示。表81串行口工作方式精品资料推荐SMOSM1功能说明波特率00方式0移位寄存器方式fosc/1201方式18 位 UART吋变I0方式29 位 UARTfosc/M 戒者 fosc/3211方式39 位 UART对变方式0和方式2的波特率是固左的,而方式1和方式3的波特率是可变的,由T1的溢 出率决定。9. 3.1串行工作方式0串行口工作在方式0时,串行口作同步移位寄存器使用。以RXD (P3.o)端作为数据的 输入或输出端,而TXD (Pn)提供移位的

10、时钟脉冲。外接移位寄存器,实现数据并行输入 或输岀。工作在方式0时,波特率为fosc/12,即一个机器周期移位一次。1.数据输出(发送)当数据写入SBUF后,数据从RXD端在移位脉冲(TXD)的控制下,逐位移入74LS164, 74LS164能完成数据的串并转换。当8位数据全部移出后,TI由硬件置位,发生中断请求。 若CPU响应中断,则从OO23H单元开始执行串行口中断服务程序,数据由74LS164并行输 出。其接口逻辑如图9.3所示。由逻辑图可知,通过外接74LS164,串行口能够实现数据的 并行输岀。图9.3外接移位寄存器输出2. 据输入(接收)要实现接收数据,必须首先把SCON中的允许接

11、收位REN设置为1»当REN设置为1 时,数据就在移位脉冲的控制下,从RXD端输入。当接收到8位数据时,置位接收中断标 志位RI,发生中断请求。苴接口逻借如图9.4所示。由逻辑图可知,通过外接74LS165,串 行口能够实现数据的并行输入。图9.4外接移位寄存器输入【例8-1】使用74LS164的并行输岀端接8支发光二极管,利用它的串入并岀功能,把发光 二极管从左到右依次点亮,并反复循环。假左发光二极管为共阴极接法。Do匕5S T30图9.5电路设讣解:电路如图9.5。软件部分如下:ORG0000HUMPMAINORG1000HMAIN:MOVSCON, #00H串行口工作在方式0C

12、LRES禁止串行中断MOVA, #80H发光二极管从左边亮起DELR:CLRP1.0关闭并行输出MOVSBUF, A串行输出WAINT:JNBTL WAIT状态査询SETBP1.0开启并行输出ACALLDELAY调用延时子程序CLRTI清发送中断标志RRA发光右移AJMPDELR继续EDN9. 3. 2串行工作方式1RXDT才D201耳p方式1为10位为一帧的异步串行通信方式。其帧格式为1个起始位、8个数据位和1 个停止位。如图9.6所示。巧D了険图9.6方式1的帧格式1.数据输出(发送)数据写入SBUF后,开始发送,此时由硬件加入起始位和停止位,构成一帧数据,由 TXD串行输出。输出一帧数据

13、后,TXD保持在髙电平状态下,并将TI置位,通知CPU可 以进行下一个字符的发送。2.数据输入(接收)当REN=1且接收到起始位后,在移位脉冲的控制下,把接收到的数据移入接收缓冲 寄存器(SBUF)中,停止位到来后,把停止位送入RBs中,并置位RI,通知CPU接收到 一个字符。3. 波特率的设定工作在方式1时,英波特率是可变的,波特率的il算公式为:2SN0L32x定时器啲溢出率)其中,SMOD为PCON寄存器最髙位的值,其值为1或0。当左时器1作波特率发生器使用时,选用工作方式2 (即自动加载圧时初值方式)。选 择方式2可以避免通过程序反复装入定时初值所引起的左时误差,使波特率更加稳泄。假赵

14、 计数初值为X,则计数溢出周期为:12foscX(256 - X)2 SM0D32溢出率为溢出周期的倒数。则波特率的讣算公式为:12x(256 -X)fosc实际使用中,波特率是已知的。因此需要根据波特率的计算公式求定时初值X。用户只 需要把泄时初值设垃到定时器1,就能得到所要求的波特率。4. 应用举例(用方式4实现双机串行通倍)(1) 通信双方的硬件连接作为应用系统首先要研究通信双方如何连接。一种办法是把两片8051的串行口直接相 连,一片8051的TXD与另一片的RXD相连,RXD与另一片的TXD相连,地与地连通。 由于8051串行口的输出是TTL电平,两片相连所允许的距离极短。(2) 通

15、信双方的软件约定通信双方除了在硬件上进行连接外,在软件还必须作如下约左:作为发送方,必须知道什么时候发送信息,发什么,对方是否收到,收到的内容有没有 错误,要不要重发,怎样通知对方结朿。作为接收一方,必须知道对方是否发送了信息,发的是什么,收到的信息是否有错误, 如果有错误怎样通知对方重发,怎样判断结束等等。这些规泄必须在编程之前确左下来。为实现双机通信,我们规立如下: 假宦A机为发送机,B机为接收机。 当A机发送时,先送一个“AA”信号,B机收到后回答一个“BB”信号,表示 同意接收。 当A机接收到“BB”后,开始发送数据,每发送一次求一次“检査和”,假泄数 据块长16个字节,起始地址为30

16、H, 个数据块发送完后再发岀“检查和”。 B机接收的数据并转存到数据区,起始地址也为30H,同时每接收一次也计算一 次“检查和”,当一个数据块收齐后,再接收A机发来的“检査和”,并将它与B 机的“检査和”进行比较。若两者相等,说明接收正确,B机回答一个00:若两 者不相等,说明接收不正确,B机回答一个FF,请求重发。 A机收到00的答复后,结束发送。若收到的答复非0,则重新将数据发送一次。 双方均以1200波特的速率传送。假设晶振频率为6MHz,讣算左时器1的汁数 初值:6xlQ6xl384x1200= 256 -13 = 243 = 0F2H为使波特率不倍增,设泄PCON寄存器的SMOD=0

17、,贝IJ PCON=OOH(3) 基本的通信程序设计程序框图如图9.7所示。图9.7双机通信程序结构图根据结构图设计出下述通信程序:A机通信程序:ASTART:MOVTMOD, #20H:设定定时器1工作方式2MOVTLb #0F2H:设定计数初值MOVTH1, #0F2H:计数重装值MOVPCON. #00H:波特率不倍増SETBMOVTRISCON, #50H:启动T1:设宜串行口方式1ATT1:MOVSBUF, #0AAH:发送44 AA"AWAIT 1:JBCTL ARR1:等待一帧发送完SJMPAWAIT 1ARR1:JBCRL ARR2:等待应答信号SJMPARR1ARR

18、2:MOVA, SBUFXRLA, #OBBHJNZATT1:判断是否是应答信号"00"ATT2:MOVRO, #30HMOVR7, #10MOVR6, #00HATT3:MOVSBUF, R0MOVA, R6ADDA, ©ROMOVR6, AINCROAWAIT2:JBCTL ATT4SJMPAWAIT2:发送有效数据ATT4:DJNZR7, ATT3:判断是否传送完毕MOVSBUF, R6AWAIT3:JBCTL ARR3SJMPAWAIT3;等待ARR3:JBCRL ARR4SJMPARR3;等待ARR4:MOVA, SBUFJNZATT2AEND:RETB

19、机通信程序:BSTART:MOVTMOD, #20H:设定定时器1匸作方式2MOVTH1, #0F2H:设定计数初值MOVTL1, #0F2H:计数重装值MOVPCON. #00H:波特率不倍増SETBTRIMOVSCON, #50HBRR1:JBCRL BRR2SJMPBRR1;等待BRR2:MOVA, SBUF:把接收到的数据送入AXRLA, #OAAH:判断接收到数据是否是“AA”JNZBRR1:如果不是继续等待BTT11:MOVSBUF, OBBH;发送应答信号BWAIT1:JBCTL BRR3;等待SJMPBWAIT1BRR3:MOVRO, #30H:接收有效数抵MOVR7, #10MOVR6, #00HBRR4:JBCRL BRR5SJMPBRR4BRR5:MOVA, SBUFMOVR0 AINCROADDA, R6DJNZR7, BRR4BWAIT2:JBCRL BRR6SJMPBWAIT2BRR6:MOVA, SBUFXRLA, R6JZBENDM

温馨提示

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

评论

0/150

提交评论