已阅读5页,还剩41页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机及其应用,1,3,4,2,Chap7串行通信,串口通信简介,51系列单片机的串行口,单片机串行通信应用技术,51单片机串口编程,1,鲁,串口通信简介,并行通信与串行通信,与并行传输相反,抗干扰,适合于长距离传输,并行传输-将数据(字符/字)的各位同时传送,串行传输-将数据(字符/字)的各位逐位传送,速度快,但需要多根数据线,适用于距离短,速度快的应用,EX:系统总线,只需要一根数据线(单工/半双工),EX:串行通信口,2,鲁,串口通信简介,51单片机,外设,并行通信,51单片机,外设,RXD,TXD,RXD,TXD,GND,GND,串行通信,并行通信与串行通信,3,鲁,串口通信简介,串行传送方式,全双工,半双工,只有一根通信线,但可以分时进行数据发送和接收,B发送,A接收,有两根通信线,数据的发送和接收可以同时进行,单工,只有一根通信线,只能向一个方向传送数据,4,鲁,串口通信简介,串行通信方式,同步通信,异步通信,通信双方必须建立准确的位定时信号也就是收/发时钟的频率必须严格地一致,发送/接收过程中各位时间间隔固定字符之间时间间隔不固定,速度快,适于面向数据块的传送,按字符发送,5,鲁,串口通信简介,信息帧,同步通信,同步字符:传送数据前,传送同步字符进行联络,信息帧:包含同步字符,数据场,校验字符,数据场:多个数据字节之间没有间隙,连续发送,-通信双方使用统一的时钟,6,鲁,串口通信简介,异步通信,-通信双方使用各自的时钟,-每次发送一个字符,帧格式如下:,起始位,校验位,停止位,起始位:1个低电平,标识一帧的开始,数据位:5-8个,低位在前,高位在后,奇偶校验位:可以没有,校验数据位正确性,停止位:,高电平,帧与帧之间填充任意个停止位,7,鲁,串口通信简介,串行传输速率,比特率:每秒钟传送的二进制位数,bps,波特率:每秒钟调制信号变化的次数,Baud,对于将数字信号1或0直接用两种不同电压表示的基带传输比特率=波特率,串行通信常用波特率表示数据传输率,EX:波特率为9600,则每秒可传送9600bit,按照1起始位+8数据位+1停止位的帧格式进行传送,则每秒可传送多少字符?,注意:串行通信双方识别位的时间间隔要相同,所以通信双方的波特率必须一致,8,鲁,MCS_51的串口,51系列的串口特征,51单片机带有一个可编程全双工异步串行通信接口,通用异步串口UniversalAsynchronousReceiveandTransmitport=UART,该串口有四种工作模式,支持多种波特率设置,支持中断控制方式,9,鲁,MCS_51的串口,51系列的串口结构,SBUF:接收和发送缓冲器,共享同一地址89H,接收/发送过程在移位时钟(波特率)控制下进行,当接收到8位数据后(接收SBUF得到1个字节),置RI有效;,当发送了8位数据(发送SBUF空),置TI有效;,10,鲁,MCS_51的串口,RXD接收信号,在移位时钟控制下移入移位寄存器,移位寄存器满(8b)送入接收SBUFRI标志位置1,程序读SBUF取走数据,同时清RI,如果RI=0且REN=1,防止未读取被覆盖,TI=1?,将数据写入发送SBUF清除TI,在移位时钟控制下SBUF逐位从TXD送出,如果SBUF已移空表明发送结束TI标志置1,防止未发送完,覆盖,11,鲁,MCS_51的串口,51串口的特殊功能寄存器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,可以位寻址,12,鲁,MCS_51的串口,51串口的特殊功能寄存器SFR,SCON:控制工作模式、接/发送控制以及串口状态标志,PCON:设置波特率参数,SCON,SCON,SM0、SM1:工作方式控制位,方式2、3中使用,控制接收条件,SM2=1,只有当RB8=1,才能激活RI,接收数据,SM2:多机通信控制位,13,鲁,MCS_51的串口,51串口的特殊功能寄存器SFR,SCON:控制工作模式、接/发送控制以及串口状态标志,PCON:设置波特率参数,SCON,SCON,SM0、SM1:工作方式控制位,SM2:多机通信控制位,REN:允许接收控制位,只有当RI=0且REN=1,允许接收,14,鲁,MCS_51的串口,51串口的特殊功能寄存器SFR,SCON:控制工作模式、接/发送控制以及串口状态标志,PCON:设置波特率参数,SCON,SCON,SM0、SM1:工作方式控制位,SM2:多机通信控制位,REN:允许接收控制位,TB8、RB8:发送/接收的第9位数据,TI、RI:发送/接收的中断标记位,15,鲁,MCS_51的串口,51串口的特殊功能寄存器SFR,SCON:控制工作模式、接/发送控制以及串口状态标志,PCON:设置波特率参数,PCON,SMOD:波特率倍增位,PCON,地址87H,不可位寻址,当工作于方式1、2、3时,波特率与2SMOD成正比,即:SMOD=1时,波特率提高1倍,EX:当串口工作于方式2时,SMOD=0,波特率为fosc/64SMOD=1,波特率为fosc/32,16,鲁,或fosc/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溢出率,17,鲁,MCS_51的串口,方式0-同步移位寄存器,数据格式:8位数据位,无起始/校验/停止位,主要用于扩展I/O口-并行8位输入/输出口,51单片机,RXD,TXD,74LS164,CLK,CLR,P1.0,74LS164-串并转换芯片,RXD:输入/输出数据,TXD:输出同步移位脉冲,fosc/12,18,鲁,MCS_51的串口,方式0-同步移位寄存器,数据格式:8位数据位,无起始/校验/停止位,主要用于扩展I/O口-并行8位输入/输出口,51单片机,RXD,TXD,74LS165,Q,CLK,S/L,P1.0,74LS165-并串转换芯片,RXD:输入/输出数据,TXD:输出同步移位脉冲,fosc/12,19,鲁,MCS_51的串口,方式1、2、3-8位/9位异步收发器(UART),这三种方式用于异步串行通信,方式0,采用8位数据位通信帧,8位数据位,1位起始位,1位停止位,方式2、3,采用9位数据位通信帧,9位数据位,1位起始位,1位停止位,第9位RB8/TB8,第9位,可用于传送奇偶校验位或者帧类型标志,20,鲁,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,21,鲁,MCS_51的串口,波特率计算,方式1、3,波特率由T1溢出率决定,波特率=2SMOD*T1溢出率/32,T1定时时间=(28-计数初值)*12/fosc,T1溢出率=1/T1定时时间=fosc/12*(28-计数初值),EX:对于常用波特率9600baud,T1的初值应设为多少?若SMOD=0,则波特率=T1溢出率/32=fosc/32*12*(28-计数初值)=9600设:fosc=12MHz,T1的初值=FDH,22,鲁,MCS_51的串口,波特率计算,常用波特率及参数设置,23,鲁,MCS_51的串口编程,串口基本编程,(1)串口工作模式初始化(2)波特率参数设置(3)中断初始化,SCON设置,TMOD设置TH1/TL1设置SMOD设置,IE/IP设置,初始化,查询控制方式OR中断控制方式,数据传送,24,鲁,MCS_51的串口编程,EX:单片机系统向外发送“READY”字符串,然后等待接收“OK”,结束。波特率定为9600Baud,帧格式为8位数据位,无校验位。,串口基本编程举例,串口初始化,数据传送,数据发送,数据接收,查询方式,中断方式,25,鲁,MOVSCON,#01000000B,MCS_51的串口编程,串口基本编程-初始化,波特率9600Baud,帧格式为8位数据位,无校验位。,选择工作方式,波特率9600,难以符合fosc/64*2SMOD,选择工作方式1-波特率可变的8位UART,且帧格式为8位数据位,波特率设置,根据波特率计算公式:,波特率=fosc*2SMOD/(32*12*(28-计数初值),当fosc=11.0592MHz时,SMOD=0,初值=FDH,MOVTMOD,#00100000B,MOVTL1,#0FDH,MOVTH1,#0FDH,ANLPCON,#7FH,SETBTR1,26,鲁,MCS_51的串口编程,串口基本编程-发送,查询控制方式,将发送信息写入SBUF,查询TI是否为1,将TI清零,再次发送,发送READY?字符串,STR1:DB52H,45H,41H,44H,59H,3FH,00H,;READY?字符串ASCII码定义,MOVDPTR,#STR1,MOVR0,#0,为访问STR1准备,MOVCA,A+DPTR,MOVSBUF,A,JNBTI,$,CLRTI,INCR0,MOVCA,A+DPTR,JNZAGAIN,AGAIN:,MOVA,#0,MOVA,R0,27,鲁,MCS_51的串口编程,串口基本编程-发送,中断控制方式,查询控制方式,将发送信息写入SBUF,查询TI是否为1,将TI清零,再次发送,中断服务程序:,将发送信息写入SBUF,将TI清零,中断返回,程序修改,28,鲁,MCS_51的串口编程,串口基本编程-接收,查询控制方式,打开接收使能REN,查询RI是否为1,从SBUF读取接收的数据,清除标记RI,等待接收OK字符串,R_BUFEQU70H,;检测字符串结束标记0,判断结束。,SETBREN,JNBRI,$,MOVA,SBUF,JNZAGAIN,MOVR0,#R_BUF,CLRRI,MOVR0,A,AGAIN:,;定义接收缓冲区起始位置70H,例程实现,29,鲁,MCS_51的串口编程,串口基本编程-接收,查询控制方式,打开接收使能REN,查询RI是否为1,从SBUF读取接收的数据,清除标记RI,中断控制方式,中断服务程序:,从SBUF中读取数据,将RI清零,中断返回,程序修改,30,鲁,MCS_51的串口编程,串口基本编程举例-2-应用9位数据位帧格式(方式2、3)进行数据校验,EX:单片机系统以16个一组接收以ASCII码形式发送的数据(00H7FH),并采用1位校验位帧格式,对每个接收到的数据进行偶校验。如果发现数据错误,则向发送方回送错误标记FFH,请求重发。,发送部分,接收部分,接收数据,检测RB8,如果错误,则置错误标记,否则放入缓冲区,如果错误标记为1,则回送FFH,31,鲁,MCS_51的串口编程,初始化部分,MOVSCON,#11010000B,;选择模式3(9位波特率可变的UART),MOVTMOD,#01000000B,MOVTL1,#0FDH,MOVTH1,#0FDH,ANLPCON,#7FH,SETBTR1,;波特率仍选9600,与前面相同,主程序,MOVERR,#0,MOVR0,#R_BUF,检测错误标记,发送错误标记FFH,缓冲区索引=16,接收数据,结束,已接收16字节,32,鲁,MCS_51的串口编程,接收子程序,检测RI,接收一个数据,检测TB8=PSW的P位,将数据写入缓冲区,置错误标记,修改缓冲区索引,发送FFH子程序,将FFH写入SBUF,清除错误标记,清除TI,检测TI,33,鲁,单片机串口通信应用,主从式多机通信,主机,RXD,TXD,主机:-启动一次通信的过程,从机:-只能响应主机启动的通信过程,询问/发送,应答主机询问,34,鲁,单片机串口通信应用,主从式多机通信,主机,RXD,TXD,每个从机有地址,主机在通信时,首先发出地址帧,只有地址与其匹配的从机应答主机,而后主机发送数据,也只有该从机能够接收。,00H,01H,N(=FFH),工作于方式2或3,利用SM2位和TB8位配合,35,鲁,单片机串口通信应用,TB8用于标识帧类型:TB8=1地址帧TB=0数据帧,主从式多机通信流程,起始:所有从机SM2=1,准备接收主机发送的地址帧,只有RB8=1,接收,否则丢掉,从机接收到地址帧后与自身地址比较,相同,则将SM2=0,准备接收数据,否则保持SM2不变,SM2=0,才能接受RB8=0的数据,从机改变SM2后,给主机发送OK应答帧。主机接收后,发送数据,以0结束。,从机接收到0后,获知此次通信结束,将SM2位重新置1准备接收下次通信的地址帧,36,鲁,单片机串口通信应用,主机端,从机端,发送地址帧,初始化,等待接收应答,查询20次无应答,依次发送各数据,下次通信,重发,初始化,SM2=1,等待接收,与自身地址比较,SM2=0,回送应答,接收数据,察看是否为0,是,此次结束,SM2=1,否,37,鲁,控制系统常用串口通信标准,单片机串口通信应用,RS-232,RS-232C是EIA(美国电子工业协会)1969年修订标准,机械特性,电气特性,功能特性,规程特性,25针D型口和9针D型口,针排列及定义,常用9针口,38,鲁,控制系统常用串口通信标准,单片机串口通信应用,RS-232,RS-232C是EIA(美国电子工业协会)1969年修订标准,机械特性,电气特性,功能特性,规程特性,RS-232C“1”:-3-15“0”:+3+15,TTL“1”:+5V“0”:0V,需要转换,常用转换芯片:MAX232,TTL和RS232C双向转换,39,鲁,控制系统常用串口通信标准,单片机串口通信应用,RS-232,机械特性,电气特性,功能特性,规程特性,40,鲁,控制系统常用串口通信标准,单片机串口通信应用,RS-232,机械特性,电气特性,功能特性,规程特性,41,鲁,控制系统常用串口通信标准,单片机串口
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业级CRM管理系统模板
- 情感流淌的秋日午后抒情作文6篇
- 2025年奶瓶清洗流程题库及答案
- 跨行业数据分析模板数据驱动决策支持
- 农业生产综合开发战略合作协议
- 导管病人护理试题及答案
- 机电工考试题库及答案
- 地下水保护责任保证承诺书3篇
- 商务提案与报告自动化生成工具
- 产品质量检测报告模板质量追溯型
- (高清版)DBJ∕T 13-91-2025 《福建省房屋市政工程安全风险分级管控与隐患排查治理标准》
- 2025年特教专业的面试题目及答案
- 学堂在线 工程伦理2.0 章节测试答案
- 中央厨房库存管理制度
- 垃圾房清洁管理制度
- 民办学校退费管理制度
- 2025至2030年中国水晶泥行业市场专项调研及竞争战略分析报告
- 肾移植手术的麻醉管理
- 成人床旁心电监护护理规程
- 液冷系统能效优化-洞察及研究
- 2025至2030中国公路货运行业发展趋势分析与未来投资战略咨询研究报告
评论
0/150
提交评论