欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    51单片机串行通信接口课件.ppt

    • 资源ID:1480067       资源大小:669.52KB        全文页数:47页
    • 资源格式: PPT        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    51单片机串行通信接口课件.ppt

    北京交通大学,1,第6章 串行通信接口,本章主要内容串行数据通信基本原理MCS-51单片机串行口串行口应用举例,北京交通大学,2,计算机的两种方式数据传送:并行和串行 并行传送的特点: 各数据位同时传送,传送速度快、效率高。但需要的数据线多,因此传送成本高。并行数据传送的距离通常小于30米。 串行传送的特点是: 数据传送按位顺序进行,最少只需一根传输线即可完成,成本低,但速度慢。串行数据传送的距离可以从几米到几千公里。,一、串行数据通信基本原理,北京交通大学,3,数据通信基本原理,串行数据传送又分为异步传送和同步传送两种方式。在单片机中,主要使用异步传送方式。,北京交通大学,4,1. 异步串行通信的字符格式 异步串行数据通信以字符为单位,即一次传送一个字符。异步通信的数据格式为:,一位起始位,一位奇偶校验位,1、1.5、2位停止位,一帧信息,58位数据位,北京交通大学,5,1位起始位(为低电平); 58位数据位(紧跟着起始位),表示要传送的有效数据(低位在前); 1位奇偶校验位(可有可无); 1、1.5或2位停止位(为高电平)。 从起始位开始到停止位结束的时间间隔称为一帧。就是一个字符的完整通信格式。因此也把串行通信的字符格式称为帧格式,北京交通大学,6,例如,采用串行异步通信方式传送ASCII码字符5,规定为7位数据位,1位偶校验位,1位停止位,无空闲位。 由于5的ASCII码为35H,其对应7位数据位为0110101,如按低位在前、高位在后顺序排列应为1010110。前面加1位起始位,后面配上偶校验位1位0,最后面加1位停止位1,因此传送的字符格式为0101011001,其对应的波形如图所示。,低位在前,高位在后,起始,停止,偶校验,北京交通大学,7,2.串行通信的数据通路形式串行数据通信有以下几种数据通路形式:单工形式: A发,B接。半双工形式: A发或接, B接或发。全双工形式: A发、接,B接、发。,A,B,A,B,A,B,北京交通大学,8,3.串行通信的传送速率 传送速率 : 用于说明数据传送的快慢。波特率(Baud):每秒传送二进制代码位数 即每秒传送一个数据位就是一波特:常用的波特率有:75,110,300,600,1200,2400,4800,9600,19200。,1波特=1bps(位/秒),北京交通大学,9,设数据传送的速率每秒为120个字符,每个字符包含10个代码位(1个起始位,1个停止位,8个数据位)波特率=10 x120b/s=1200bps每一位代码的传送时间=1/1200=0.833ms,北京交通大学,10,4.串行通信接口电路 串行数据通信中主要有两个技术问题数据传送:数据传送主要解决传送中的 标准、格式及工作方式等问题数据转换:数据转换是指数据的串并转换,北京交通大学,11,串行接口电路基本组成逻辑框图如下:,串行输入 时钟 复位,并行输出,并行输入 时钟,串行输出,控制信号,状态、控制信息,接收器,发送器,控制部件,北京交通大学,12,通用异步接收发送器(UART),北京交通大学,13,异步串行通信常用接口,TTL电平直接连接,RS-232C: 传输速度为20kbit/s,传输距离15英尺,RS-422、RS-485: 传输速度为10Mbit/s,传输距离300m1200m并能抑制共模信号干扰,20mA电流环: 能降低对噪声敏感程度,光纤: 光纤介质可减少噪声干扰,光电隔离提高安全性,北京交通大学,14,二、MCS-51单片机串行口,MCS-51单片机片内有一个全双工串行口(P3.0接收、P3.1发送) 功能:异步串行通信 其中:发送和接收的速率与移位时钟同步, 移位脉冲的速率为波特率。说明:定时器T1作为串行通信波特率发生器。,北京交通大学,15,TI发送中断标志,RI接收中断,允许接收REN,串行口中断,1.串行口寄存器结构,发送寄存器(只能写),接收寄存器(只能读),(P3.1),(P3.0),SBUF全双工方式进行通信,这两个寄存器共用一个地址(99H)。,北京交通大学,16,双缓冲结构,防止产生重叠错误,MOV SBUF,A,MOV A,SBUF,北京交通大学,17,例如:说明:串行接收采用双缓冲结构,以避免在数据接收过程中出现帧重叠错误,但发送数据时,由于CPU是主动的,不会发生帧重叠错误,因此发送电路就不需要双缓冲结构。 2.串行通信控制有关的寄存器 SCON:串行控制,用来设定串行口的工作方式 PCON:电源控制,可控制波特率。 IE: 设置串行中断允许。,启动发送 :MOV SBUF,A ;SBUF (A)启动接收 :MOV A,SBUF ;A (SBUF),北京交通大学,18,(1)串行控制寄存器SCON SCON格式如下:,SM0 SM1 SM2 REN TB8 RB8 TI RI (98H),9F 9E 9D 9C 9B 9A 99 98,工作方式选择位,多机通信控制位,允许接收控制位,发送数据第九位,接收数据第九位,发送中断标志,接收中断标志,北京交通大学,19,各位功能说明如下:SM0 SM1:串口工作方式选择位,00 方式0: 同步移位寄存器 波特率=主振频率/12,01 方式1: 8位异步,波特率可变,10 方式2:9位异步 波特率=主振频率/32 或主振频率/64,11 方式3:9位异步,波特率可变,北京交通大学,20,REN=1:允许串行接收,用软件置位或清除。 TB8:发送数据位8,即:,D0 D7 D8,TB8/RB8,D80:表示数据帧; D81:表示地址帧,在工作方式、3中,TB8是发送的第位数据, 由软件置位(SETB TB8)或复位(CLR TB8)在双机通信中,该位作为奇偶校验位;在多机通信中用来表示D7-D0是地址帧或数据帧,北京交通大学,21,RB8:接收数据位8TI:发送中断标志。,在工作方式和中,该位是接收到的第位数据。 方式1,SM2=0,停止位。方式0,不用。在多机通信中是地址帧(RB8=1)和数据帧 (RB8=0)的标识位。,在方式中,发送完第8位数据后,该位由硬件置位;在其它方式中,在发送停止位之前,该位由硬件置位,申请中断,CPU响应中断后,可以发送下一帧数据。该位必须由软件清零。,北京交通大学,22,RI:接收中断标志。,在方式中,接收完第8位数据后,该位由硬件置位,在其它方式中,在接收到停止位的一半时,该位由硬件置位(还需考虑SM2的设定),申请中断,CPU响应中断后,可以接收下一帧数据。该位也必须由软件清零。,北京交通大学,23,SM2:多机通信控制位,主要用于方式2、3中。,在方式0中,SM2设置为0,不用TB8和RB8,在方式1中:当SM20,则RB8是接收到的停止位; 当SM21,则只有接收到有效的停止位时,RI才被激活。,在方式2、3中, TB8和RB8为发送和接收的第九位数据,,当SM20时,则不论RB8为还是1,都将前8位数据装入SBUF中,表示接收到命令或数据,并产生中断请求。,当SM21时,只有当接收到的第九位数据 RB8=1时, 才将接收到的前8位数据送入SBUF,表示接收到地址帧; 当RB80时,将接收到的前8位数据丢弃。,北京交通大学,24,说明:1.用软件可以改变设置SCON内容,并在下一条指令的第一个周期的S1P1期间才锁存到SCON中。2.一帧发送完,发送中断标志置位(TI),向CPU请求中断。一帧接收完,接收中断标志置位(RI),向CPU请求中断。,北京交通大学,25,它主要是为CHMOS型单片机的电源控制而设置的。对HMOS型单片机,除了最高位(SMOD)之外,其它位都是虚设的,SMOD是串行口波特率的倍增位。 当:SMOD1时,串行口波特率加倍系统复位时,SMOD0。可由下列指令设置: MOV PCON,#80H ;SMOD 1 MOV PCON,#00H ;SMOD 0,(2)电源控制寄存器PCON格式:,SMOD,(87H),北京交通大学,26,(1)方式0:同步移位寄存器方式 RXD端作为数据移位的入口或出口 TXD端提供移位时钟脉冲,移位数据的发送和接收以8位为一帧,不设起始位和停止位,低位在前高位在后,波特率是固定的即一个机器周期移位一次。,2.串行口的工作方式,RXDTXD,DATACLK,RXDTXD,DATACLK,并行输出,并行输入,8051,CD4096,8051,CD4014,下图 串并,并串转换方法电路,P1.0,STB,P1.0,STB,fOSC/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,数据输出,MOV SBUF,A,fosc=1/12,发送完8位数据,北京交通大学,29,REN=“1”,方式0,RI=“0”RXD数据输入端,接收到8位数据,北京交通大学,30,数据发送 1.数据发送是由一条写发送寄存器(MOV SBUF,A)指令开始的。 2.此后在串行口由硬件自动加入起始位和停止位,构成一个完整的帧格式。 3.然后在移位脉冲的作用下,由TXD端串行输出。 4.一个字符帧发送完后,使TXD端输出线维持高电平,并将TI置位,通知CPU可以发送下一个字符。,起始 D0 D1 D2 D3 D4 D5 D6 D7 停止,(2)方式1 方式1的帧格式为:,北京交通大学,31,数据接收 1.接收数据时,应使REN1。在此前提下,串行口采样RXD端,当采样到从1到0的跳变时,就认定是接收到了起始位。 2.随后在移位脉冲的控制下,把接收到的数据位移入接收寄存器中。 3.直到停止位到来之后把它送入到RB8中,并置位RI,通知CPU从SBUF取走接收到的一个字符。,北京交通大学,32,发送十位信息,启动,发送完置1,REN=“1”,SM0=0,SM1=1,RI=0,7,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位组成,即:,D0 D2 . . . D7 D8,一帧,1位起始位(0)、位数据位(D0-D7)、1位可编程位(D8)和1位停止位(1)。D8位既可作为奇偶校验位,也可作为控制位使用,功能由用户确定发送时,可编程位D8(TB8)可设置为0(CLR TB8)或1(SETB TB8)接收时,TB8送入SCON寄存器中RB8位。,北京交通大学,35,方式2、3的区别是:波特率设置不同方式2的波特率是固定的。即: 波特率=fosc/32或fosc/64方式3的波特率是可变的。即:,北京交通大学,36,波特率 fosc smod,1200 11.0592 0 2 E8H2400 11.0592 0 2 F4H4800 11.0592 0 2 FAH9600 11.0592 0 2 FDH19200 11.0592 1 2 FDH,定时器1 方式 时间常数,表1 波特率与时间常数,北京交通大学,37,MCS-51串行通信波特率:,方式0波特率= fOSC/12,fOSC 为主机频率方式2 SMOD=1,波特率= fOSC/32; SMOD=0,波特率= fOSC/64;方式1,3,T1溢出率=,北京交通大学,38,方式2发送程序: 以TB8为偶校验位,处理方法是数据写入SBUF之前,先将P写入TB8 CLR TI ;发送中断标志TI清零 MOV A,R0 ;取数据 MOV C,P ;奇偶校验位送TB8 MOV TB8,C MOV SBUF,A ;数据写入,启动发送,北京交通大学,39,接收程序若附加第九位数据为偶校验位,接收程序中应作校验处理 CLR RI ;收到一帧数据后清RI MOV A,SBUF ;前八位数据送A MOV C,P ;正确P=0,RB=0。P=1,RB=1 JNC PD0 ;P=0,判RB8=0否 JNB RB8,ERROR ;P=1,RB8=0出错 AJMP POK PD0:JB RB8,ERRO ;P=0, RB8=1出错POK:MOVRO,AERROR: ,北京交通大学,40,利用串行口工作方式0扩展I/O口,MOV R1,#60H SETB P1.0 CLR P1.0 ;下降沿并入 SETB P1.0 ;移位 MOV SCON,#10H;方式0,启动接收 MOV R0,#02H ;每组字节数2WAIT: JNB RI,WAIT,CLR RI MOV A,SBUF MOV R1,A INC R1 DJNZ R0,WAIT,北京交通大学,41,利用串行口工作方式0扩展I/O口,MOV R6,#02H MOV R0,#30H MOV SCON,#00H;方式0 SEND:MOV A,R0 MOV SBUF,A;启动发送 WAIT:JNB TI,WAIT,CLR TI;清发送中断标志 INC R0 DJNZ R6,WAIT,北京交通大学,42,三、串行口应用举例,例 6-1 双机通信 设:甲机发送乙机接收,串行口工作在方式1,波特率为 1200 fosc=11.0592MHz 硬件连接如图 计算时间常数,TXD RXD GND,RXDTXD GND,T1作为波特率发生器,工作于方式2。由表1查得时间常数为E8H。,图 双机通信,乙,甲,北京交通大学,43,甲机发送程序 甲机将内部RAM单元20H-3FH的32个字节的ASCII码数据,在最高位上加奇校验位后,由串行口TXD发送给乙机。即可采用8位异步通信。START:MOV TMOD,#20H ;T1为方式2 MOV TL1,#0E8H ;时间常数低8位 MOV TH1,#0E8H ; SETB TR1 ;启动T1工作 MOV SCON,#01000000B ;串行口方式1 MOV R0,#20H ;数据首地址 MOV R7,#32 ;32字节数据,北京交通大学,44,LOOP: MOV A, R0 ;取数据,影响P标志位 MOV C, P ;置奇校验位 CPL C MOV ACC.7, C MOV SBUF,A ;启动发送DONE: JNB TI, DONE ;等待发完一帧 CLR TI ;清TI,允许再发送 INC R0 ;指向下一数据 DJNZ R7, LOOP ;未送完,送下一个数 AJMP LOOP ;循环发送,北京交通大学,45,乙机接收程序 与甲机发送相呼应,接收器把接收到的32个字节数据存放在内部RAM的20H-3FH中,波特率与晶振频率同上。若奇校验出错,则置进位为1。程序如下:,START:MOV TMOD,#20H ;T1方式2 MOV TL,#OE8H MOV TH,#OE8H SETB TR1 MOV R0,#20H MOV R7,#32LOOP:MOV SCON,#01010000B ;串行口方式1,能接收,北京交通大学,46,DONE:JNB RI,DONE ;等待接收一帧 CLR RI ;清RI,再接收 MOV A,SBUF ;取数据 JNB P, ERROR ;校验错,转出错处理ANL A,#7FH ;去掉奇校验位 MOV R0,A ;奇校验,存数据 INC R0 ;指向下一数据 DJNZ R7,LOOP ;数据块,未接收完,循环 AJMP LOOP ;循环接收ERROR: ;出错处理,北京交通大学,47,作业P144: 2, 3, 7,

    注意事项

    本文(51单片机串行通信接口课件.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开