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

第19章C51通信接口程序设计.pptVIP

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第19章 C51通信接口程序设计 在单片机的通信应用系统中,广泛采用异步串行通信方式。使用单片机的全双工串行接口可以完成双机以及多机的通信任务。另外,在远距离、干扰大、或者和计算机进行串口通信的场合,需要考虑选用的串行接口标准的问题。对于串行接口,目前用的比较多的是RS232标准、RS422标准以及RS485标准等。 本章首先介绍了几种常用的串行通信接口标准,接着介绍了常用的串行接口转换芯片MAX232以及双机和多机通信原理。最后分别通过实例,详细讲解了C51双机串行通信和多机串行通信的实现。 19.1 串行接口通信概述 在实际的应用系统中,为了满足长距离、高速率和低错误率的通信要求,常常需要采用一些标准的串行通信接口。在单片机的串行通信接口设计时同样需要考虑这些问题。 19.1.1 串行接口通信标准 目前计算机以及其他测控设备中的异步串行通信接口标准,主要包括:RS-232C标准、RS-449、RS-423A、RS-422A、RS-485以及20mA电流环路等。这几种接口标准各有优缺点,在系统设计时可以根据需要进行选择。下面分别介绍这几种接口标准。 1.RS-232C标准 2.RS-449标准 3.RS-423A标准 4.RS-422A标准 5.RS-485标准 6.20mA电流环路串行接口 19.1.2 串行接口芯片 由于实际的硬件电路系统中的信号均为TTL电平,例如单片机系统。单单采用TTL电平传输数据,不仅传输速率低而且传输的距离也短,很难满足高速、远距离通信的需要。因此,通常在数据传输前,转换成前面介绍的各种标准通信接口,这样可以实现远距离高速串行数据通信。 为此,经常需要采用专有的接口转换芯片来实现接口电平以及协议的转换。对于前面介绍的几种串行接口通信标准,可以采用如下的接口芯片来实现: RS-232C接口标准,MAX232、MC1489/ MC1488、SN75189/ SN75188等。 RS-423A接口标准,驱动器DS3691/接收器26L32等。 RS-422A接口标准,平衡驱动器MC3487和差动接收器MC3486、 SN75174/SN75175等。 RS-485接口标准,MAX487等。 19.1.3 双机及多机通信原理 在单片机应用系统中,经常需要进行两个单片机之间,以及多个单片机之间的串行数据传输。下面双机和多机通信为例,介绍其工作原理。 1.双机通信原理 两个单片机之间的通信称为点对点通信。如果两个8051应用系统相距很近,将它们的串行口直接相连,即可实现双机通信。如果想增加通信距离,可以将其转换为RS-232C接口标准来进行传输。 2.多机通信原理 在单片机多机通信中,由于存在多个单片机。为了保证主机与所选择的从机实现可靠的通信,除了设置相同的波特率以及传输方式外,还必须保证各个通信接口具有识别功能。在串行控制寄存器SCON中的SM2位称为多机串行通信控制位,可用实行多机串行通信的控制。 19.3 C51双机通信实例 单片机的双机通信需要设置相同的波特率以及串口通信数据格式,同时为了长距离传输的需要,经常需要转换为标准的串行通信接口。这里以RS-232C接口标准为例,介绍单片机之间的双机通信。 19.3.1 电路原理图 通信的一方的电路原理图,如图所示。 19.3.2 发送方程序设计 这里在Keil μVison3集成开发环境中,使用Keil C51语言进行设计。首先在Keil μVison3集成开发环境中建立项目,具体操作步骤如下: 19.3.3 接收方程序设计 接收方B可以按照同样的方式建立项目。接收方B的程序源代码示例如下: 19.4 C51多机通信实例 在单片机的多机通信中,除了约定相同的波特率和数据格式外,还需要使用SM2位来实现主从机之间的数据通信。在多机通信系统中,电路可以采用前面双机通信的电路原理图,只不过需要规定完善的多机通信协议。 在多机通信协议中,从机按照从机地址来区分和选择。另外,规定了几条多机通信的指令: 从机复位指令0xEE,当发生通信错误的时候,主机发送0xEE复位所有从机。 发送数据指令0x01,用于主机向从机发送数据。 接收数据命令0x02,用于主机接收从机返回的数据。 19.4.1 主机程序设计 这里在Keil μVison3集成开发环境中,使用Keil C51语言进行设计。建立项目的方法可以参考双机通信一节,这里主要介绍多机通信时主机的程序。 1.主函数 2.出错子函数 3.发送数据子函数 4.接收数据子函数 19.4.2 从机程序设计 这里在Keil μVison3集成开发环境中,使用Keil C51语言进行设计。建立项目的方法可以参考双机通信一节,这里主要介绍多机通信时从机的程序。 1.主函数 2.中断服务例程 19.5

文档评论(0)

wuyoujun92 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档