单片机串行通信接口_第1页
单片机串行通信接口_第2页
单片机串行通信接口_第3页
单片机串行通信接口_第4页
单片机串行通信接口_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

北京交通大学1第6章

串行通信接口本章主要内容串行数据通信基本原理MCS-51单片机串行口串行口应用举例北京交通大学2

计算机的两种方式数据传送:并行和串行

并行传送的特点:各数据位同时传送,传送速度快、效率高。但需要的数据线多,因此传送成本高。并行数据传送的距离通常小于30米。

串行传送的特点是:数据传送按位顺序进行,最少只需一根传输线即可完成,成本低,但速度慢。串行数据传送的距离可以从几米到几千公里。一、串行数据通信基本原理北京交通大学3数据通信基本原理串行数据传送又分为异步传送和同步传送两种方式。在单片机中,主要使用异步传送方式。北京交通大学4

1.异步串行通信的字符格式异步串行数据通信以字符为单位,即一次传送一个字符。异步通信的数据格式为:一位起始位一位奇偶校验位1、1.5、2位停止位

一帧信息5~8位数据位...北京交通大学5

1位起始位(为低电平);

5-8位数据位(紧跟着起始位),表示要传送的有效数据(低位在前);

1位奇偶校验位(可有可无);

1、1.5或2位停止位(为高电平)。从起始位开始到停止位结束的时间间隔称为一帧。就是一个字符的完整通信格式。因此也把串行通信的字符格式称为帧格式北京交通大学6例如,采用串行异步通信方式传送ASCII码字符‘5’,规定为7位数据位,1位偶校验位,1位停止位,无空闲位。

由于‘5’的ASCII码为35H,其对应7位数据位为0110101,如按低位在前、高位在后顺序排列应为1010110。前面加1位起始位,后面配上偶校验位1位0,最后面加1位停止位1,因此传送的字符格式为0101011001,其对应的波形如图所示。低位在前高位在后起始停止偶校验北京交通大学72.串行通信的数据通路形式串行数据通信有以下几种数据通路形式:单工形式:A发,B接。半双工形式:

A发或接,

B接或发。全双工形式:A发、接,B接、发。ABABAB北京交通大学83.串行通信的传送速率

传送速率:用于说明数据传送的快慢。波特率(Baud):每秒传送二进制代码位数即每秒传送一个数据位就是一波特:常用的波特率有:75,110,300,600,1200,2400,4800,9600,19200。1波特=1bps(位/秒)北京交通大学9设数据传送的速率每秒为120个字符,每个字符包含10个代码位(1个起始位,1个停止位,8个数据位)波特率=10x120b/s=1200bps每一位代码的传送时间=1/1200=0.833ms北京交通大学10

4.串行通信接口电路

