网站大量收购闲置独家精品文档,联系QQ:2885784924

7单片机的串行接口及串行通信v10.ppt

  1. 1、本文档共106页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
7单片机的串行接口及串行通信v10

第7章 单片机的串行接口及串行通信 3.数据包: 每一帧数据作用 用户名、密码、长度、DATA1、DATA2等 ADR 4.硬件连接: 内部逻辑结构: 发送器: 8位 8位 8位 Tclk TI=1 Tclk/n=Baud(f) (n个发送时钟周期发送一位数据) 接收器 8/10/11 8位 RI=1 8位 Rclk=mBaud SM2,多机通信控制位,主要用于方式2和方式3。当接收机的SM2=1时可以利用收到的RB8来控制是否激活RI(RB8=0时不激活RI,收到的信息丢弃;RB8=1时收到的数据进入SBUF,并激活RI,进而在中断服务中将数据从SBUF读走)。当SM2=0时,不论收到的RB8为0和1,均可以使收到的数据进入SBUF,并激活RI(即此时RB8不具有控制RI激活的功能)。通过控制SM2,可以实现多机通信。 在方式1时,若SM2=1,则只有接收到有效停止位时,RI才置1。在方式0时,SM2必须是0。 REN,允许串行接收位。由软件置REN=1,则启动串行口接收数据;若软件置REN=0,则禁止接收。 TB8,在方式2或方式3中,是发送数据的第九位,可以用软件规定其作用。在双机通信时,可以用作数据的奇偶校验位;或在多机通信中,作为地址帧/数据帧的标志位(一般约定:TB8 = 0为数据帧,TB8 = 1为地址帧 )。 在方式0和方式1中,该位未用。 RB8,在方式2或方式3中,是接收到数据的第九位,作为奇偶校验位或地址帧/数据帧的标志位。在方式1时,若SM2=0,则RB8是接收到的停止位。 7.5.4 单片机与计算机通信程序设计 数据通信与电话通信不同,在工业现场,数据通信过程没有人直接参与,因此必须通过遵守相同的传输控制规程(通信协议规程)才可能使通信双方协调、可靠地工作。因此,主机要对通信网络中的多个智能仪器仪表单元进行控制,需要设计一套完善的通信协议。 通信协议一般对通信双方的接口标准、字符帧格式、命令帧格式、响应帧格式和数据帧格式进行约定。通信双方的接口标准必须一致,字符帧格式一般需约定:数据传输率、起始位个数、数据位个数、停止位个数。 命令帧格式、响应帧格式和数据帧格式一般格式为: 命令帧:[界定符号][地址][命令标识符] [命令代码] [校验和][结束符] 响应帧:[界定符号][地址][响应标识符] [响应代码] [校验和][结束符] 数据帧:[界定符号][地址][数据标识符] [数据] [校验和][结束符] 其中: 界定符号:通信帧起始标志; 地址:标明该通信帧要发往的从机地址; 命令标识:标明后续内容为命令代码,通常是ASCII码字符; 响应标识:标明后续内容为响应代码,通常是ASCII码字符; 数据标识:标明后续内容为数据,通常是ASCII码字符; 命令代码:系统中的命令编码; 响应代码:对所有命令的响应编码; 数据:主机和从机之间传递的参数或数据。 校验和:从地址字节开始到最后一个数据字节的所有字节的累加和,模除256的结果作为通信帧接收正确与否的判断依据; 结束符:通信帧结束标志。 常用智能仪器仪表的通信协议往往比较复杂,这里以智能汽车侧滑检测仪的通信协议为基础,以其中的一条指令为例,介绍单片机与计算机通信程序设计方法。 以智能汽车侧滑检测仪的第一组通信命令为例,该命令为读侧滑表数据命令,主机发送的数据命令格式为:#AAX(CR)。其中ASCII字符‘#’为通信帧起始界定符;AA为一个接收从机的十六进制地址;X为命令代码,为ASCII码的‘0’或没有。为‘0’时表示检测结果精确到一位小数,命令字节不存在时表示检测结果不带小数;(CR)为ASCII字符回车,代表通信帧结束符。 从机收到读侧滑表数据命令后,进行数据检测,检测完毕后将结果发送回主机,从机回送数据的格式为:AA±(data) (CR)。其中ASCII字符‘’为数据帧起始界定符;AA是从机的十六进制地址;ASCII字符‘+’代表测量结果为正数,ASCII字符‘-’代表测量结果为负数;(data)代表测量结果4位有效数字数各位的ASC码组合,高位在前低位在后;(CR)为ASCII字符回车,代表通信帧结束符。 智能仪表需要执行很多任务,为了能够在执行任务期间还能接收主机发送的命令,通信应该使用中断方式而非查询方式。通信帧指令解读的操作由主程序完成。 中断接收服务程序在每次收到一个字节数据后被自动调用

文档评论(0)

xiwenxw + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档