分享
分销 收藏 举报 申诉 / 110
播放页_导航下方通栏广告

类型第5章单片机串行接口技术.ppt

  • 上传人:pc****0
  • 文档编号:13182355
  • 上传时间:2026-01-31
  • 格式:PPT
  • 页数:110
  • 大小:2.95MB
  • 下载积分:10 金币
  • 播放页_非在线预览资源立即下载上方广告
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    单片机 串行 接口 技术
    资源描述:
    单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,5,章,80C51,单片机的串行接口技术,第5章,80C51单片机的串行接口技术,学习目的,(,1,)了解,通信的概念,熟悉串行通信和并行通信原理;,(,2,)理解,串行通信的,3,种制式,;,(,3,)掌握,串行通信的标准;,(,4,)掌握,80C51,串行口的通信原理和通信方法;,(,5,)熟悉,新型串行通信总线标准。,学习重点和难点,(,1,)串行,通信的原理和,数据帧格式,;,(,2,),RS-232C,的接口标准及电气标准;,(,3,),80C51,串行口的,通信方式,设置及,波特率,设置方法;,(,4,),80C51,单片机间的,通信,和单片机与,PC,机的通信程序设计方法;,(,5,),I,2,C,总线,和,SPI,总线的应用编程。,计算机通信,是将计算机技术和通信技术的相结合,完成,计算机与外部设备,或,计算机与计算机,之间的,信息交换,。可以,分为两大类:并行通信与串行通信。,并行通信,是将所传送数据的各位用多条数据线,同时,进行 发送或接收。,特点:,控制简单、传输,速度快,;由于传输线较多,长距离传送时,成本高,且接收方的各位同时接收存在困难,适合于,短距离,传输,30m,。,5.1,串行通信概述,串行通信,是将所传送数据分成,一位一位,的形式,在一条传输线上,逐位顺序的,传送。,特点,:传输线少,长距离传送时,成本低,,且可以利用电话网等现成的设备,但,速度慢,,数据的,传送控制,比并行通信,复杂,。,5.1.1,串行,通信,的分类,通常,情况下,在串行通信中根据信息传送的,格式分为:,异步串行通信,和同步串行,通信,。,同步通信方式是以,数据块,(,字符串,),的方式传送的,数据传输率高,适合高速率、大容量的数据通信,但对硬件要求较高。,异步通信中,是以,字符为单位,传送的,数据传送可靠性高,适合低速通信的场合。,1,、同步通信,同步通信时要建立,发送,方时钟,对接收方,时钟的,直接控制,,使双方达到,完全同步,。同时传送的字符间不留间隙,即,保持位同步,关系,,也保持字符同步,关系。,在实际同步通信中,由,同一,频率的,时钟,脉冲来实现发送和接收的,同步,。在,发送时,要在数据开始处,插入,1,2,个,同步字符,,,接收端,在,检测,到同步字符后,就开始接收,任意位,的串行数据。,2,、异步通信,异步通信,是指通信的,发送与接收设备使用,各自的时钟,控制数据的发送和接收过程。,字符与字符之间的间隙(时间间隔)是任意的,即,字符之间是异步的,,但每个字符中的各位是以,相同固定,的时间传送的,即,同一字符内的各位是同步的,。,为使双方的,收发协调,,要求,发送方和接收方必须保持,相同的波特率,(Baud Rate),才能实现正确的数据传送。,波特率,是指单位时间内传送的信息量,即,每秒钟传送的二进制位数,(,亦称比特数,),,单位,是,bit/s,,即位,/,秒,波特率,=1,二进制位持续时间,异步通信,用起始位“,0”,表示字符的开始,然后,从低位,到高位逐位传送数据,最后用停止位“,1”,表示字符的,结束,。,在异步通信中,字符帧的,编码形式,起始位,:逻辑,“,0”,信号,占,1,位,;,对于,发送端,:,在,发送数据之前,向线路送一个低电平,“,0”,;用以通知接收端做好接收的准备;,不发送数据就保持为高电平“,1”,,即空闲信号。,对于接收端:不断的,检测线路,状态,若连续为“,1,”,后又检测到一个,“,0”,,则,立即,准备,接收数据,。,数据位,:逻辑“,0”,、“,1”,信号;,占,5,8,位,在数据发送时;,总是,低位,在,先,,,高位最后,。,奇偶校验位,:逻辑“,0”,或“,1”,信号,占,1,位,用于在数据传送时作,正确性,检查,通常有:,奇校验,、,偶校验和无校验,三种情况。,可作为控制位,用于判定该字符所代表的,信息,(1-,地址,或,0-,数据,等,),。,停止位,:逻辑“,1”,信号,,用于表征字符的,结束,,,该位可以时,1,、,1.5,或,2,个比特位,,在实际应用中由,用户根据需要,设定。,单 工:数据只能,单向,传送,半双工:可,分时,进行,双向,传送,方向切换,全双工:可,同时,进行,双向,传送,发送器,接收器,发送器,接收器,甲机,乙机,信号地,半双工,发送器,接收器,接收器,发送器,甲机,乙机,信号地,全双工,发送器,接收器,甲机,乙机,信号地,单工,5.1.2,串行通信制式,5.1.3,串行通信接口标准,在,单片机控制系统中,常用的串行通信接口标准有:,RS-232C,、,RS-449,、,RS-422A,、,RS-423A,、,RS-485,、,20mA,电流环,、,USB,、,IIC,及,SPI,等总线接口,标准。,1,、比特率发生器,为接受器,/,发送器提供精确的发送时钟,TXC,和接受时钟,RXC,。,从而控制发送字符与接受字符的速度。,2,、发送器,/,接收器,串,并转换,发送器:,从,CPU,接收并行数据,转换成串行数据后输出给外部设备。,接收器:,从外部设备接收串行数据,转换为并行数据后传送给,CPU,3,、电平转换或电流转换电路,-,串行接口总线,串行通信接口的组成:,1,、,RS-232C,总线,目前在,IBM PC,机上的,COM1,、,COM2,接口,就是,RS-232C,接口。,1,),RS-232C机械特性,数据终端设备,DTE,(Data Terminal Equipment),:,在具有一定的,数据处理能力,和,数据收发能力,的设备,上使用,插座,;如,PC,机、单片机、只能仪表,数据通讯设备,DCE,(Data Communication Equipment),:在,DTE和传输线路之间提供,信号变换,和,编码,功能,并负责建立、保持和释放链路的,连接器,上使用,插头,,如Modem。,DCE设备通常是与DTE对接的,因此针脚的,分配相反,。,RS-232C总线标准设有25条信号线,常用的只有9条。因此串行口连接器分为9芯D型连接器针和25芯D型连接器两种,,DB-25,DB-9,信号名称,信号传送方向,含 义,2,3,TXD,输出,数据发送端,3,2,RXD,输入,数据接收端,4,7,RTS,输出,请求发送(计算机要求发送数据),5,8,CTS,输入,清除发送(,MODEM,准备接收数据),6,6,DSR,输入,数据设备准备就绪,7,5,SG,信号地,8,1,DCD,输入,数据载波检测,20,4,DTR,输出,数据终端准备就绪(计算机),22,9,RI,输入,响铃指示,在,近距离通信,时可以通过,RS-232C,直接,将通信双方,连接,,这种方式称为“零调制解调”,,只需三,条连接线,即,“发送数据”、“接收数据”,和“信号地”,,发送方和接收方的“发送数据”、“接收数据”端,交叉连接,,传输线采用屏蔽双绞线即,可实现;,当,使用,RS-232C,进行,远距离传送,数据时,就必须配合,调制解调器(,modem,)和,电话线,进行通信,,其连接及通信原理如图,5-6,所示。,图,5-5,三线制连接原理图,图,5-6,远程串行通信原理图,2,),RS-232C的电气特性,RS-232C标准规定了数据和控制信号的电压范围它使用,负逻辑,约,束,,因此RS-232C不能和TTL电平直接相连。,常用的电平转换器:,如 MC1488、MC1489、MAX232等,。,标准,TTL,电平,-,单片机的,电平,高电平“,1”,在,2.4V,5V,之间,低电平“,0”,在,0V,0.4V,之间,RS-232C电平,低电平“0”在+3+15V之间,,高电平“1”在-3-15V之间,,,图,5-7,MAX232,实现,TTL,电平与,RS-232,电平转换,RS-232C,逻辑电平,高电平“1”在-3-15V之间,低电平“0”在+3+15V之间,TTL,逻辑电平,高电平“,1”,在,2.4V,5V,之间,低电平“,0”,在,0V,0.4V,之间,1,、,RS-232C,总线,3,、,RS-422A,总线,传输线,驱动,器,把,逻辑电平,变换成,电位差,,完成,平衡输出,传输线,接收,器,把,电位差,变换成,逻辑,电平,,实现,差分输入,图,5-8,平衡驱动 差分传送电路,TTL,逻辑电平,“,1,”,电位差,高于,200mV,TTL,逻辑电平,“,1,”,TTL,逻辑电平,“,0,”,电位差,低于,200mV,TTL,逻辑电平,“,0,”,通常,适用于,点对点,全双工,通信,方式,需要四条线进行通信,.,5,、,RS-485,总线,RS-485,标准是,RS-422,标准的改进增强版本,RS-485,适用于,半双工通信,,仅用,一对线,进行通信,特别适用于,多个点,之间共用一对线路进行总线方式联网。,电路,结构是在平衡连接电缆两端有,终端电阻,,在平衡电缆上挂发送器、接收器和组合发收,器。能支持,32,个,.,典型,的,RS-232,到,RS422/485,转换芯片有,:,MAX485,,,SN75176,等,,它们均只需单一,+5v,电源供电即可,工作。,图,5-10 RS-485,总线接口示意图,双向仅需,2,条线,6,、,20mA,电流环串行接口,20mA电流环其原理,为,数据为逻辑,“,1”,时,回路中,有,20mA,电流流过;数据为逻辑,“,0”,时,回路中,零电流,流过。没有,20mA,电流,。,电流环串行通信接口的最大,优点是,:,低阻,传输,,对电气,噪,声不敏感,,而且易实现,光电隔离,,,因此在,长距离,通信时要比RS-232C优越得多。,TTL,逻辑,“,1,”,有,20mA,电 流 流 过,TTL,逻辑,“,1,”,TTL,逻辑,“,0,”,零电流,(,没有,20mA),流过,TTL,逻辑,“,0,”,一、,80C51的串行接口的结构,5.2,结构框图、相关,SFR,二、,80C51串行口的工作方式,5.3,每种方式的结构特点,三、,80C51串行口的,运用,串行口的初始化,5.3.4,串行口的应用编程方法,5.3.5,运用举例,5.3.1,、,5.3.3,、,5.4,、,5.5,80C51的串行接口,5.2.1 80C51的串行接口的结构,MCS-51,单片机通过,串行数据接收引脚,RXD(P3.0)和串行数据发送引脚TXD(P3.1),与外界进行通信。,5.2,80C51的串行接口及工作方式,有两个物理上独立的,接收、发送缓冲器,SBUF,,它们占用同一地址,99H,;,接收器是,双缓冲,结构,避免数据接收过程中出现的帧重叠错误;,发送缓冲器,因为发送时,CPU,是主动的,不会产生帧重叠错误。,5.2.2 80C51,的串行接口,特殊功能寄存器,1,、数据缓冲器,SBUF,;,发送,SBUF,和接收,SBUF,共用一个地址,99H,,物理上是隔离的。,1,),发送,SBUF,存放,待发送,的,8,位数据,,写入,SBUF,将同时,启动发送,,发送,完毕,置,发送中断,标志位,TI=1,。,发送指令:,M,O,VSBUF,,,A,2,),接收,SBUF,存放,已接收成功,的,8,位数据,使接收中断标志,RI=1,,申请中断,供,CPU,读取。,读取串行口接收数据指令:,M,O,V A,,,SBUF,2,、串行口控制,/,状态寄存器,SC,O,N,(98H),(1)SM0 SM1,选择 工作方式 波特率,0 0,方式,0 8,位移位寄存器,f,osc,/12,0 1,方式,1 10,位,UART,T1,溢出率,x2,SMOD,/32,1 0,方式,2 11,位,UART2,SMOD,x,f,osc,/64,1 1,方式,3 11,位,UART,T1,溢出率,x2,SMOD,/32,T1,为方式,2,自动重载,的时间常数:,X=2,8,-t/T,溢出时间:,t=(2,8,-X)T=(2,8,-X)12/,f,osc,T1,溢出率,=1/t=,f,osc,/12(2,n,-X),波特率,B=(2,SMOD,/32),f,osc,/12(2,8,-X),T1,选方式,2,的,时间常数,计算:,TH1=TL1=,X,=2,8,-,f,osc,/122,SMOD,/(32B),T1,选方式,2,的,时间常数,计算:,TH1=TL1=X=2,8,-,f,osc,/122,SMOD,/(32B),在单片机的应用中,常用的晶振频率为:,12MHz,和,11.0592,MHz,。所以,选用的波特率也相对固定。常用的串行口波特率以及各参数的关系如表所示。,2,、串行口控制,/,状态寄存器,SC,O,N,(98H),(2)SM2,:,多机通讯控制位,,用于多机通讯,启动,RI,若,SM2=1,在方式,2,或方式,3,中,则接收到第,九,位数据,RB8,为,1,时,,才,将数据装入,SBUF,,并启动接收中断标志,RI=1,。否则数据将丢失,在方式,1,中,则只有接收到有效停止位,1,才启动,RI,。,若,SM2=0,则无论接收到第,九,位数据,RB8,是,1,还是,0,,,都能将数据装入,SBUF,,并且启动接收中断标志,RI=1,。,在方式,0,中,则,SM2,必须为,0,。,(3)REN,:,允许,串行口,接收,控制位,软件置位,REN=1,时,启动串行口,接收数据,,REN=0,禁止接收,数据。,(4)TB8,、,RB8,:方式,2,或,3,要发送的第,9,位数据,接收的第,9,位数据,点,点通讯:用作,SBUF,数据的,奇偶校验位,多机通讯:作为发送,地址,帧,或数据,帧的,标志,,TB8,1,,表示该发送帧为,地址,帧,,TB8,0,,表示该发送帧为,数据,帧。,2.,串行口控制,/,状态寄存器,SC,O,N,(98H),(6),TI,:,发送完一帧数据的中断标志,发送完,一帧,数据后由,硬件自动置,1,,可以向,CPU,申请中断。若允许中断,则响应中断后,必须,由,软件清,0,;,若禁止中断,则可用查询方式进行处理。,(7),RI,:,接收,一帧,有效,数据的中断标志,接收完,一帧,有效,数据后由,硬件自动置,1,,向,CPU,申请中断。若允许中断,则响应中断后,必须,由,软件清,0,;,若禁止中断,则可用查询方式进行处理。,TI,和,RI,共用一个中断源,由软件查询决定响应哪一个中断。,3.,电源控制寄存器,PCON(87H),SMOD,(PCON.7,),:,波特率加倍控制位。,SMOD=1,,,波特率加倍,,SMOD=0,,,则不加倍,5.3.1,方式0,这种方式,常用于扩展I/O口,。,在方式0下,串行口,同步,移位寄存器,的,输入输出,方式。,串行数据从RXD(P3.0)端输入或输出,同步移位脉冲由TXD(P3.1)送出,。,发送和接收均为,8,位数据,低位在先,高位在后。波特率固定为,f,osc,/12,。,5.3,80C51串行口的工作方式,5.3.2,方式1,10,位数据的,异步,通信口,多用于,双机,通信,1,.,一帧,10,位:,1,个,起始,位,(0),,,8,位,数据,位,,1,个,停止,位,(1),。,2,.RXD,:,接收数据端。,TXD,:,发送数据端。,3,.,波特率:,用,T1,作为波特率发生器,,B=(2,SMOD,/32),T1,溢出率,4,.,发送:,数据,写入,SBUF,,,随后在串行口由硬件,自动,加入起始位和停止位,构成一个完整的字符帧格式,然后在,移位脉冲,的作用下,由,TXD,端串行,输出,。一个字符帧发送完后,使,TXD,输出线维持在“,1”,状态下并将,SCON,寄存器的,TI,位置“,1”,,该位的状态可供查询或请求中断,,在再次发送数据之前,必须用软件将,TI,清零,。,4,.,发送:写入,SBUF,,,同时启动发送,一帧发送结束,,TI=1,。,接收:,REN=1,,,允许接收。,REN=1,且,RI=0,,启动接收,当,REN=1,且,RI=0,,,CPU,才开始,以所选择波特率的,16,倍,速率,采样,RXD,引脚电平信号;,若出现,负跳变,,才进入数据接收状态,先检测,起始位,,若第一位为,0,,继续,接收一帧,数据;否则,停止接收,重新采样负跳变;,当接收到有效,停止位,1,时,将移位寄存器的内容,置入,SBUF,,由硬件将,RI,置,1,、,该位的状态可供查询或请求中断,,在再次接收数据之前,必须用软件将,RI,清零,。,采样脉冲,RXD,输入数据,(,b,),接收时序图,D,0,D,1,D,2,D,3,D,4,D,5,D,6,D,7,停止位,起始位,RI,检测,负跳变,5.3.3,方式,2,和方式,3,1,.,一帧为,11,位:,1,个起始位,(,0,),,,1,个停止位,(,1,),,,9,位数据位,2,.RXD,:,接收数据端,,TXD,:,发送数据端。,3,.,波特率:方式,2,:,B=(2,SMOD,/64),f,osc,。,方式,3,:,B=(2,SMOD,/32)T1,溢出率。,(,SBUF,中的,8,位数据,D0D7,,第,9,位是发送时为,SCON,中的,TB8,,接收时为,RB8,,常用,作数据的,奇偶校验,位,或在多机通信中,作为,地址帧,/,数据帧,的标志位,),方式,2,和方式,3,发送:,4,.,发送,:先装入,TB8,,待发数据写入,SBUF,,,随后在串行口由硬件,自动,加入,起始位,和,停止位,并启动发送,,从由,TxD,端输出,,发送结束,,TI=1,。,接收,:,REN=1,,允许接收,就开始采样,RXD,引脚的,负跳变,。接收完一帧,若,RI=0,且第,9,位为,1(,或,SM2=0),,将接收,8,位数据装入接收,SBUF,,第,9,位,装入,RB8,,使,RI=1,;否则丢弃接收数据,不置位,RI,,继续搜索,RXD,引脚的,负跳变,。,发,送,时,序,写入,SBUF,TXD,输出,TI,RXD,输入,接,收,时,序,RI,D,0,D,1,D,2,D,3,D,4,D,5,D,6,TB,8,停止位,起始位,D,7,D,0,D,1,D,2,D,3,D,4,D,5,D,6,RB,8,停止位,起始位,D,7,检测负跳变,采样脉冲,80C51串行口的,运用,串行口的初始化,串行口的应用编程方法,;,运用举例,80C51,串行口工作方式,0,应用,80C51,串行口工作方式,2,应用,80C51,之间的通信,(,双机、多机通讯,),PC,机与,80C51,的通信,(,双机、多机通讯,),5.3.4,串行口的初始化,采用80C51进行串行通信之前必须对其进行初始化,通讯速度,的设定:波特率,的设定:,1,)确定,T1的工作方式(TMOD寄存器编程);,2,)计算,T1的初值,装载TH1、TL1;,3,)确定,SMOD值(PCON寄存器编程);,4,)启动,T1(TCON中的TR1位置位);,5,)确定,串行口,工作和控制,方式(,SCON寄存器编程);,6,)若串行口在,中断方式,工作时,进行,中断设置,(,IE、IP寄存器编程)。,5.3.5,串行口的应用编程方法,串行口的应用编程,,可依据串行,发送,/,接收,标志位(TI/RI)的状态完成,,方法有:,查询、中断,。,中断方,式,发送,的流程图,中断方,式,接收,的流程图,中断方,式,发送,和,接收,的流程图,查询,方式,接收,的流程图,查询,方式,发送,的流程图,80C51,串行口工作方式,0,应用举例:,【,例,5-1】,用,8051,串行口外接,4094,扩展,8,位,并行输出口,,驱动所连接的,8,只,LED,管循环点亮。接口,扩展如图,5-15,所,示。,图,5-15,方式,0,扩展应用仿真实例,采用查询方式:,ORG 00H,START:MOV SCON,,,#00H,;设置串行口工作方式,0,MOV A,,,#80H,;初始值,NEXT:,CLR P1.0,;允许串行输入,禁止并行输出,MOV SBUF,,,A,;启动串行发送,JNB TI,,,$,;一帧数据发送完?,CLR TI,;发送完成,清除标志位,SETB P1.0,;允许并行输出,ACALL DELAY,;延时,增加亮度,RR A,;准备下一个数据,SJMP NEXT,仿真链接,采用中断方式,采用中断方式:,ORG 0000H,LJMP START,ORG 0023H,;,串行中断入口地址,AJMP INTES,ORG 10H,START:,MOV SCON,#00H,MOV A,#80H,CLR P1.0,;允许串行输入,;禁止并行输出,SETB ES,SETB EA,MOV SBUF,A,SJMP$,INTES:CLR ES,CLR TI,;,串行中断控制,SETB P1.0,;允许并行输出,ACALL DELAY,RR A,CPL P1.0,;允许串行输入,MOV SBUF,A,SETB ES,RETI,发送,程序段:,MOV TMOD,,,#20H,;,T1,方式,2,,定时,MOV TL1,,,#DATA1,;置计数初值,MOV TH1,,,#DATA2,SETB TR1,;,启动,T1,ORL PCON,,,#80H,;置,SMOD=1,MOV SCON,,,#90H,;,串行口为方式,2,,允许接收,SM2=0,SEND:MOV A,,,#DATA,;,取待发送数据,MOV C,,,PSW.0,;,奇偶位送,CY,MOV TB8,,,C,;,奇偶标准位送,TB8,MOV SBUF,,,A ;,发送第一个数,WAIT:JBC TI,NEXT,SJMP WAIT,NEXT:,80C51,串行口工作方式,2,应用举例:,【,例,5-2】,用第,9,位数据作奇偶校验位的应用。,接收,程序段:,MOV TMOD,,,#20H,;,T1,方式,2,,定时,MOV TL1,,,#DATA1,;,置计数初值,MOV TH1,,,#DATA2,SETB TR1,;,启动,T1,ORL PCON,,,#80H,;置,SMOD=1,MOV SCON,,,#,90,H,;,串行口为方式,2,,允许接收,SM2=0,WAIT:JBC RI,RECEIVE,SJMP WAIT,RECEIVE:MOV A,SBUF,JB PSW.0,COMPER ;,接收,数据为,奇,P=1,,,转移,JB RB8,ERROR,;P,0,,RB8,1,转出错,SJMP RIGHT,;P,0,,RB8,0,正确,COMPER:JNB RB8,ERROR,;P,1,,RB8,0,转出错,;,RIGHT:,;,P,1,,RB8,1,;,正确,ERROR:,在,计算机,分布式测控,系统中,经常要利用,串行通信,方式,进行数据,传输。,80C51,单片机的串行口为,计算机间,的通信提供,了极为,便利的,条件。,5.4.1 MCS-51,双机通信技术,双,机通信也称为,点对点,通信,。,短距离通信:将,它们的串行口,直接相连,,即可实现双机,通信。,远距离通信:利用,RS-232C,或,RS-422,标准实现双机通信。,5.4.2 MCS-51,多机通信技术,多个,MCS-51,单片机之间的通信,组成,计算机网络控制系统,。,MCS-51,单片机构成的多机系统常采用,总线型主从式,结构。,所谓主从式,即在数个单片机中,有,一个是主机,,其余的是从机,从机服从主机的调度、支配。,在实际的多机应用系统中,常采用,RS-485,串行标准总线,进行数据传输。,5.4 80C51,之间的通信,5.4.1 MCS-51,双机通信技术,双机通信也称为,点对点通信,。,短距离通信:将它们的串行口,直接相连,,即可实现双机通信。如图,5-22(a),所示,远距离通信:利用,RS-232C,或,RS-422,标准实现双机通信。为了,增加通信距离,,,减少,通道及电源,干扰,,可以在通信线路上采取,光电隔离,的方法,如图,5-22(b),所示。,5.4 80C51,之间的通信,【,例,5-3】,:将系统,1,片内,RAM,中,SOURCE,开始、长度为,LEN,的数据块发送到系统,2,,并存放在片内,RAM,中,TARGET,开始的单元(系统,1,发送、系统,2,接收)。,为保证成功通信、有效,规定发,/,收双方遵守如下“,通信协议,”:,波特率,2400bps,;,系统,1,发送呼叫信号,“,C”,,询问系统,2,是否可以接收数据;,系统,2,收到呼叫信号后,,若同意接收数据则发回,“,A”,作为应答,,否则发,“,D”,表示暂不能接收数据;,系统,1,只有收到系统,2,的应答信号,“,A”,方可,发送数据,给系统,2,,否则继续向系统,2,呼叫,,直到系统,2,同意,接收。,其数据格式为:,数据格式中,“校验和”是指字节数,n,、数据,1,、,、数据,n,这(,n+1,)个字节内容的简单算术累加和。,系统,2,根据接收到的,“校验和,”判断已接收到的数据,是否正确,,,若接收,正确,,则向系统,1,回发,“,R”,信号,,否则回发,“,E”,信号。,系统,1,只有接收到,“,R”,信号才算完成发送任务,返回调用程序,,否则,继续呼叫,重新,发送,。,字节数,n,数据,1,数据,2,数据,3,数据,n,校验和,系统,1,发送子程序:,分析:定时器,T1,初始化为模式,2,,,SMOD=1,,计数初值为(设,fosc,=6MHZ,):,使用串行口方式,1,,允许接收。,根据通信协议及控制要求,可绘制系统,1,发送控制流程图,如图,5-23,所示。,图,5-23,系统,1,发送流程图,;,R0,存放数据块首地址,;,R7,存放发送数据块的长度,;,R6,存放累加和。,MOV TMOD,#20H,;,T1,方式,2,,定时,MOV TL1,#0F3H,;置计数初值,MOV TH1,#0F3H,SETB TR1,;启动,T1,ORL PCON,#80H,;置,SMOD=1,MOV SCON,#50H;,串行口为方式,1,允许接收,SYS1_SEND,:,MOV R0,#SOURCE,;置数据块首地址,MOV R7,#LEN,;数据块长度,MOV R6,#00H,;清累加和寄存器,SYS1_CALL,:,MOV A,,,#C,;发送呼叫信号,C,MOV SBUF,,,A,WAIT1,:,JBC TI,SYS2_AGREE,;等待发送,SJMP WAIT1,SYS2_AGREE:JBC RI,TEST1,SJMP SYS2_AGREE,TEST1,:,MOV A,SBUF,;接收系统,2,应答,CJNE A,#A,SYS1_CALL,;若系统,2,不同意,继续呼叫,MOV A,R7,;发送字节长数,MOV SBUF,A,ADD A,R6,;形成累加和送,R6,MOV R6,A,;存累加和,WAIT2,:,JBC TI,,,SYS1_DATA,;等待发送,SJMP WAIT2,SYS1_DATA,:,MOVX A,,,R0,;发送一个字节数据,MOV SBUF,,,A,ADD A,,,R6,;形成累加和送,R6,MOV R6,,,A,INC R0,;修改地址指针,WAIT3,:,JBC TI,,,NEXT2,;等待发送,SJMP WAIT3,NEXT2,:,DJNZ R7,,,SYS1_DATA,;数据发送完?,MOV A,,,R6,;发送累加和,MOV SBUF,,,A,WAIT4,:,JBC TI,,,TEST2,;等待发送,SJMP WAIT4,TEST2,:,JBC RI,,,RIGHT,;等待系统,2,应答,SJMP TEST2,RIGHT,:,MOV A,,,SBUF,CJNE A,,,#R,,,SYS1_SEND,;系统,2,接收错误,重新发送,RET,;系统,2,接收正确,返回,系统,2,接收子程序:,根据通信协议及控制要求,可绘制系统,2,接收,控制流程,图,,如图,5-24,所,示。,图,5-24,系统,2,接收,控制流程图,;,R1,存放接收数据缓冲区首址,TARGET,;,R7,存放数据块长度,;,R6,存放累加和。,SYS2_RECEIVE,:,MOV TMOD,,,#20H,;定时器,T1,方式,2,,定时,MOV TL1,,,#0F3H,;置计数初值,MOV TH1,,,#0F3H,SETB TR1,;启动,T1,ORL PCON,,,#80H,;,SMOD=1,波特率加倍,MOV SCON,,,#50H,;串行口方式,1,,允许接收,MOV R1,,,#TARGET,;置目的地址指针,MOV R6,,,#00H,;校验和寄存器清零,AGREE,:,JBC RI,,,ACK,;等待接收呼叫信号,SJMP AGREE,ACK,:,MOV A,,,SBUF,CJNE A,,,#C,,,ACK_D,;是呼叫信号,C,?,MOV A,,,#,A,;向系统,1,回送同意接收信号,A,MOV SBUF,,,A,WAIT1:JBC TI,,,REC_DATA,;等待接收数据,SJMP WAIT1,ACK_D:MOV A,,,#D,;向系统,1,回送不同意信号,D,MOV SBUF,,,A,WAIT2:JBC TI,,,AGREE,;重新接收呼叫,SJMP WAIT2,REC_DATA,:,JBC RI,,,BYTE_DATA,;接收数据块长度,SJMP REC_DATA,BYTE_DATA,:,MOV A,,,SBUF,;给,长度,寄存器赋值,MOV,R7,,,A,MOV R6,,,A,;形成累加和,NEXT,:,JBC RI,,,SAVE_DATA,;接收数据,SJMP NEXT,SAVE_DATA,:,MOV A,,,SBUF,;接收数据并保存,MOV R1,,,A,INC R1,;修改地址指针,ADD A,,,R6,;形成累加和,MOV R6,,,A,DJNZ R7,,,NEXT,;数据接收完否?,WAIT3,:,JBC RI,,,REC_TATAL,;接收效验和,SJMP WAIT3,REC_TATAL,:,MOV A,,,SUBF,CJNE A,,,R6,,,REC_ERR0R,;接收正确?,MOV A,,,#R,;向系统,1,应答传送正确信号,R,MOV SBUF,,,A,WAIT4,:,JBC TI,,,RETURN,;正确,返回,SJMP WAIT4,REC_ERR0R,:,MOV A,,,#E,;向系统,1,应答传送错误信号,E,MOV SBUF,,,A,WAIT5,:,JBC TI,,,AGREE,SJMP WAIT5,RETURN,:,RET,5.4.2 MCS-51,多机通信技术,1,、硬件连接,MCS-51,单片机构成的多机系统常采用,总线型主从式,结构。,所谓,主从式,即在数个单片机中,,有一个是主机,,其余的,是从机,,从机服从主机的调度、,支配。,主机发送的信息可以送到各个从机或指定从机,各个从机发送的信息只能被主机接收,,从机与从机之间不能进行通信,。,MCS-51,单片机的串行口方式,2,和方式,3,适于这种主从式的通信结构。当然采用不同的通信标准时,还需进行相应的电平,/,电流转换,有时还要对信号进行光电隔离。在实际的多机应用系统中,常采用,RS-485,串行标准总线,进行数据传输。,串行口控制寄存器,SCON,中的,SM2,为多机通信接口控制位。串行口工作于方式,2,或,3,。,SM2,多机通信位;,TB8/RB8,地址,/,数据区分位,;,关键是,SM2,与,TB8/RB8,的关系!,若,SM,2,=1,(串口方式,2,、,3,接收时),接收,到,的,RB8,为,1,,数据装入,SBUF,,并置,RI=1,,向,CPU,发出中断请求。,接收,到,的,RB8,为,0,,不产生中断,信息将被,丢失。,只能接收地址信息,若,SM,2,=0,,,则接收到,的,RB8,信息,无论是,0,还是,1,,,都产生,RI=1,的中断标志,接收到的数据装入,SBUF,。,既能接收地址信息,也能接收命令、数据信息。,问题,1:,多机通信时主机如何寻找从机?,问题,2:,如何区分地址和数据信息?,2,、通信协议 多机通信的过程:,所有从机的,SM2=1,,,处于只接收地址帧状态,所有同学坐着听讲,主机发地址信息,以第,9,位,TB8=1,表示发送的是地址,老师喊同学名字,从机接收到地址帧后与本机地址比较,所有同学听到名字与自己的名字比较,被寻址从机,回送地址,做应答且,SM2=0,,其它从机,SM2=1,不变,名字相符的同学站起来,(,应答,,SM2=0,,,),主机收到的地址与其发送地址,相同,时。发数据信息,(TB8=0),,对已被寻址的从机因,SM2=0,,,可以接收主机发来的信息。其余从机因,SM2=1,不理睬主机。,老师与站起的同学进行提问,课堂交流,TB8=0,.,数据通信完成或者从机收到复位命令时,被寻址的从机,SM2,置,1,回答问题完毕,或者听到请坐时,同学坐下,(SM2=1),多,机通信控制程序设计:,主机,发送的命令控制,字:,00H-,从机接收,数据,命令,,,01H-,从机发送,数据,命令,,其他,位,非法数据命令,。,主机发送的复位控制字:,FFH-,从机接收,地址命令,,,“地址”,FFH,是对所有从机都起作用的一条控制命令,命令使被寻址从机恢复,SM2=1,的状态。,从,机状态字格式:,D7,D6,D5,D4,D3,D2,D1,D0,ERR,0,0,0,0,0,TRDY,RRDY,ERR=1,:从机接收到,非法命令,;,TRDY=1,:从机,发送准备就绪,;,RRDY=1,:从机,接收准备就绪,。,主机与从机的通信协议,主机,采用,查询收发数据,方式,,主机的串口设为,方式,3,,,允许接收,并置,TB8,为,1,,,因为只有一个主机,所以主机,SCON,中的,SM2,不置,1,,,故控制字为,11,0,1,1,000B,,即,D8H,从机,采用,中断,方式接收数据,采用查询方式发送数据,以确保及时收到主机的通信信息。,从机的串口设为,方式,3,,,允许接收,并置,TB8,为,1,,,SCON,中的,SM2,置,1,,,故控制字为,11,1,1,1,000B,,即,F8H,从机通信程序流程图,主机通信程序流程图,主机,主程序:,START,:,MOV TMOD,,,#20H,;,定时器,T1,方式,2,MOV TH1,,,#0F3H,;,定时器,T1,初值,MOV TL1,,,#0F3H,;,波特率为,2400bps,(,fosc=6M,),SETB TR1,;,启动,T1,工作,MOV SCON,,,#,0D8H,;,串行口方式,3,,允许接收,ORL,PCON,,,#80H,;,SMOD=1,波特率加倍,MOV R0,,,#SOURCE1,;,发送数据块首址送,R0,MOV R1,,,#TARGET1,;,接收数据块首址送,R1,MOV R2,,,#SLAVE,;,被寻址从机地址送,R2,MOV R3,,,#00H/01H,;,00H,,从机接收命令;,01H,,从机发送命令,MOV R4,,,#LEN1,;,发送数据块长度送,R4,MOV R5,,,#LEN2,;,接收数据块长度送,R5,ACALL HOST_COMM,;,调用主机通信子程序,SJMP,;,等待,ORG 0000H,LJMP START,ORG 0023H,LJMP SINTSBV,;转入从机中断服务程序,START:MOV SP,,,#30H,MOV TMOD,,,#20H,;定时器,T1,方式,2,MOV TH1,,,#0F3H,;定时器,T1,初值,MOV TL1,,,#0F3H,;波特率为,2400bps,(,fosc,=6M,),SETB TR1,;启动,T1,工作,MOV SCON,#0F8H,;串行口为方式,3,,允许接收,,SM2=1,,,TB8=1,ORL PCON,,,#80H,;,SMOD=1,波特率加倍,MOV R0
    展开阅读全文
    提示  咨信网温馨提示:
    1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
    5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

    开通VIP折扣优惠下载文档

    自信AI创作助手
    关于本文
    本文标题:第5章单片机串行接口技术.ppt
    链接地址:https://www.zixin.com.cn/doc/13182355.html
    页脚通栏广告

    Copyright ©2010-2026   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork