




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机及其应用1342Chap7
串行通信串口通信简介51系列单片机的串行口单片机串行通信应用技术51单片机串口编程串口通信简介并行通信与串行通信与并行传输相反,抗干扰,适合于长距离传输并行传输-将数据(字符/字)的各位同时传送串行传输-将数据(字符/字)的各位逐位传送D0D1D2D3D4D5D7D6速度快,但需要多根数据线适用于距离短,速度快的应用EX:系统总线D0D1D2D3D4D5D7D6只需要一根数据线(单工/半双工)EX:串行通信口鲁东大学计算机学院串口通信简介51单片机P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7外设并行通信51单片机外设RXDTXDRXDTXDGNDGND串行通信并行通信与串行通信鲁东大学计算机学院串口通信简介串行传送方式全双工半双工A站发送器接收器B站接收器发送器只有一根通信线,但可以分时进行数据发送和接收发送器接收器B发送,A接收有两根通信线,数据的发送和接收可以同时进行A站发送器接收器B站接收器发送器接收器发送器接收器发送器单工只有一根通信线,只能向一个方向传送数据鲁东大学计算机学院串口通信简介串行通信方式同步通信异步通信通信双方必须建立准确的位定时信号也就是收/发时钟的频率必须严格地一致发送/接收过程中各位时间间隔固定字符之间时间间隔不固定速度快,适于面向数据块的传送按字符发送鲁东大学计算机学院数据场串口通信简介同步字符同步字符数据1数据2数据3数据n…校验字符CRC校验字符CRC信息帧同步通信同步字符:传送数据前,传送同步字符进行联络信息帧:包含同步字符,数据场,校验字符数据场:多个数据字节之间没有间隙,连续发送-通信双方使用统一的时钟鲁东大学计算机学院串口通信简介异步通信-通信双方使用各自的时钟-每次发送一个字符,帧格式如下:帧数据位起始位校验位停止位起始位:
1个低电平,标识一帧的开始数据位:5-8个,低位在前,高位在后奇偶校验位:可以没有,校验数据位正确性停止位:,高电平帧与帧之间填充任意个停止位鲁东大学计算机学院串口通信简介串行传输速率比特率:每秒钟传送的二进制位数,bps波特率:每秒钟调制信号变化的次数,Baud对于将数字信号1或0直接用两种不同电压表示的基带传输比特率==波特率∴串行通信常用波特率表示数据传输率EX:波特率为9600,则每秒可传送9600bit按照1起始位+8数据位+1停止位的帧格式进行传送,则每秒可传送多少字符?注意:串行通信双方识别位的时间间隔要相同,所以通信双方的波特率必须一致鲁东大学计算机学院MCS_51的串口51系列的串口特征51单片机带有一个可编程全双工异步串行通信接口通用异步串口UniversalAsynchronousReceiveandTransmitport=UART
该串口有四种工作模式
支持多种波特率设置
支持中断控制方式鲁东大学计算机学院MCS_51的串口51系列的串口结构SBUFSBUF发送控制器接收控制器移位寄存器控制门TIRIA≥1TXDRXD去串口中断SMOD01TH1TL1÷2÷16T1溢出率SBUF:接收和发送缓冲器,共享同一地址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串口的特殊功能寄存器SFRSCON:控制工作模式、接/发送控制以及串口状态标志PCON:设置波特率参数SCOND7D6D5D4D3D2D1D0SM0SM1SM2RENTB8RB8TIRISCONSM0、SM1:00-方式0,同步移位寄存器,波特率fosc/1201-方式1,10位(8位数据)异步收发,波特率T1控制10-方式2,11位(9位数据)异步收发,fosc/32或fosc/6401-方式3,11位(9位数据)异步收发,波特率T1控制地址98H,可以位寻址鲁东大学计算机学院MCS_51的串口51串口的特殊功能寄存器SFRSCON:控制工作模式、接/发送控制以及串口状态标志PCON:设置波特率参数SCOND7D6D5D4D3D2D1D0SM0SM1SM2RENTB8RB8TIRISCONSM0、SM1:工作方式控制位方式2、3中使用,控制接收条件,SM2=1,只有当RB8=1,才能激活RI,接收数据SM2:多机通信控制位鲁东大学计算机学院MCS_51的串口51串口的特殊功能寄存器SFRSCON:控制工作模式、接/发送控制以及串口状态标志PCON:设置波特率参数SCOND7D6D5D4D3D2D1D0SM0SM1SM2RENTB8RB8TIRISCONSM0、SM1:工作方式控制位SM2:多机通信控制位REN:允许接收控制位只有当RI=0且REN=1,允许接收鲁东大学计算机学院MCS_51的串口51串口的特殊功能寄存器SFRSCON:控制工作模式、接/发送控制以及串口状态标志PCON:设置波特率参数SCOND7D6D5D4D3D2D1D0SM0SM1SM2RENTB8RB8TIRISCONSM0、SM1:工作方式控制位SM2:多机通信控制位REN:允许接收控制位TB8、RB8:发送/接收的第9位数据TI、RI:发送/接收的中断标记位鲁东大学计算机学院MCS_51的串口51串口的特殊功能寄存器SFRSCON:控制工作模式、接/发送控制以及串口状态标志PCON:设置波特率参数D7D6D5D4D3D2D1D0SMODPCONSMOD:波特率倍增位PCON地址87H,不可位寻址当工作于方式1、2、3时,波特率与2SMOD成正比即:SMOD=1时,波特率提高1倍EX:当串口工作于方式2时,SMOD=0,波特率为fosc/64SMOD=1,波特率为
fosc/32鲁东大学计算机学院或fosc/64方式3-9位UART方式0-同步移位寄存器方式2-9位UARTMCS_51的串口51串口的工作方式SM1、SM0方式说明波特率00011011方式1-8位UARTfosc/12fosc/32T1溢出率T1溢出率两种不同的功能两种不同的波特率两种帧格式鲁东大学计算机学院MCS_51的串口方式0-同步移位寄存器
数据格式:8位数据位,无起始/校验/停止位
主要用于扩展I/O口-并行8位输入/输出口51单片机RXDTXD74LS164ABCLKCLRP1.08位并行输出74LS164-串并转换芯片RXD:输入/输出数据TXD:输出同步移位脉冲fosc/12鲁东大学计算机学院MCS_51的串口方式0-同步移位寄存器
数据格式:8位数据位,无起始/校验/停止位
主要用于扩展I/O口-并行8位输入/输出口51单片机RXDTXD74LS165QCLKS/LP1.08位并行输入74LS165-并串转换芯片RXD:输入/输出数据TXD:输出同步移位脉冲fosc/12鲁东大学计算机学院MCS_51的串口方式1、2、3--8位/9位异步收发器(UART)
这三种方式用于异步串行通信
方式0,采用8位数据位通信帧D0D78位数据位1位起始位1位停止位
方式2、3,采用9位数据位通信帧D0D79位数据位1位起始位1位停止位第9位RB8/TB8第9位,可用于传送奇偶校验位或者帧类型标志鲁东大学计算机学院MCS_51的串口波特率计算
方式2,波特率固定
波特率=2SMOD
*fosc/64SMOD=0,fosc/64SMOD=1,fosc/32
方式1、3,波特率由T1溢出率决定
波特率=2SMOD
*T1溢出率/32SMOD=0,T1溢出率/32SMOD=1,T1溢出率/16当使用T1作为波特率发生器时,需要将T1设置为工作方式2(自动重装的8位定时器),且TR1=1,启动T1鲁东大学计算机学院MCS_51的串口波特率计算
方式1、3,波特率由T1溢出率决定
波特率=2SMOD
*T1溢出率/32T1定时时间=(28-计数初值)*12/foscT1溢出率=1/T1定时时间=fosc/12*(28-计数初值)EX:对于常用波特率9600baud,T1的初值应设为多少?
若SMOD=0,则波特率=T1溢出率/32=fosc/32*12*(28-计数初值)=9600
设:fosc=12MHzT1的初值=FDH鲁东大学计算机学院MCS_51的串口波特率计算波特率系统时钟SMODT1初值1920011.0592M1FFH960011.0592M0FDH480011.0592M0FAH240011.0592M0F4H120011.0592M0E8H常用波特率及参数设置鲁东大学计算机学院MCS_51的串口编程串口基本编程(1)串口工作模式初始化(2)波特率参数设置(3)中断初始化SCON设置①TMOD设置②TH1/TL1设置③SMOD设置IE/IP设置初始化
查询控制方式OR中断控制方式数据传送鲁东大学计算机学院MCS_51的串口编程EX:单片机系统向外发送“READY”字符串,然后等待接收“OK”,结束。波特率定为9600Baud,帧格式为8位数据位,无校验位。串口基本编程举例串口初始化数据传送数据发送数据接收查询方式中断方式鲁东大学计算机学院MOVSCON,#01000000BMCS_51的串口编程串口基本编程-初始化波特率9600Baud,帧格式为8位数据位,无校验位。选择工作方式∵波特率9600,难以符合fosc/64*2SMOD∴选择工作方式1-波特率可变的8位UART且帧格式为8位数据位波特率设置根据波特率计算公式:波特率=fosc*2SMOD/(32*12*(28-计数初值))当fosc=11.0592MHz时,SMOD=0初值=FDHMOVTMOD,#00100000BMOVTL1,#0FDHMOVTH1,#0FDHANLPCON,#7FHSETBTR1鲁东大学计算机学院MCS_51的串口编程串口基本编程-发送查询控制方式将发送信息写入SBUF查询TI是否为1是将TI清零,再次发送否发送READY?字符串STR1:DB52H,45H,41H,44H,59H,3FH,00H;READY?字符串ASCII码定义MOVDPTR,#STR1MOVR0,#0为访问STR1准备MOVCA,@A+DPTRMOVSBUF,AJNBTI,$CLRTIINCR0MOVCA,@A+DPTRJNZAGAINAGAIN:MOVA,#0MOVA,R0鲁东大学计算机学院MCS_51的串口编程串口基本编程-发送中断控制方式查询控制方式将发送信息写入SBUF查询TI是否为1是将TI清零,再次发送否中断服务程序:主程序:;初始化部分SETBEASETBES;增加中断使能将发送信息写入SBUF将TI清零中断返回中断向量表:;串行中断ORG0023HAJMP串口中断入口程序修改鲁东大学计算机学院MCS_51的串口编程串口基本编程-接收查询控制方式打开接收使能REN查询RI是否为1是从SBUF读取接收的数据否清除标记RI等待接收OK字符串R_BUFEQU70H;检测字符串结束标记0,判断结束。SETBRENJNBRI,$MOVA,SBUFJNZAGAINMOVR0,#R_BUFCLRRIMOV@R0,AAGAIN:;定义接收缓冲区起始位置70H例程实现鲁东大学计算机学院MCS_51的串口编程串口基本编程-接收查询控制方式打开接收使能REN查询RI是否为1是从SBUF读取接收的数据否清除标记RI中断向量表:;串行中断ORG0023HAJMP串口中断入口主程序:;初始化部分SETBEASETBES;增加中断使能SETBREN中断控制方式中断服务程序:从SBUF中读取数据将RI清零中断返回程序修改鲁东大学计算机学院MCS_51的串口编程串口基本编程举例-2
-应用9位数据位帧格式(方式2、3)进行数据校验EX:单片机系统以16个一组接收以ASCII码形式发送的数据(00H~7FH),并采用1位校验位帧格式,对每个接收到的数据进行偶校验。如果发现数据错误,则向发送方回送错误标记FFH,请求重发。发送部分接收部分接收数据,检测RB8如果错误,则置错误标记否则放入缓冲区如果错误标记为1,则回送FFH鲁东大学计算机学院MCS_51的串口编程初始化部分MOVSCON,#11010000B;选择模式3(9位波特率可变的UART)MOVTMOD,#01000000BMOVTL1,#0FDHMOVTH1,#0FDHANLPCON,#7FHSETBTR1;波特率仍选9600,与前面相同主程序MOVERR,#0MOVR0,#R_BUF检测错误标记发送错误标记FFH错误标记=1缓冲区索引=16接收数据结束已接收16字节鲁东大学计算机学院MCS_51的串口编程接收子程序检测RI接收一个数据RI=1检测TB8==PSW的P位将数据写入缓冲区RI=0校验对校验不对置错误标记修改缓冲区索引发送FFH子程序将FFH写入SBUF清除错误标记清除TI检测TITI=1TI=0鲁东大学计算机学院单片机串口通信应用主从式多机通信主机RXDTXD从机1RXDTXD从机2RXDTXD从机nRXDTXD…主机:-启动一次通信的过程从机:-只能响应主机启动的通信过程询问/发送应答主机询问鲁东大学计算机学院单片机串口通信应用主从式多机通信主机RXDTXD从机1RXDTXD从机2RXDTXD从机nRXDTXD…每个从机有地址,主机在通信时,首先发出地址帧,只有地址与其匹配的从机应答主机,而后主机发送数据,也只有该从机能够接收。00H01HN(<=FFH)工作于方式2或3,利用SM2位和TB8位配合鲁东大学计算机学院单片机串口通信应用TB8用于标识帧类型:TB8=1地址帧TB=0数据帧主从式多机通信流程起始:所有从机SM2=1准备接收主机发送的地址帧只有RB8=1,接收,否则丢掉从机接收到地址帧后与自身地址比较,相同,则将SM2=0,准备接收数据,否则保持SM2不变SM2=0,才能接受RB8=0的数据从机改变SM2后,给主机发送OK应答帧。主机接收后,发送数据,以\0结束。从机接收到\0后,获知此次通信结束,将SM2位重新置1准备接收下次通信的地址帧鲁东大学计算机学院单片机串口通信应用主机端从机端发送地址帧初始化等待接收应答查询20次无应答是否依次发送各数据下次通信重发初始化,SM2=1等待接收与自身地址比较SM2=0,回送应答匹配不匹配接收数据,察看是否为\0是此次结束,SM2=1否鲁东大学计算机学院控制系统常用串口通信标准单片机串口通信应用RS-232RS-232C是EIA(美国电子工业协会)1969年修订标准机械特性电气特性功能特性规程特性2514131965125针D型口和9针D型口,针排列及定义常用9针口鲁东大学计算机学院控制系统常用串口通信标准单片机串口通信应用RS-232RS-232C是EIA(美国电子工业协会)1969年修订标准机械特性电气特性功能特性规程特性RS-232C“1”:-3~-15“0”:+3~+15TTL“1”:+5V“0”:0V需要转换常用转换芯片:MAX232,TTL和RS232C双向转换鲁东大学计算机学院控制系统常用串口通信标准单片机串口通信应用RS-232机械特性电气特性功能特性规程特性鲁东大学计算机学院控制系统常用串口通信标准单片机串口通信应用RS-
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 无锡市惠山区2025届四年级数学第二学期期末质量检测模拟试题含解析
- 辽宁医药职业学院《音乐基础》2023-2024学年第一学期期末试卷
- 山东省高青县2025年高中毕业生班阶段性测试(三)化学试题含解析
- 辽宁省盘锦市双台子区第一中学2025年初三下学期期末质量调研英语试题含答案
- 曲阜市2025届数学三下期末监测模拟试题含解析
- 四川国际标榜职业学院《传播学概论A》2023-2024学年第二学期期末试卷
- 四川省宜宾市宜宾县重点达标名校2025届初三第一次质量调研物理试题含解析
- 农业生产资料购销合同模板
- 吉林省长春市第一五七中学2025年初三两校下学期联考生物试题含解析
- 跨境电商信用体系建设-全面剖析
- 2024北京十一学校初二(下)期中数学试题及答案
- 教师资格笔试教育数字化转型的挑战与对策分析试题及答案
- 劳务合同挂靠协议
- 跨境电商平台下的中国二手车出口模式
- 2024国家电投集团中国电力招聘(22人)笔试参考题库附带答案详解
- 运动素质知到课后答案智慧树章节测试答案2025年春浙江大学
- 树立正确的婚恋观讲座课件
- 急性阑尾炎中医护理查房
- 【罗兰贝格】2025全球医疗器械报告-创新与效率平衡之道
- 2024年上海市普通高中学业水平等级性考试化学试卷(含答案)
- 驾照体检表完整版本
评论
0/150
提交评论