ImageVerifierCode 换一换
格式:DOC , 页数:26 ,大小:30.47MB ,
资源ID:54818      下载积分:10 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-54818.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机实现RS485的通信.doc)为本站会员(文****钱)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

单片机实现RS485的通信.doc

1、 本科毕业论文 题 目: 单片机实现 RS485 的通信 学生姓名: 学号: 院(系): 专业: 入学时间: 年 月 导师姓 名: 职称 /学位: 副教授 /博士 导师所在单位: 完成时间: 年 月 单片机实现 RS485 的通信 摘 要 在工业控制自动化领域,智能装置之间的通信占有重要的地位, RS485 这种串行通信方式在工控自动化领域应用非常广泛,这种远距离通信可以采集远程信息和远程数据,实现远程控制和远程调节。本文首先介绍了 RS485 通信标准,然后在此基础上设计了通信协议,并且提出了具体的通信实现方案。系统使用 STC89C52RC 为主控芯片,以 MAX485 芯片实现 RS48

2、5 收发功能,并且加上键盘输入和 LCD 显示功能,最终完成主站和子站的一套小型远程控制方案。 关键词: RS485;工控自动化 ;总线 ;协议 A Kind of Implementation Method of RS485 Communication With MCU Abstract In the field of industrial control automation,communication between smart devices is very important. The serial communication interface RS485 is widely ap

3、plied in the field of industrial control automation.Remote command and remote data can be transported by a established connection.So we can realize remote control and remote monitoring by communication. This article first introduces the RS485 communication standard, and then introduces the design of

4、 communication protocol,finally puts forward a specific implementation scheme of communication. This system uses STC89C52RC as main control chip,MAX485 as RS485 transceiver, and combined with keyboard input module and LCD module.This system is a small remote control solution between main and sub sta

5、tions. Keywords: RS485; industrial control automation; bus; protocol 目 录 1. 绪论 . 1 1.1. RS485 简介 . 1 1.2. 单片机的选型 . 1 1.3. 通信协议简介 . 2 1.4. 研究内容和意义 . 2 2. 通信协议设计 . 2 2.1. Modbus 协议 . 2 2.1.1. Modbus 介绍 . 2 2.1.2. Modbus 帧格式 . 3 2.2. 基于 Modbus 的协议设计 . 4 2.2.1. 传输规则设 计 . 4 2.2.2. 设置单点命令 . 5 2.2.3. 设置数据命

6、令 . 6 2.2.4. 召唤状态信息 . 6 2.2.5. 召唤数据信息 . 7 3. 系统设计 . 7 3.1. 系统功能 . 7 3.2. 系统硬件设计 . 8 3.2.1. RS485 收发模块 . 8 3.2.2. LCD 液晶模块 . 9 3.2.3. 键盘输入模块 . 10 3.2.4. 子站的 LED 灯模块 . 11 3.2.5. 实际电路图 . 11 3.3. 系统软件设计 . 12 3.3.1. 主站程序设计 . 12 3.3.2. 子站程序设计 . 15 3.4. 编译和调试 . 17 4. 论文总结 . 19 主要参考文献 . 19 附录 A 主站协议实现 . 错误

7、!未定义书签。 附录 B 子站协议实现 . 错误 !未定义书签。 致 谢 . 21 1 1. 绪论 1.1. RS485 简介 RS485,又叫 EIA-485,是美国电子工业协会 EIA 制定的一种串行物理接口标准。一般采用两线制传输,利用两线间的电压差进行数据传输。 RS485 可以满足通信距离远,抗干扰能力大,传输速率高的要求。通过 RS485总线连接的智能设备可以形成网络拓扑,满足了网络信息化的需要。一台主机可以同时控制多台从机,这种一对多的主从通信方式极大的提高了通信的效率,也节省了通信成本。 RS485 通信的特点如下: ( 1) 逻辑 “ 1”以两线间的电压差 为 +(26)V

8、表示;逻辑 “ 0” 以两线间的电压差为 -(26)V 表示,接口信号电平与 TTL 电平兼容。 2 ( 2) RS485 最大的通信距离约为 1200m,最大传输速率为 10Mbps,如果需传输更长的距离,需要加 485 通信 中继器。 2 ( 3) RS485 接口抗干扰性能好,由于采用平衡驱动器和差分接收器的组合,使得它的抗共模干扰能力增强。 ( 4) RS485 仅仅规定了接受端和发送端的电气特性,它对数据协议未做规定,因此在通信方案中的协议要另行设计,但必须满足 RS485 的物理传输要求。 ( 5) 可以采用两线制,半双 工通信方式,信息可以双向传输,但不能同时进行数据的收发。也可

