单片机串行通讯及其接口课件.ppt

上传人(卖家):晟晟文业 文档编号:4291709 上传时间:2022-11-26 格式:PPT 页数:103 大小:1.90MB
下载 相关 举报
单片机串行通讯及其接口课件.ppt_第1页
第1页 / 共103页
单片机串行通讯及其接口课件.ppt_第2页
第2页 / 共103页
单片机串行通讯及其接口课件.ppt_第3页
第3页 / 共103页
单片机串行通讯及其接口课件.ppt_第4页
第4页 / 共103页
单片机串行通讯及其接口课件.ppt_第5页
第5页 / 共103页
点击查看更多>>
资源描述

1、计算机与外部设备或计算机与计算机之间的数据交换称为通信计算机与外部设备或计算机与计算机之间的数据交换称为通信。9.1.1 串行通信的基本概念串行通信的基本概念串行通信串行通信:将数据分成:将数据分成1位位1位的形式在一条传输位的形式在一条传输线上逐个地传送线上逐个地传送。并行通信并行通信:将数据的各位:将数据的各位用用多条数据线同时进行传送多条数据线同时进行传送,外加地址线和通信控制线。外加地址线和通信控制线。并行通信并行通信常用于集成电路芯片的内部、同一插件常用于集成电路芯片的内部、同一插件板上各部件之间、同一机箱内各插件板之间的信板上各部件之间、同一机箱内各插件板之间的信息交互息交互串行通

2、信串行通信常用于设备之间的信息交互常用于设备之间的信息交互 串行通信串行通信1)交互数据信息和控制信息)交互数据信息和控制信息 2)有严格的格式(同步和异步)有严格的格式(同步和异步)3)电平需要转换电平需要转换 若接收端与发送端使用的若接收端与发送端使用的不是同一时钟信不是同一时钟信号(但号(但必须必须同频率同频率),则为异步通信。),则为异步通信。以字符为单位,一个字符一个字符地传送,并且以字符为单位,一个字符一个字符地传送,并且每一个字符要有每一个字符要有起始符起始符和和停止符停止符作为开始和结束的作为开始和结束的标志。(标志。(一个字符就是一帧一个字符就是一帧)根据数据传输方式的不同,

3、可将串行通信分根据数据传输方式的不同,可将串行通信分为同步通信和异步通信。为同步通信和异步通信。停止位后面是不定长的空闲位。停止位后面是不定长的空闲位。数据的传送可以是数据的传送可以是不连续不连续的。的。每帧数据由每帧数据由4部分组成:起始位部分组成:起始位(占占1位位)、数、数据位据位(占位占位)、奇偶校验位、奇偶校验位(占位,也可以没占位,也可以没有校验位有校验位)、停止位、停止位(占占1或或2位位)。起始位起始位:1位。位。低电平低电平(逻辑(逻辑0)。标志一个字)。标志一个字符传送的开始。符传送的开始。数据位数据位:58位。低位在前,高位在后。字符位。低位在前,高位在后。字符编码方式的

4、不同,使得数据可以是编码方式的不同,使得数据可以是58位。位。奇偶校验位奇偶校验位:1位。检查字符传送的准确性。有位。检查字符传送的准确性。有三种方式:三种方式:奇校验、偶校验和无校验奇校验、偶校验和无校验,由用户,由用户决定。决定。停止位停止位:1位、位、1位半或者两位(位半或者两位(高电平高电平逻逻辑辑1)。标志一个字符传送的结束。)。标志一个字符传送的结束。发送方发送方:传送时先输出:传送时先输出起始位起始位“”作为联络作为联络信信号,接下来的是数据位和奇偶校验位,停止位号,接下来的是数据位和奇偶校验位,停止位“1”表示一个字符的结束。其中,数据的表示一个字符的结束。其中,数据的低位在前

5、,高低位在前,高位在后位在后。字符之间允许有不定长度的空闲位。字符之间允许有不定长度的空闲位。接收方接收方:传送开始后,接收设备不断检测传输:传送开始后,接收设备不断检测传输线的电平状态,当收到一系列的线的电平状态,当收到一系列的“1”(空闲位或停空闲位或停止位止位)之后,之后,检测到一个检测到一个“”,说明起始位出现,说明起始位出现,就开始接收所规定的数据位和奇偶校验位以及停止就开始接收所规定的数据位和奇偶校验位以及停止位。位。特点特点:所需传输线少,设备开销较小,在单片:所需传输线少,设备开销较小,在单片机控制系统中得到广泛的应用。机控制系统中得到广泛的应用。但每个字符要附加但每个字符要附

6、加23位用于起止位,各帧之间位用于起止位,各帧之间还有间隔,因此传输效率不高。还有间隔,因此传输效率不高。工作流程工作流程目的目的:提高可靠性:提高可靠性方法:奇偶校验法、校验和法方法:奇偶校验法、校验和法校验方法校验方法基本思想基本思想:依据偶校验或奇校验原则,比较依据偶校验或奇校验原则,比较发送方和接发送方和接收方的校验位是否相同。收方的校验位是否相同。奇偶校验法的缺点:奇偶校验法的缺点:1.每次需要传送检验位。每次需要传送检验位。2.不能监测偶数个错误。不能监测偶数个错误。2.校验和方法校验和方法特点:校验和方法效率更高,可靠性更高。特点:校验和方法效率更高,可靠性更高。同步通信是一种同

7、步通信是一种数据连续传输数据连续传输的串行通信方式,的串行通信方式,通信时发送方把需要发送的通信时发送方把需要发送的多个字节数据和校验信息多个字节数据和校验信息连接起来,组成数据块。连接起来,组成数据块。发送发送时,发送方只需在数据块前插入时,发送方只需在数据块前插入12个特殊个特殊的的同步字符同步字符,然后按特定速率逐位输出,然后按特定速率逐位输出(发送发送)数据块数据块内的各位数据。内的各位数据。接收方接收方在接收到特定的在接收到特定的同步字符同步字符后,也按后,也按相同速相同速率率接收数据块内的各位数据。接收数据块内的各位数据。1 1)单工方式:这种方式只允许数据按一个固定)单工方式:这