串行数据通信中主要有两个技术问题数据传送:数据传送主要解决传送中的标准、格式及工作方式等问题数据转换:数据转换是指数据的串并转换北京交通大大学11串行接口电电路基本组组成逻辑框框图如下:串行输入时钟复位并行输出并行输入时钟串行输出控制信号状态、控制制信息接收器发送器控制部件北京交通大大学12通用异步接接收发送器器(UART)北京交通大大学13异步串行通通信常用接接口TTL电平直接连连接RS-232C:传输速度为为20kbit/s,传输距离离15英尺RS-422、RS-485:传输速度为为10Mbit/s,传输距离离300m——1200m并能抑制共共模信号干干扰20mA电流环:能降低对噪噪声敏感程程度光纤:光纤介质可可减少噪声声干扰,光光电隔离提提高安全性性北京交通大大学14二、MCS-51单片机串行行口MCS-51单片机片内有一个个全双工串行口(P3.0接收、P3.1发送)功能:异步串行通通信其中:发送送和接收的的速率与移位时钟同同步,移位脉冲的的速率为波波特率。说明:定时时器T1作为串行通通信波特率发生生器。北京交通大大学15TI发送中断标标志RI接收中断,,允许接收收REN串行口中断断1.串行口寄存存器结构发送寄存器器(只能写)接收寄存器器(只能读)(P3.1)(P3.0)SBUF全双工方式式进行通信信,这两个个寄存器共共用一个地地址(99H)。北京交通大大学16双缓冲结构构,防止产产生重叠错错误MOVSBUF,AMOVA,SBUF北京交通大大学17例如:说明:串行行接收采用用双缓冲结结构,以避避免在数据据接收过程程中出现帧重叠错误,但发送送数据据时,,由于于CPU是主动动的,,不会会发生生帧重重叠错错误,因此发发送电电路就就不需需要双双缓冲冲结构构。2.串行通通信控控制有有关的的寄存存器SCON:串行行控制制,用用来设设定串串行口口的工工作方方式PCON:电源源控制制,可可控制制波特特率。。IE:设设置置串行行中断断允许许。启动发发送:MOVSBUF,A;SBUF(A)启动接接收:MOVA,SBUF;A(SBUF)北京交交通大大学18(1)串行行控制制寄存存器SCONSCON格式如如下::SM0SM1SM2RENTB8RB8TIRI(98H)9F9E9D9C9B9A9998工作方方式选选择位位多机通通信控控制位位允许接接收控控制位位发送数数据第第九位位接收数数据第第九位位发送中中断标标志接收中中断标标志北京交交通大大学19各位功功能说说明如如下::SM0SM1:串口口工作作方式式选择择位00方式0:同步移移位寄寄存器器波特率率=主振频频率/1201方式1:8位异步步,波波特率率可变变10方式2:9位异步步波特率率=主振频频率/32或主振振频率率/6411方式3:9位异步步,波波特率率可变变北京交交通大大学20REN=1:允许许串行行接收收,用软件件置位位或清清除。。TB8:发送送数据据位8即:D0……D7D8TB8/RB8D8=0:表示示数据据帧;;D8=1:表示示地址址帧⑴在工作作方式式2、、3中,TB8是发送送的第第9位位数据据,由软件件置位位(SETBTB8)或复复位((CLRTB8)⑵在双双机通通信中中,该该位作作为奇奇偶校校验位位;⑶在多多机通通信中中用来来表示示D7-D0是地址址帧或或数据据帧北京交交通大大学21RB8:接收收数据据位8TI:发送送中断断标志志。⑴在工作作方式式2和和3中中,该该位是是接收收到的的第99位数数据。。方式1,SM2=0,停止止位。。方式式0,不用用。⑵在多多机通通信中中是地址帧帧(RB8=1)和数据帧帧(RB8=0)的标识识位。。⑴在方式式0中中,发发送完完第8位数据据后,,该位位由硬硬件置置位;;⑵在其其它方方式中中,在在发送送停止止位之之前,,该位位由硬件置置位,申请中中断,,CPU响应中中断后后,可可以发发送下下一帧帧数据据。该位必必须由由软件清清零。北京交交通大大学22RI:接收收中断断标志志。⑴在方式式0中中,接接收完完第8位数据据后,,该位位由硬硬件置置位⑵在其它它方式式中,,在接接收到到停止止位的的一半半时,,该位由由硬件置置位(还需需考虑虑SM2的设定定),,申请中中断,,CPU响应中中断后后,可可以接接收下下一帧帧数据。。该位位也必必须由由软件清清零。北京交交通大大学23SM2:多机机通信信控制制位,,主要要用于于方式式2、3中。⑴在方式式0中,SM2设置为为0,不用用TB8和RB8⑵在方式式1中:当SM2=0,则RB8是接收收到的的停止止位;;当SM2=1,则只只有接接收到到有效效的停停止位位时,,RI才被激激活。。⑶在方式式2、3中,TB8和RB8为发送送和接接收的的第九九位数数据,,当SM2=0时,则不论论RB8为0还还是1,都将前前8位数据装入SBUF中,表示接接收到到命令令或数数据,,并产产生中中断请请求。。当SM2=1时,只只有当当接收收到的的第九九位数数据RB8=1时,才将接接收到到的前前8位数据据送入入SBUF,表示接接收到到地址帧帧;当RB8=0时,将接收收到的的前8位数据据丢弃弃。北京交交通大大学24说明:1.用软件件可以以改变变设置置SCON内容,,并在在下一一条指指令的的第一一个周周期的的S1P1期间才才锁存存到SCON中。2.一帧发发送完完,发发送中中断标标志置置位((TI),向向CPU请求中中断。。一帧接接收完完,接接收中中断标标志置置位((RI),向向CPU请求中中断。。北京交交通大大学25它主要要是为为CHMOS型单片片机的的电源源控制制而设设置的的。对HMOS型单片片机,,除了了最高高位((SMOD)之外外,其它位位都是是虚设设的,SMOD是串行行口波波特率率的倍倍增位位。当:SMOD=1时,串串行口口波特特率加加倍系统复复位时时,SMOD=0。可由下列列指令令设置置:MOVPCON,#80H;;SMOD1MOVPCON,#00H;;SMOD0(2)电源源控制制寄存存器PCON格式:SMOD(87H)北京交交通大大学26(1)方式0:同步步移位位寄存存器方式RXD端作为为数据据移位位的入入口或或出口口TXD端提供移位位时钟脉冲冲,移位数据的的发送和接接收以8位为一帧,不设起始始位和停止止位,低位位在前高位位在后,波特率是固固定的即一个机器器周期移位位一次。2.串行口的工工作方式RXDTXDDATACLKRXDTXDDATACLK并行输出并行输入8051CD40968051CD4014下图串串并,并串串转换方法法电路P1.0STBP1.0STBfOSC/12北京交通大大学27说明:1.REN=1,允许接收。。RXD数据输入,,TXD移位脉(fosc/12)。接收(发送送)完8位数据时硬硬件将RI(TI)置位,CPU响应中断,,2.TI,RI必须由用户户程序清零零。3.方式0时:SM2=0,TB8、RB8不用4.扩展I/O串行输入,,串行输出出,并串、、串并转换换北京交通大大学28数据输出MOVSBUF,Afosc=1/12发送完8位数据北京交通大大学29REN=““1”,方式0,RI=“0”RXD数据输入端端接收到8位数据北京交通大大学30数据发送1.数据发送是是由一条写写发送寄存存器(MOVSBUF,A)指令开始始的。2.此后在串行行口由硬件件自动加入入起始位和和停止位,,构成一个个完整的帧帧格式。3.然后在移位位脉冲的作作用下,由由TXD端串行输出出。4.一个字符帧帧发送完后后,使TXD端输出线维维持高电平平,并将TI置位,通知知CPU可以发送下下一个字符符。起始D0D1D2D3D4D5D6D7停止(2)方式1方式1的帧格式为为:北京交通大大学31数据接收1.接收数据时时,应使REN=1。在此前提提下,串行口采样样RXD端,当采样样到从1到0的跳变时,就认定定是接收到到了起始位位。2.随后在移位位脉冲的控控制下,把把接收到的的数据位移移入接收寄寄存器中。。3.直到停止位位到来之后后把它送入入到RB8中,并置位位RI,通知CPU从SBUF取走接收到到的一个字字符。北京交通大大学32发送十位信信息启动发送完置1REN=““1”,SM0=0,SM1=1,RI=07,8,9共3次采样数据据采样到1变0,启动接收收波特率16倍速率条件:1.RI=02.停止位=1,或SM2=0、停止位进进入RB8,并RI=1北京交通大大学33波特率的设设定方式1的波特率可可变,由下式决定定:实际使用时时,总是先确定定波特率,再计算T1的计数初值值。即:smod为PCON寄存器最高高位的值,fOSC为晶振频率率,X为当T1工作于方式式2(8位自动加载载)时的计计数初值。。其中:北京交通大大学34(3)方式2和方式3串行口工作作在方式2、3时,为9位异步通信信口,发送送和接收11帧信息由由11位组成,即即:D0D2...D7D8一帧1位起始位(0)、8位数据位位(D0-D7)、1位可编程位位(D8)和1位停止位(1)。D8位既可作为为奇偶校验验位,也可作为控控制位使用用,功能由用户户确定发送时,可编程位D8(TB8)可设置为0(CLRTB8)或1(SETBTB8)接收时,TB8送入SCON寄存器中RB8位。北京交通大大学35方式2、3的区别是::波特率设置置不同方式2的波特率是是固定的。。即:波特率=fosc/32或fosc/64方式3的波特率是是可变的。。即:北京交通大大学36波特率foscsmod120011.059202E8H240011.059202F4H480011.059202FAH960011.059202FDH1920011.059212FDH定时器1方式时时间常常数表1波特率与时间间常数北京交通大学学37MCS-51串行通信波特特率:方式0波特率=fOSC/12,fOSC为主机频率方式2SMOD=1,波特率=fOSC/32;SMOD=0,波特率=fOSC/64;方式1,3T1溢出率=北京交通大学学38方式2发送程序:以TB8为偶校验位,,处理方法是是数据写入SBUF之前,先将P写入TB8CLRTI;发送中断标志志TI清零MOVA,R0;取数据MOVC,P;奇偶校验位送送TB8MOVTB8,CMOVSBUF,A;数据写入,启启动发送北京交通大学学39接收程序若附加第九位位数据为偶校校验位,接收收程序中应作作校验处理CLRRI;收到一帧数据据后清RIMOVA,SBUF;前八位数据送送AMOVC,P;正确P=0,RB=0。P=1,RB=1JNCPD0;P=0,判RB8=0否JNBRB8,ERROR;P=1,RB8=0出错AJMPPOKPD0:JBRB8,ERRO;P=0,RB8=1出错POK:MOV@RO,AERROR:…北京交通大学学40利用串行口工工作方式0扩展I/O口MOVR1,#60HSETBP1.0CLRP1.0;下降沿并入SETBP1.0;移位MOVSCON,#10H;方式0,启动接收MOVR0,#02H;每组字节数数2WAIT:JNBRI,WAITCLRRIMOVA,SBUFMOV@R1,AINCR1DJNZR0,WAIT北京交通大学学41利用串行口工工作方式0扩展I/O口MOVR6,#02HMOVR0,#30HMOVSCON,#00H;方式0SEND:MOVA,@R0MOVSBUF,A;启动发送WAIT:JNBTI,WAITCLRTI;清发送中断断标志INCR0DJNZR6,WAIT北京交通大学学42三、串行口应应用举例例6-1双机通信设:甲机发送乙机机接收,串行行口工作在方方式1,波特率为1200fosc=11.0592MHz硬件连接如图图计算时间常数数TXDRXDGNDRXDTXDGNDT1作为波特率发发生器,工作作于方式2。由表1查得时间常数数为E8H。图双双机通信乙甲北京交通大学学43甲机发送程序序甲机将内部RAM单元20H-3FH的32个字节的ASCII码数据,在最最高位上加奇校验位后,由串行口口TXD发送给乙机。。即可采用8位异步通信。。START:MOVTMOD,#20H;T1为方式2MOVTL1,#0E8H;时间常数低8位MOVTH1,#0E8H;SETBTR1;启动T

温馨提示

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

评论

0/150

提交评论