9、以采用四线制,全双工通信方式,这样就可以实现同时收发数据。 RS485 一般采用两线制,主从半双工通信,手拉手串联接线方式。连接图如下所示: 从 站A B从 站A B从 站A B主 站A BR图 1: RS485 连接图 如图 1 所示,采用手拉手接线方式,可以在总线上挂接一个主站和多个从站,实现一站对多站的通信方式。 在实际应用中,实现 RS485 电平转换的有多种芯片 ,最为典型的为 MAX485芯片,本设计也将采用 MAX485 芯片实现 RS485 的发送与接收过程,具体实现见本文第 3 章节。 1.2. 单片机的选型 单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理

10、2 能力的 CPU、 RAM、 ROM、多种 I/O、定时计数器和终端系统等功能集成到一块硅片上所构成的小型计算机系统。单片机具有多种通信接口,可以方便的实现通信。 本设计中采用 STC89C52RC 型号单片机, STC89C52RC 单片机是由宏晶科技设计的 8 位增强 型 51 单片机,拥有 8KB 的 FLASH 程序存储区, 512 byte 的RAM, 1 个 UART 接口, 3 个定时 /计数器, 4 个 8bit 双向 I/O 口。对于本次设计,此型号单片机可以满足要求。 1.3. 通信协议简介 通信协议是指通信双方完成数据通信传输所必须遵循的规则和约定。协议定义了数据单元的

11、格式、信息发送和接收的时序等,从而确保网络中数据顺利地传送到正确的地方。 通信协议相当于是通信双方共同的语言,是通信过程中不可或缺的一部分。由于 RS485 属于物理层的接口标准, 它没有规定任何数据协议,本次设计的通信协议在物理层上要符合 RS485 的传输要求,遵从半双工、主从通信的规则。 Modbus 作为一个问答式通信协议,是全球第一个真正用于工业现场的总线协议,它具有如下特点 1: ( 1) 作为一项标准、开放的协议,用户可以免费地使用,不会侵犯知识产权。 ( 2) 支持多种电气接口(如 RS485),并且还能在各种介质上传送(如双绞线、光纤、无线等)。 ( 3) 帧格式简单、紧凑,

12、协议内容通俗易懂,用户可以很容易的使用。 通过以上特点可以看出, Modbus 能够适应 RS485 的传输要求,所以本 次设计的通信协议是在 Modbus 的基础上,进行了适当的改变所完成 的。 1.4. 研究内容和意义 本文将依次介绍 RS485 和基于 Modbus 所设计的通信协议,然后提出具体系统设计方案,包括系统电路图和程序设计流程图,最终实现一套小型主从式的一点对多点远程智能控制方案。 2. 通信协议设计 2.1. Modbus 协议 2.1.1. Modbus 介绍 Modbus 是一种串行通信协议,它是由 Modicon 在 1979 年发明的,是全球第一个真正用于工业现场的

13、总线协议, Modbus 协议如今交由分布式自动化接口组织进行管理,为 Modbus 今后的发展奠定了基础。 Modbus 是应用于电子控制器上的一种通用协议。通过此协议,网络上的控3 制器和其它各种智能设备之间就可以实现通信,它逐渐成为了一种通用工业标准。通过该协议,不同厂商生产的控制设备可以连成一个网络,进行集中监控。 Modbus 支持多种传输网络,它所支持的网络包括串行 链路和标准以太网等。Modbus 协议的标准连接方式为串行链路连接方式,多数 Modbus 设备通过串口RS485 两线制接口进行通信。 Modbus 串行链路协议是一个主 /从协议,可以实现由一个主站和多个子站进行通

14、信的功能。它是 OSI 模型第二层上的链路层传输协议,串行链路上的客户机由主节点提供,服务器由从节点提供。在同一时刻,只有一个主节点连接于总线,一个或多个子节点 (最大编号为 247)连接于同一个串行总线。 Modbus 通信总是由主节点发起,子节点在没有收到来自主节点的请求时,从不会发送数据,子节点之间从不会互相通 信。主节点在同一时刻只会发起一个 Modbus 事务处理。 请求 /应答过程如图 1 所示: 图 2: Modbus 请求 /应答过程图 1 2.1.2. Modbus 帧格式 对于 Modbus 串行链路存在两种传输模式, Modbus RTU 模式和 Modbus ASCII

