- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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)