基于485总线的评分系统说明.docVIP

  1. 1、本文档共6页,可阅读全部内容。
  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文档。上传文档
查看更多
“基于485总线的评分系统”说明 设计思路和方法 RS485为半双工通信。只有通信双方一方处于发送,一方处于接收时,通信才能正常进行。本程序模拟modebus协议,采用主、从技术,上位机的主控制器可以与所有的下位机通信,也可以单独与一个指定的下位机通信。通过RS232转485的转换器引出两根总线,将多个带485模块的下位机控制程序的单片机挂载在该总线上,各单片机有序地通过总线实现评分操作,将分数传给上位机进行显示。 模拟modebus协议,本程序上下位机的数据包都只含5个字节。基本格式:数据包头(0x5A)+地址码(广播地址/从机地址)+功能码+携带数据(一个字节)+校验码字节,携带数据部分可以扩充多个字节,可以视情况进行修改。 数据包具体定义如下: (1)主机检测从机是否正常相关数据包:(主机与单个从机设备通信) A、设备正常检测数据包: 方向:上位机-----下位机 数据包消息:数据包头+从机地址+检测功能码(Fun_CheckSlave)+自定义内容(Check_Content)+校验字节 功能:查询下位机是否正常。正常,下位机发送回应查询数据包;不正常,不回应;数据传输过程发生错误,下位机发送回应错误数据包,上位机可以通过设置多次轮询来重新检测该设备是否正常; B、回应查询数据包: 方向:下位机-----上位机 数据包消息:数据包头+从机地址+检测功能码(Fun_CheckSlave)+自定义内容(接收自主机Check_Content)+校验字节 C、回应错误数据包: 方向:下位机-----上位机 数据包消息:数据包头+从机地址+检测功能码(Fun_CheckSlave)+错误码(ErrorInfo)+校验字节 (2)主机获取从机评分相关数据包:(主机与单个从机设备通信) D、获取多、单机评分数据包: 方向:上位机-----下位机 数据包消息:数据包头+检测正常从机地址+读下位机功能码(Fun_ReadInfo)+从机地址+校验字节 功能:对检测正常的设备,进行一次轮询,获取评分已经准备好的从机的分数。对于单机直接进行通信,没有轮询。 E、结果返回数据包: 方向:下位机-----上位机 数据包消息:数据包头+从机地址+复位功能码(Fun_ReadInfo)+从机返回的分数值+校验字节(分数值100:表示上面提及的为准备好,错误消息的变体) (3)此轮评分结束相关数据包 F、复位数据包:(主机与所有从机通信) 方向:下位机-----上位机 数据包消息:数据包头+广播地址+复位功能码(Fun_Reset)+从机返回的分数值+校验字节 功能:指示所有正常连接的从机进行复位操作,准备下一轮的评分。 评分系统电路原理图 1. 485模块电路原理图 导航按键电路图 LED数码管和二极管显示电路图 电路工作原理 485_D/R为MAX485使能,当为高时,485为发送态;当为低时,485为接收态。485_D/R LED指示485_D/R值的状态。 485_RXD引脚接收数据,485_RX LED点亮时表示正在接收数据。 485_TXD引脚发送数据,485_TX LED点亮时表示正在发送数据。 在之前的测试DEMO中已经对这些电路的实现进行了详细的阐述,这里不再述说。 (四)程序总框图设计流程如下所示 (五)下位机相关寄存器配置 1. 选择485芯片引脚: P_SW2:外围设备功能切换控制寄存器2(不可位寻址) 串口2可在2个地方切换,由S2_S控制位来选择。 该开发板485芯片使用串口2的第2组引脚: P_SW2 |= 0x01 ; 2. 设置串口2的工作模式: S2CON:串行口2的控制寄存器 S2SM0指定串行口2的工作方式。 设置串行口2为:8位UART,波特率可变;允许串行口2接收 S2CON = 0x50 ; 3. 选择定时器工作模式: AUXR:辅助寄存器(不可位寻址) T2R:定时器2运行控制位 T2_C/T:控制定时器2用作定时器或计数器; T2x12:定时器2速度控制位。 设置定时器2为1T模式,并启动定时器2 AUXR |= 0x14 ; 4. 串行口2中断允许: IE2:中断允许寄存器2(不可位寻址) ES2为串行口2中断允许位 IE:中断允许寄存器(可位寻址)中的EA为CPU的总中断允许控制位。 允许串行口2中断: IE2 |= 0x01 ; EA = 1 ; 5. S2BUF为串口2的收/发缓冲寄存器;S2RI与S2TI为串口2的收/发中断请求标志位。 上下位机中,数据包相关功能码及附加数据定义如下: 功能码: #define Fun_ReadInfo 03 #define Fun_WriteInfo 05 #define Fun_CheckSlave 08

文档评论(0)

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

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

1亿VIP精品文档

相关文档