




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、经常需要观察系统的运行状态或者修改运行参数。触摸屏能够直观、 生动地显示运行参数和运行状态,而且通过触摸屏画面可以直接修改 系统运行参数,人机交互性好。单片机广泛应用于工控领域中,与触摸 屏配合,可组成良好的人机交互环境。触摸屏和单片机通,需要根据触 摸屏采用的通信协议为单片机编写相应的通信程序。modbus协议是 美国modicon公司推出的一种有效支持控制器之间以及控制器经由网络(例如以太网)和其它设备之间进行通信的协议。本文以pic16f877单片机和人机电子有限公司的eview mt510t型触摸屏为例,介 绍其通信程序的开发过程。1系统结构实现触摸屏与单片机的通讯,主要是解决通讯协议
2、的问题。本文使用开放的modbus通讯协议,以触摸屏作主站,单片机作从站。eview触摸屏本身支持modbus通讯协议,如果单片机也支持modbus协议,就可以进行通信了。触摸屏与单片机之间采用的rs-232c兼容接 口直接连接,传输速率设置为9600kb/so图1为该系统的电路图。将pic16f877单片机rc6、rc7 口设置为异步串行通信模式,经过max232芯片将ttl电平转换为rs232电平,再与eview触摸屏plcrs-232接口相连,即完成了硬件连接oeview触摸屏plcrs-232接口的管脚2为txd,管脚3为rxdo2 modbus通信协议介绍modbus通信协议是一种串
3、行的主从通信协议,网络里仅有一台设置可作为主机(称master),其它设备作为从机(称slaver), 主机不需编号,从机必须编号。协议定义了主机查询及从机应答的信 息帧格式。通信时,主机首先向从机发出请求信息,符合相应地址码的 从机接收通讯命令,并除去地址码,读取信息,如果没有出错,则执行 相应的任务,然后把执行结果返给主机。若从机接收到的校验码与本 机计算的不同,则说明数据在通信过程中出现错误,从机把这次请求 视为无效,功能代码将被修改以用于指出回应消息是错误的,同时数 据段包含了描述此错误信息的代码。当主机收到这一信息时,会重新发送请求信息。校验方式分为lcr (传送数据为acsii时)
4、校验或crc (传送数据为二进制时)校验,这里采用crc校验方式。信息传输为异步方式,并以字节为单位。主从站之间通讯的字格式如表1所示。表1通讯的字格式字格式(串行数据)起始位数据位奇偶校验位停止位b位二进制1位8位无1位modbus协议可支持ascii码或二进制格式的数据传输。acsii码方式下每一个字节数据分两个字节传送,二进制方式下用一个字节传送,为了减少数据传输量,般选二进制数据方式。各个区允许发送的字节均为16进制的09,af。二进制信息帧标准结构为:初始结构24字节的时间地址码1字节功能码1字节数据区n字节结束结构24字节的时间二进制模式中,信息开始至少需要3. 5个字符的静止时间
5、,依 据使用的波特率,很容易计算这个静止时间。发送完最后一个字符后, 也有一个至少3. 5个字符的静止时间,然后才能发送一个新的信息。 网络上的设备连续监测网络上的信息,包括静止时间。3单片机与触摸屏地址的对应关系 eview触摸屏只支持bit和word地址类型,而实际的单片机或其它控制器还有byte、double word等表示方法,因此在进行通信 时,需要把单片机和触摸屏的数据进行变换。触摸屏画面元件读取地 址的设备类型有lw、ox、lx、3x、4x、rwi、rw等选项。其中,lw表 示该元件读取的是触摸屏内部的地址,如其它元件的地址;ox表示读 取的是控制器的输出信号;lx表示读取的控制
6、器的输入信号;3x和4x 指控制器的寄存器地址类型,其中4x是可读可写的,3x是只读的;rwi、rw都是触摸屏的内部地址,起辅助作用。使用这些读取地址的设 备类型,触摸屏即可显示或设定控制器寄存器或i/o 口的数值。以“数 值输入”元件为例,通过“小键盘”输入数据即可设置单片机寄存器 或i/o 口的数值。如果启动了 “触发地址”,那么当被触控时,输入的数据就被存放到了指定的单片机地址中。4通信程序的开发触摸屏与单片机的通信程序釆用pic单片机c语言编写。编译工具选择hitech公司的picc编译器。程序共分三大模块,即初始 化模块、数据接收模块以及数据处理及发送模块。主程序流程图如图2所示。p
7、ic16f877单片机usart功能模块带有一个八位的波特率发 生器brg, brg支持usart的同步和异步工作方式。用spbrg寄存器控 制一个独立的八位定时器的周期。在异步方式下,发送状态/控制寄存 器txsta的brgh位(即d2)被用来控制波特率。对串行口进行的初 始化如下:gie=1; %全局中断允许;spbrg=25; %设置波特率为9600;b<sta=0 x04 ;%选择异步高速方式;rcsta=0x80; %允许同步串行口工作;rtisc6=1;trisc7=1; %将。口的rc6和rc7设置为异步串行通信模式;pfie=1; %外围接口中断允许;rcie=1; %u
8、sart接收中断允许;txie=1; %usart>送中断允许;数据接收模块由一个中断函数组成。该中断函数将触摸屏发 来的modbus数据帧存储在一个自定义的数组中,当一帧数据接收完 时,置接收结束标志位为1,转入数据处理及发送模块。串行通信接收 器的核心是接收移位寄存器rsr,当接收到停止时,如果rcreg缓冲器 为空,rsr就把接收到的数据送入rcrego传送完成后,接收中断标志位rcif被置lo实际的中断是否被cpu响应,可以通过设置外接口中断允许寄存器pie1的中断允许位rcie来控制。数据处理及发送模块执行modbus协议功能码对应的运用。eview触摸屏与单片机以modbus
9、协议通信,用到的modbus功能码如表 2所示。功能码eviewife址名称含义作用1ox读开关量输出读取一路或多路开 关量输出状态34x读保持寄存器读取一个或多个保 持寄存器的数据5ox1x写开关童输出强置一路维电器的“分洽”输出以modbus功能码03为例来说明触摸屏及单片机的实际通信数据格式。如单片机地址编号为01h,触摸屏需要查看单片机中地址为0031h的寄存器的值,发送命令格式如表3所示。表3触摸屏发送数据结构数据段名称数据值地址1功能码3读取地址高位0读取地址低位 31读取数据个数高位 0读取数据个数低位 1crc校验码高位 d5crc校验码低位 c5假设单片机中地址为0031h的寄存器中断为05h,则单片机的回复命令如表4所示。表4单片机应答数据结构数据段名称地址功能码读取字节数寄存器数据高位数据值1320寄存器数据低位5crc校验码高位78crc校骑码低位47
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年法学基础的试题及答案
- 2025租房合同的范本 租房合同样本
- 2025年发热测试题及答案
- 2025年合同解除权的行使与效力分析
- 2025演艺艺术授权合同
- 各行业产品分类销售数据表
- 百年孤独片段解读:文学作品的教学与解析
- 2025年四川省农民合同制职工劳动合同书样式
- 供暖管道改造协议
- 在线音乐托管合同
- NCCN成人癌痛指南
- 地理与生活密切相关
- 望闻问切中医四诊
- 订单交期管理制度流程
- 动画制作员职业技能大赛考试题库(浓缩500题)
- 动画制作员职业技能竞赛理论考试题库(含答案)
- 妊娠合并脓毒血症护理查房
- 《冠心病病人的护理》课件
- 牧场物语-矿石镇的伙伴们-完全攻略
- 2024年甲醇合成及精馏操作理论试题题库
- 外科学-第三十六章-阑尾疾病
评论
0/150
提交评论