15、 模式。 Modbus RTU 模式是一种采用二进制表示数据的方式, Modbus ASCII模式是一种人类可读的、采用 ASCII 码值表示数据的方式。 RTU 格式采用循环冗余校验的校验方式,而 ASCII 格式采用纵向冗 余校验的校验方式。配置为 RTU模式的节点和配置为 ASCII 模式的节点不可以互相通信。 ( 1) Modbus RTU 模式 表 1: Modbus RTU 模式 子节点地址 功能码 数据 CRC(循环冗余)校验 1 字节 1 字节 0 到 252 字节 2 字节( CRC 低 | CRC 高) 4 注:报文帧由时长至少为 3.5 个字节时间的空闲间隔区分, RTU

16、 模式帧最大尺寸为 256 字节。 CRC 的计算:初始对一个 16 位寄存器预装全 1,每个 8 位字节与寄存器中的值相异或,然后结果向最低有效位 (LSB)方向移动 1 位,而在最高有效位 (MSB)上 填充零。然后提取并检查 LSB:如果 LSB 为 1,则寄存器中的值与一个固定的预设值相异或;如果 LSB 为 0,则不进行任何操作,这个过程将重复直到执行完 8 次移位。完成每个字节的最后一次移位及相关操作后,下一个 8 位字节与寄存器的当前值相异或,然后又同上面描述过的一样重复 8 次。当所有报文中的字节都运算之后得到的最终值,就是 CRC 的值。 ( 2) Modbus ASCII

17、模式 表 2: Modbus ASCII 模式 起始 地址 功能码 数据 LRC(纵向冗余) 结束 : 字符 2 字符 2 字符 0 到 2*252 字符 2 字符 CR, LF 注 : Modbus ASCII 帧的最大尺寸为 513 个字符。 LRC 的计算:对一帧报文中的所有的连续 8 位字节相加,忽略任何进位,然后求出其二进制补码。 计算过程不包括起始 “冒号 ”和结尾 CR, LF 字符。在ASCII 模式, LRC 的结果被 ASCII 编码为两个字节并 放置于 ASCII 模式报文帧的结尾, CR 和 LF 之前。 2.2. 基于 Modbus 的协议设计 2.2.1. 传输规则

18、设 计 根据本课题的要求,通信协议设 计在 Modbus 的基础上做了如下的延伸和改变: ( 1) 取消了广播功能。 ( 2) 功能码做了适当改变,采用自定义的功能码。 ( 3) 校验方式采用简单加校验。 ( 4) 对于命令帧,加校验从地址码开始算起。 ( 5) 对于数据帧,加校验从数据起始字节开始算起。 ( 6) 帧起始和结束由空闲 3.5 个字节来区分。 ( 7) 对于数据传输时,为了便于屏幕显示,直接发送 ASCII 格式的字符。 ( 8) 子站收到异常命令,将不做响应,主站会以超时处理。 ( 9) 字节发送是从 LSB 开始发送, 8 位数据位, 1 位停止位,无校验位。 主站 状态图

19、如下所示: 5 空 闲应 答 处 理等 待 应 答 出 错 处 理请 求 发 送 到 子 节 点 / 启 动 响应 超 时应 答 超 时接 收 响 应 / 停 止 超 时 计 时接 收 响 应 非 期 望 子 节 点 出 错 处 理 结 束应 答 处 理 结 束帧 错 误图 3: 主站状态图 如上图 3 所示,主站是主动发起通信的一方,开机启动初始化后进入空闲状态,只有当按下功能键后才会进行相应的动作或者启动通信;当主站主动发起通信请求后,将启动响应超时计时,并进入等待应答状态;在等待应答状态下,只有接收到期望子节点应答后才会进入应答处理,否则将以超时出错处理;当应答处理结束或者超时出错处理结束后,主站又将恢复到空闲状态。 子站 状态图如下所示: 空 闲检 查 请 求格 式 化 正 常 应 答处 理 请 求 动 作格 式 化 错 误从 主 节 点 接 收 一 个 请 求检 查 O K检 查 错 误不 作 响 应结 束 处 理 , 发 送 应 答正 常 应 答 发 送图 4: 子站状态图 如上图 4 所示,子站开机启动初始化后进入空闲状态,子站从不主动发送数据,只有在收到主节点的通信请求后,才对请求进行检查,对检查正确的数据帧才会进行处理和应答,否则将以格式化错误进行处理,不做任何响应,并且返回至空闲状态。 2.2.2. 设置单点命令

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。