8、种方式只允许数据按一个固定的方向传输。的方向传输。接收端AB发送端数据流通信链路数据传输仅能从发送设备传输到接收设备。数据传输仅能从发送设备传输到接收设备。2 2)半双工方式:数据可以从)半双工方式:数据可以从A A发送到发送到B B,也可以,也可以由由B B发送到发送到A A。但。但A A、B B之间只有一根传输线,因此同之间只有一根传输线,因此同一时刻只能作一个方向的传送。其传送方向由收发一时刻只能作一个方向的传送。其传送方向由收发控制开关控制开关K K切换。平时一般让切换。平时一般让A A、B B方都处于接收状方都处于接收状态,以便能够随时响应对方的呼叫。态,以便能够随时响应对方的呼叫。

9、接收端发送端A接收端发送端BKK数据流通信链路两个串行通信设备之间只有一条数据线,数据传输两个串行通信设备之间只有一条数据线,数据传输可以沿两个方向,但需要可以沿两个方向,但需要分时进行分时进行。3 3)全双工方式:数据可同时在两个方向上传送。)全双工方式:数据可同时在两个方向上传送。3种方式中,种方式中,1)全双工方式的效率最高;)全双工方式的效率最高;2)半双工方式配置和编程相对灵活,传输成本较低)半双工方式配置和编程相对灵活,传输成本较低;3)串行通信设备常选用半双工方式。)串行通信设备常选用半双工方式。9.1.1.5波特率(波特率(Baud rate)单位:单位:bps(bit per

10、 second)定义:每秒钟传送的二进制位数。定义:每秒钟传送的二进制位数。Baudrate:50 19200 57600 50,100,150,300,600,1200,2400,4800,9600,19200,38400,57600,115200 如每秒传送如每秒传送240个字符,而每个字符格式包含个字符,而每个字符格式包含10位这位这时的波特率为时的波特率为10位位(bit)240个个/s=2400 bit/s。在异步串行通信中,接收方和发送方应使用在异步串行通信中,接收方和发送方应使用相同的相同的波特率波特率,才能成功传送数据。,才能成功传送数据。Baudrate9600bps 对应于

11、一个数据位宽约为104us。数据位宽数据位宽(每一位代码的传输时间每一位代码的传输时间)Td 1/Baudrate异步串口硬件连线方式异步串口硬件连线方式1.4 种工作方式的特点是什么?分别应用种工作方式的特点是什么?分别应用 于什么场合?于什么场合?2.如何启动发送和接收过程?如何启动发送和接收过程?3.首先移出或发送的是首先移出或发送的是D0,还是,还是D7?(9AH10011010B)4.在接收数据过程中采用了什么措施提在接收数据过程中采用了什么措施提 供可靠性?供可靠性?5.TI 标志和标志和RI 标志何时会自动置标志何时会自动置1?6.哪些情况下传送的数据会丢失哪些情况下传送的数据会

12、丢失?MCS-51的串行口主要由的串行口主要由两个独立的两个独立的串行数据缓串行数据缓冲寄存器冲寄存器SBUF(一个发送缓冲寄存器,一个接收缓(一个发送缓冲寄存器,一个接收缓冲寄存器),冲寄存器),发送控制器发送控制器、接收控制器、输入移位接收控制器、输入移位寄存器寄存器及若干及若干控制门电路控制门电路组成。基本结构如图所示。组成。基本结构如图所示。9.2.1 串行口的组成串行口的组成 MCS-51 MCS-51可以通过特殊功能缓冲器可以通过特殊功能缓冲器SBUFSBUF对串行接收对串行接收或串行发送寄存器进行访问,或串行发送寄存器进行访问,两个缓冲器两个缓冲器共用一个地址共用一个地址99H9

13、9H,由,由指令操作指令操作决定访问哪一个缓冲器。决定访问哪一个缓冲器。执行写时访问串行发送缓冲器,读时访问接收缓冲执行写时访问串行发送缓冲器,读时访问接收缓冲器。发送缓冲器只能写入,不能读出;接收缓冲器只能读器。发送缓冲器只能写入,不能读出;接收缓冲器只能读出,不能写入。出,不能写入。接收器具有接收器具有双缓冲结构双缓冲结构,即在从接收缓冲器中读出,即在从接收缓冲器中读出前一个已收到的字节之前,便能接收第二个字节,前一个已收到的字节之前,便能接收第二个字节,如果第如果第二个字节已经接收完毕,第一个字节还没有读出,则将丢二个字节已经接收完毕,第一个字节还没有读出,则将丢失其中一个字节,失其中一

14、个字节,编程时应引起注意。编程时应引起注意。对于发送器,因为数据是由对于发送器,因为数据是由CPUCPU控制和发送的,所控制和发送的,所以不需要考虑。以不需要考虑。(2)SM2 多机通信控制位多机通信控制位 用于方式用于方式2或方式或方式3中。中。9.2.1.2 特殊功能寄存器特殊功能寄存器PCON 字节地址为字节地址为87H,没有位寻址功能,没有位寻址功能,需要字节传送需要字节传送。MCS-51MCS-51单片机串行口共有单片机串行口共有4 4种工作方式,种工作方式,SMSM0 0、SMSM1 1是串行接口的工作方选择位,如表所示。是串行接口的工作方选择位,如表所示。串行接口中的串行接口中的

15、4种工作方式中,种工作方式中,串行通信串行通信只使用只使用方式方式1、方式、方式2、方式、方式3。方式方式0主要用于扩展主要用于扩展并行输入输出口并行输入输出口。9.2.2 串行口的串行口的4种工作方式种工作方式 方式方式0 0是把串行接口作为同步移位寄存器使用。是把串行接口作为同步移位寄存器使用。其波特率是其波特率是固定的,为固定的,为fosc/12fosc/12,即一个机器周期,即一个机器周期移位一次。移位一次。数据由数据由RXDRXD端输出或输入端输出或输入,同时由,同时由TXDTXD端输出同端输出同步移位脉冲信号步移位脉冲信号。移位数据的发送和接收以一个字符的移位数据的发送和接收以一个

16、字符的8 8位为一位为一组,组,不设起始位和停止位。不设起始位和停止位。低位在前低位在前,高位在后高位在后。其格式为:。其格式为:D0D1D2D3D4D5D6D7时序如下:时序如下:串行接口为串行接口为同步移位寄存器的输入同步移位寄存器的输入/输出方式,输出方式,而不是通信方式,而不是通信方式,可外接移位寄存器,可外接移位寄存器,用于扩展并用于扩展并行行I/O接口。接口。数据数据都由都由RXD(P3.0)引脚输入或输出,引脚输入或输出,TXD引脚引脚 总是用于总是用于输出同步移位脉冲输出同步移位脉冲。)1256(12THfosc溢出周期)1256(121THfTosc溢出率)1256(1232

17、231SMODTHfosc的波特率和方式 实际上是先给定数据传输速率,根据速率来确实际上是先给定数据传输速率,根据速率来确定计数初值定计数初值N N12322256SMOD波特率oscfN 例例 若若8031单片机的时钟振荡频率为单片机的时钟振荡频率为11.0592MHz,选用,选用T1为方式为方式2定时作为波特率发生器,定时作为波特率发生器,波特率为波特率为2400b/s,求初值。,求初值。这里时钟振荡频率选为这里时钟振荡频率选为11.0592 MHz,就可使初,就可使初值为整数,从而产生精确的波特率。值为整数,从而产生精确的波特率。HFfNosc424412324.2100592.1122

18、561232225630SMOD波特率 例例 使用使用MCS-51MCS-51单片机串行工作收发字节字符,并要求偶校验,单片机串行工作收发字节字符,并要求偶校验,要求传送波特率为要求传送波特率为1200 baud1200 baud。解解 分析:因要求有校验位,故为串行工作方式分析:因要求有校验位,故为串行工作方式2 2或方式或方式3 3,又因,又因波特率为波特率为1200 baud1200 baud,故只能在方式,故只能在方式3 3下工作。定义定时器下工作。定义定时器1 1采用工采用工作方式作方式2 2。由表可知,定时器。由表可知,定时器T T1 1的初始值为的初始值为0E8H0E8H,设发送

19、数据区的,设发送数据区的首地址为首地址为20H20H,接收数据后的首地址为,接收数据后的首地址为40H40H。主程序:主程序:MOV TMODMOV TMOD,#20H#20H ;设置定时器;设置定时器1 1工作方式工作方式2 2MOV TLMOV TL1 1,#0E8H#0E8HMOV MOV THTH1 1,#0E8H#0E8H MOV RMOV R0 0,#20H#20HMOV RMOV R1 1,#40H#40HSETB TRSETB TR1 1 ;启动定时器;启动定时器1 1MOV SCONMOV SCON,#OEOH#OEOH ;设置串行工作方式;设置串行工作方式3,3,接收允许接

20、收允许SETB EASETB EASETB ESSETB ESACALL SENDACALL SENDSJMP$SJMP$中断服务程序:中断服务程序:ORG 0023H ORG 0023H ;串行中断入口;串行中断入口 AJMP SER AJMP SER SER:JNB RISER:JNB RI,SEN SEN ;不是;不是RIRI中断(即为中断(即为TITI中断)中断)转发送子程序转发送子程序 ACALL RECIVE ACALL RECIVE ;是;是RIRI中断转接收子程序中断转接收子程序 SJMP NEXT SJMP NEXTSEN:ACALL SENDSEN:ACALL SENDNE

21、XT:RETINEXT:RETI发送子程序:发送子程序:SEND:MOV A,RSEND:MOV A,R0 0 MOV C,P MOV C,P ;置偶校验位;置偶校验位 MOV TB MOV TB8 8,C,C INC R INC R0 0 MOV SBUF MOV SBUF,A A CLR TI CLR TI ;TITI清清零零 RET RET接收子程序:接收子程序:RECIVERECIVE:MOV A,SBUFMOV A,SBUF MOV C,RBMOV C,RB8 8 ;取校验位;取校验位 MOV R MOV R1 1,A A INC R INC R1 1 CLR RI CLR RI ;

22、RIRI清清0 0 RET RET 单片机串行接口主要用于计算机之间的串行通单片机串行接口主要用于计算机之间的串行通信,包括两单片机之间多个单片机以及单片机与信,包括两单片机之间多个单片机以及单片机与PCPC机之间的串行通信。机之间的串行通信。两台两台MCS-51MCS-51单片机可采用三线零调制解调方式连单片机可采用三线零调制解调方式连接,两台单片机的发送端接,两台单片机的发送端TXDTXD与接收端的与接收端的RXDRXD交错相交错相连,地线相连,即完成硬件的连接。连,地线相连,即完成硬件的连接。两个两个MCS-51MCS-51单片机相距在单片机相距在几米之内几米之内两个两个MCS-51MC

23、S-51单片机相距在单片机相距在几米以外几米以外如果双机通讯距离在如果双机通讯距离在3030米之内,可利用米之内,可利用RS-232CRS-232C标标准接口实现点对点的双机通讯准接口实现点对点的双机通讯0/12oscMode Baud RatefSMOD2264oscMode Baud Ratef21,3(1)32232122561SMODSMODoscModeBaud RateTimer OverflowRatefTH21,332122561SMODoscfModeBaud RateTHA 机发送:机发送:SEND:MOV A,R0MOV C,P;P按偶校验原则置位按偶校验原则置位MOV

24、TB8,C;存入检验位;存入检验位MOV SBUF,ASWAIT:JBC TI,NEXTSJMP SWAITNEXT:INC R0DJNZ R7,SENDRETB 机接收:机接收:RWAIT:JBC RI,REVSJMP RWAITREV:MOV A,SBUFJNB P,ISNP;P=0JNB RB8,ISERR;P=1 但但RB8=0SJMP SAVE;P=1,RB8=1ISNP:JB RB8,ISERR;P=0,但但RB81SAVE:MOV R0,AINC R0DJNZ R7,RWAITRETISERR:SETB F0;PSW.5 置出错标志为置出错标志为1SJMP SAVEA 机发送:机

25、发送:SEND:MOV A,R0MOV SBUF,AADD A,R2MOV R2,A ;计算校验和;计算校验和 ;仅保留低;仅保留低 8 位位JNB TI,$CLR TI B 机接收:机接收:REV:JNB RI,$CLR RIMOV A,SBUFMOV R0,AADD A,R2;计算校验和计算校验和MOV R2,A;接收校验和、比较、设置标志信息;接收校验和、比较、设置标志信息JNB RI,$CLR RIMOV A,SBUFCJNE A,02H,ERR ;默认为默认为0 组组 ;寄存器中的寄存器中的R2MOV A,#00HSJMP MIXERR:MOV A,#0FFHMIX:思考:思考:1.

26、R2 有何作用?有何作用?2.与与“奇偶校验法奇偶校验法”相比相比“校验和校验和”方法方法有何优点?有何优点?A 方:方:CONTACT:MOV SBUF,#0AAHJNB TI,$CLR TIACALL D5MSJNB RI,CONTACTCLR RIMOV A,SBUFCJNE A,#0BBH,CONTACT;联络成功联络成功B 方:方:CONTACT:JNB RI,$CLR RIMOV A,SBUFCJNE A,#0AAH,CONTACTMOV SBUF,#0BBHJNB TI,$CLR TI;联络成功联络成功Baudrate9600bps,发送一个字节,发送一个字节(10bits)所需

27、要的时间)所需要的时间1.04 ms SCON=0101 0000B=50H;UART 方式1,允许接收 PCON=00H(SMOD=0)程序如下:程序如下:START:MOV TMOD,#20H MOV TH1,#0F4H ;设置波特率所;设置波特率所 ;要求的时间常数要求的时间常数MOV TL1,#0F4HSETB TR1 ;启动;启动T1MOV SCON,#0D0H;方式;方式3接收接收MOV PCON,#00H ;使;使SMOD=0 MOV R1,#20H ;数据块首址;数据块首址MOV R7,#10H RX:ACALL RXSUB ;调接收子程序;调接收子程序INC R1 ;准备取一个数;准备取一个数DJNZ R7,RXRET

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(单片机串行通讯及其接口课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|