《串口通信.ppt》由会员分享,可在线阅读,更多相关《串口通信.ppt(46页珍藏版)》请在三一办公上搜索。
1、单片机及其应用,1,3,4,2,串口通信简介,51系列单片机的串行口,单片机串行通信应用技术,51单片机串口编程,PART4 数据采集系统设计,(一)串行通信,鲁东大学 计算机学院,串口通信简介,并行通信与串行通信,与并行传输相反,抗干扰,适合于长距离传输,并行传输-将数据(字符/字)的各位同时传送,串行传输-将数据(字符/字)的各位逐位传送,速度快,但需要多根数据线,适用于距离短,速度快的应用,EX:系统总线,只需要一根数据线(单工/半双工),EX:串行通信口,鲁东大学 计算机学院,串口通信简介,51单片机,外设,并行通信,51单片机,外设,RXD,TXD,RXD,TXD,GND,GND,串
2、行通信,并行通信与串行通信,鲁东大学 计算机学院,串口通信简介,串行传送方式,全双工,半双工,只有一根通信线,但可以分时进行数据发送和接收,B发送,A接收,有两根通信线,数据的发送和接收可以同时进行,单工,只有一根通信线,只能向一个方向传送数据,鲁东大学 计算机学院,串口通信简介,串行通信方式,同步通信,异步通信,通信双方必须建立准确的位定时信号 也就是收/发时钟的频率必须严格地一致,发送/接收过程中各位时间间隔固定 字符之间时间间隔不固定,速度快,适于面向数据块的传送,按字符发送,鲁东大学 计算机学院,串口通信简介,信息帧,同步通信,同步字符:传送数据前,传送同步字符进行联络,信息帧:包含同
3、步字符,数据场,校验字符,数据场:多个数据字节之间没有间隙,连续发送,-通信双方使用统一的时钟,鲁东大学 计算机学院,串口通信简介,异步通信,-通信双方使用各自的时钟,-每次发送一个字符,帧格式如下:,起始位,校验位,停止位,起始位:1个低电平,标识一帧的开始,数据位:5-8个,低位在前,高位在后,奇偶校验位:可以没有,校验数据位正确性,停止位:,高电平,帧与帧之间填充任意个停止位,鲁东大学 计算机学院,串口通信简介,串行传输速率,比特率:每秒钟传送的二进制位数,bps,波特率:每秒钟调制信号变化的次数,Baud,对于将数字信号1或0直接用两种不同电压表示的基带传输比特率=波特率,串行通信常用
4、波特率表示数据传输率,EX:波特率为9600,则每秒可传送9600bit,按照1起始位+8数据位+1停止位的帧格式进行传送,则每秒可传送多少字符?,注意:串行通信双方识别位的时间间隔要相同,所以通信双方的波特率必须一致,鲁东大学 计算机学院,MCS_51的串口,51系列的串口特征,51单片机带有一个可编程 全双工 异步 串行通信接口,通用异步串口Universal Asynchronous Receiveand Transmit port=UART,该串口有四种工作模式,支持多种波特率设置,支持中断控制方式,鲁东大学 计算机学院,MCS_51的串口,51系列的串口结构,SBUF:接收和发送缓冲
5、器,共享同一地址89H,接收/发送过程在移位时钟(波特率)控制下进行,当接收到8位数据后(接收SBUF得到1个字节),置RI有效;,当发送了8位数据(发送SBUF空),置TI有效;,鲁东大学 计算机学院,MCS_51的串口,RXD接收信号,在移位时钟控制下移入移位寄存器,移位寄存器满(8b)送入接收SBUFRI标志位置1,程序读SBUF取走数据,同时清RI,如果RI=0且REN=1,防止未读取被覆盖,TI=1?,将数据写入发送SBUF清除TI,在移位时钟控制下SBUF逐位从TXD送出,如果SBUF已移空表明发送结束TI标志置1,防止未发送完,覆盖,鲁东大学 计算机学院,MCS_51的串口,51
6、串口的特殊功能寄存器SFR,SCON:控制工作模式、接/发送控制以及串口状态标志,PCON:设置波特率参数,SCON,SCON,SM0、SM1:,00-方式0,同步移位寄存器,波特率fosc/12,01-方式1,10位(8位数据)异步收发,波特率T1控制,10-方式2,11位(9位数据)异步收发,fosc/32或fosc/64,01-方式3,11位(9位数据)异步收发,波特率T1控制,地址98H,可以位寻址,鲁东大学 计算机学院,MCS_51的串口,51串口的特殊功能寄存器SFR,SCON:控制工作模式、接/发送控制以及串口状态标志,PCON:设置波特率参数,SCON,SCON,SM0、SM1
7、:工作方式控制位,方式2、3中使用,控制接收条件,SM2=1,只有当RB8=1,才能激活RI,接收数据,SM2:多机通信控制位,鲁东大学 计算机学院,MCS_51的串口,51串口的特殊功能寄存器SFR,SCON:控制工作模式、接/发送控制以及串口状态标志,PCON:设置波特率参数,SCON,SCON,SM0、SM1:工作方式控制位,SM2:多机通信控制位,REN:允许接收控制位,只有当RI=0且REN=1,允许接收,鲁东大学 计算机学院,MCS_51的串口,51串口的特殊功能寄存器SFR,SCON:控制工作模式、接/发送控制以及串口状态标志,PCON:设置波特率参数,SCON,SCON,SM0
8、、SM1:工作方式控制位,SM2:多机通信控制位,REN:允许接收控制位,TB8、RB8:发送/接收的第9位数据,TI、RI:发送/接收的中断标记位,鲁东大学 计算机学院,MCS_51的串口,51串口的特殊功能寄存器SFR,SCON:控制工作模式、接/发送控制以及串口状态标志,PCON:设置波特率参数,PCON,SMOD:波特率倍增位,PCON,地址87H,不可位寻址,当工作于方式1、2、3时,波特率与2SMOD成正比,即:SMOD=1时,波特率提高1倍,EX:当串口工作于方式2时,SMOD=0,波特率为 fosc/64 SMOD=1,波特率为 fosc/32,鲁东大学 计算机学院,或 fos
9、c/64,方式3-9位UART,方式0-同步移位寄存器,方式2-9位UART,MCS_51的串口,51串口的工作方式,SM1、SM0,方式说明,波特率,00,01,10,11,方式1-8位UART,fosc/12,fosc/32,T1溢出率,T1溢出率,鲁东大学 计算机学院,MCS_51的串口,方式0-同步移位寄存器,数据格式:8位数据位,无起始/校验/停止位,主要用于扩展I/O口-并行8位输入/输出口,51单片机,RXD,TXD,74LS164,CLK,CLR,P1.0,74LS164-串并转换芯片,RXD:输入/输出数据,TXD:输出同步移位脉冲,fosc/12,鲁东大学 计算机学院,MC
10、S_51的串口,方式0-同步移位寄存器,数据格式:8位数据位,无起始/校验/停止位,主要用于扩展I/O口-并行8位输入/输出口,51单片机,RXD,TXD,74LS165,Q,CLK,S/L,P1.0,74LS165-并串转换芯片,RXD:输入/输出数据,TXD:输出同步移位脉冲,fosc/12,鲁东大学 计算机学院,MCS_51的串口,方式1、2、3-8位/9位异步收发器(UART),这三种方式用于异步串行通信,方式1,采用8位数据位通信帧,8位数据位,1位起始位,1位停止位,方式2、3,采用9位数据位通信帧,9位数据位,1位起始位,1位停止位,第9位 RB8/TB8,第9位,可用于传送奇偶
11、校验位或者帧类型标志,鲁东大学 计算机学院,MCS_51的串口,波特率计算,方式2,波特率固定,波特率=2SMOD*fosc/64,SMOD=0,fosc/64,SMOD=1,fosc/32,方式1、3,波特率由T1溢出率决定,波特率=2SMOD*T1溢出率/32,SMOD=0,T1溢出率/32,SMOD=1,T1溢出率/16,当使用T1作为波特率发生器时,需要将T1设置为工作方式2(自动重装的8位定时器),且TR1=1,启动T1,鲁东大学 计算机学院,MCS_51的串口,波特率计算,方式1、3,波特率由T1溢出率决定,波特率=2SMOD*T1溢出率/32,T1定时时间=(28-计数初值)*1
12、2/fosc,T1溢出率=1/T1定时时间=fosc/12*(28-计数初值),EX:对于常用波特率9600 baud,T1的初值应设为多少?若SMOD=0,则 波特率=T1溢出率/32=fosc/32*12*(28-计数初值)=9600 设:fosc=12MHz(11.0592MHz),T1的初值=FDH,鲁东大学 计算机学院,MCS_51的串口,波特率计算,常用波特率及参数设置,鲁东大学 计算机学院,MCS_51的串口编程,串口基本编程,(1)串口工作模式初始化(2)波特率参数设置(3)中断初始化,SCON设置,TMOD设置 TH1/TL1设置 SMOD设置,IE/IP设置,初始化,查询控
13、制方式 OR 中断控制方式,数据传送,鲁东大学 计算机学院,MCS_51的串口编程,EX:单片机系统向外发送“READY”字符串,然后等待接收“OK”,结束。波特率定为9600Baud,帧格式为8位数据位,无校验位。,串口基本编程举例,串口初始化,数据传送,数据发送,数据接收,查询方式,中断方式,鲁东大学 计算机学院,MOV SCON,#01000000B,MCS_51的串口编程,串口基本编程-初始化,波特率9600Baud,帧格式为8位数据位,无校验位。,选择工作方式,波特率9600,难以符合fosc/64*2SMOD,选择工作方式1-波特率可变的8位UART,且帧格式为8位数据位,波特率设
14、置,根据波特率计算公式:,波特率=fosc*2SMOD/(32*12*(28-计数初值),当fosc=11.0592MHz时,SMOD=0,初值=FDH,MOV TMOD,#00100000B,MOV TL1,#0FDH,MOV TH1,#0FDH,ANL PCON,#7FH,SETB TR1,鲁东大学 计算机学院,MCS_51的串口编程,串口基本编程-发送,查询控制方式,将发送信息写入SBUF,查询TI是否为1,将TI清零,再次发送,发送READY?字符串,STR1:DB 52H,45H,41H,44H,59H,3FH,00H,;READY?字符串 ASCII码定义,MOV DPTR,#ST
15、R1,MOV R0,#0,为访问STR1准备,MOVC A,A+DPTR,MOV SBUF,A,JNB TI,$,CLR TI,INC R0,MOVC A,A+DPTR,JNZ AGAIN,AGAIN:,MOV A,#0,MOV A,R0,鲁东大学 计算机学院,MCS_51的串口编程,串口基本编程-发送,中断控制方式,查询控制方式,将发送信息写入SBUF,查询TI是否为1,将TI清零,再次发送,中断服务程序:,将发送信息写入SBUF,将TI清零,中断返回,程序修改,鲁东大学 计算机学院,MCS_51的串口编程,串口基本编程-接收,查询控制方式,打开接收使能REN,查询RI是否为1,从SBUF读
16、取接收的数据,清除标记RI,等待接收OK字符串,R_BUF EQU 70H,;检测字符串结束标记0,判断结束。,SETB REN,JNB RI,$,MOV A,SBUF,JNZ AGAIN,MOV R0,#R_BUF,CLR RI,MOV R0,A,AGAIN:,;定义接收缓冲区起始位置70H,例程实现,鲁东大学 计算机学院,MCS_51的串口编程,串口基本编程-接收,查询控制方式,打开接收使能REN,查询RI是否为1,从SBUF读取接收的数据,清除标记RI,中断控制方式,中断服务程序:,从SBUF中读取数据,将RI清零,中断返回,程序修改,鲁东大学 计算机学院,MCS_51的串口编程,串口基
17、本编程举例-2-应用9位数据位帧格式(方式2、3)进行数据校验,EX:单片机系统以16个一组接收以ASCII码形式发送的数据(00H7FH),并采用1位校验位帧格式,对每个接收到的数据进行偶校验。如果发现数据错误,则向发送方回送错误标记FFH,请求重发。,发送部分,接收部分,接收数据,检测RB8,如果错误,则置错误标记,否则放入缓冲区,如果错误标记为1,则回送FFH,鲁东大学 计算机学院,MCS_51的串口编程,初始化部分,MOV SCON,#11010000B,;选择模式3(9位波特率可变的UART),MOV TMOD,#01000000B,MOV TL1,#0FDH,MOV TH1,#0F
18、DH,ANL PCON,#7FH,SETB TR1,;波特率仍选9600,与前面相同,主程序,MOV ERR,#0,MOV R0,#R_BUF,检测错误标记,发送错误标记FFH,缓冲区索引=16,接收数据,结束,已接收16字节,鲁东大学 计算机学院,MCS_51的串口编程,接收子程序,检测RI,接收一个数据,检测TB8=PSW的P位,将数据写入缓冲区,置错误标记,修改缓冲区索引,发送FFH子程序,将FFH写入SBUF,清除错误标记,清除TI,检测TI,鲁东大学 计算机学院,单片机串口通信应用,主从式多机通信,主机,RXD,TXD,主机:-启动一次通信的过程,从机:-只能响应主机启动的通信过程,
19、询问/发送,应答主机询问,鲁东大学 计算机学院,单片机串口通信应用,主从式多机通信,主机,RXD,TXD,每个从机有地址,主机在通信时,首先发出地址帧,只有地址与其匹配的从机应答主机,而后主机发送数据,也只有该从机能够接收。,00H,01H,N(=FFH),工作于方式2或3,利用SM2位和TB8位配合,鲁东大学 计算机学院,单片机串口通信应用,TB8用于标识帧类型:TB8=1 地址帧TB8=0 数据帧,主从式多机通信流程,起始:所有从机SM2=1,准备接收主机发送的地址帧,只有RB8=1,接收,否则丢掉,从机接收到地址帧后与自身地址比较,相同,则将SM2=0,准备接收数据,否则保持SM2不变,
20、SM2=0,才能接受RB8=0的数据,从机改变SM2后,给主机发送OK应答帧。主机接收后,发送数据,以0结束。,从机接收到0后,获知此次通信结束,将SM2位重新置1准备接收下次通信的地址帧,鲁东大学 计算机学院,单片机串口通信应用,主机端,从机端,发送地址帧,初始化,等待接收应答,查询20次无应答,依次发送各数据,下次通信,重发,初始化,SM2=1,等待接收,与自身地址比较,SM2=0,回送应答,接收数据,察看是否为0,是,此次结束,SM2=1,否,鲁东大学 计算机学院,控制系统常用串口通信标准,单片机串口通信应用,RS-232,RS-232C是EIA(美国电子工业协会)1969年修订标准,机
21、械特性,电气特性,功能特性,规程特性,25针D型口和9针D型口,针排列及定义,常用9针口,鲁东大学 计算机学院,控制系统常用串口通信标准,单片机串口通信应用,RS-232,RS-232C是EIA(美国电子工业协会)1969年修订标准,机械特性,电气特性,功能特性,规程特性,RS-232C“1”:-3-15“0”:+3+15,TTL“1”:+5V“0”:0V,需要转换,常用转换芯片:MAX232,TTL和RS232C双向转换,鲁东大学 计算机学院,控制系统常用串口通信标准,单片机串口通信应用,RS-232,机械特性,电气特性,功能特性,规程特性,鲁东大学 计算机学院,控制系统常用串口通信标准,单
22、片机串口通信应用,RS-232,机械特性,电气特性,功能特性,规程特性,鲁东大学 计算机学院,控制系统常用串口通信标准,单片机串口通信应用,RS-232,机械特性,电气特性,功能特性,规程特性,规定了各种信号的连接方式和时序关系。,计算机,Modem,RXD,TXD,CTS,RTS,Modem,计算机,TXD,RXD,RTS,CTS,远程通信,使用MODEM,鲁东大学 计算机学院,控制系统常用串口通信标准,单片机串口通信应用,RS-232,机械特性,电气特性,功能特性,规程特性,规定了各种信号的连接方式和时序关系。,计算机,RXD,TXD,计算机,TXD,RXD,近程通信,直接连接,GND,G
23、ND,鲁东大学 计算机学院,单片机串口通信应用,控制系统常用串口通信标准,RS-485,RS-232C特点:速率低,最大通信速率20kb/s距离短,最大通信距离15m抗干扰性差,采用差分传输方式,抑制干扰性好,传输距离最大1200M,半双工,点对多点结构,一个485网络中最多有32个通信模块,速度快,最大通信速率1Mb/s,鲁东大学 计算机学院,电平,TTL,电平,TTL,双向仅需2条线,单片机串口通信应用,控制系统常用串口通信标准,RS-485,速度快,最大通信速率1Mb/s距离长,最大通信距离1200M抗干扰性好半双工 点对多点,RXD,TXD,TXD,RXD,MAX485,主从式多机串行通信网络一般采用RS-485网络,鲁东大学 计算机学院,小结,串口基本知识,MCS_51串口及应用,串口与并口通信特点,串口传送方式,串口通信方式,串口传输速率,MCS_51串口结构,MCS_51串口设置-SFR,MCS_51串口工作方式,MCS_51串口波特率设置,MCS_51串口应用编程,常用串口标准介绍,
链接地址:https://www.31ppt.com/p-5776976.html