一种基于MODBUS的嵌入式人机界面的设计与实现电子技术.doc

一种基于MODBUS的嵌入式人机界面的设计与实现电子技术.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一种基于MODBUS的嵌入式人机界面的设计与实现电子技术

欢迎到访我的豆丁主页:/hechaoscut (文档精灵) 本文格式为WORD,能编辑和复制,感谢您的阅读。  一种基于MODBUS的嵌入式人机界面的设计与实现 错误检测主程序 现场总线是一种用于底层工业控制和测量仪表之间的总线,人机界面设备就是作为现场总线中,控制器和操作者之间的通信员它可以完成现场控制器与操作者之间数据的接收和发送。本设计使用Atmel单片机89C52作为主要控制芯片,用以东芝丁6963C为控制芯片的128*64液晶比O作为显示界面,采用工业标准通信协议MOOBUS作为数据信息交互的介质,主要功能是完成对工业网络中现场控制器数据的采集显示,根据需要设定数据并发送到现场控制器完成控制任务,实现人机之间控制信息的交互传送。文章分别介绍了硬件设计电路和软件的设计过程,并介绍了一种好用和简单的MOOBUS从设备调试工具 Modbus slave。 系统硬件电路框图如图2。 电路部分十分简单,包括看门狗电路、4个按键的直接连接、程序扩展电路、RS232电平转换部分、液晶点阵连接部分。 MAX7OS的功能是:上电复位程序监视。89C52正常工作,执行喂狗程序时,不断从P17输出脉冲信号至MAX705的WDI脚,当单片机程序跑飞后,Pl.7不再输出脉冲信号MAX705的WDI脚在1.6S内收不到脉冲信号,将在MAX70S的RESTE端产生高电平,产生复位信号,将单片机复位,迫使程序复位到入口处。 针对AT89C52硬件资源比较丰富,考虑采用直接方式设计键盘电路,而且可以简化电路。键盘采用4个开关直接控制。开关的一段通过电阻连接电源和AT89C52的P10~P13管脚,而另一端接地。由于P10~P13是低电平工作,当不同的开关接通时,根据采集到不同端口是高还是低电平,来执行相应的按键子程序。 考虑到使用LCD具有较强的表现能力和丰富的表现方式,所以扩展了32K的EPROM27256。是为实现产品升级,完成丰富菜单,强大功能,表现动画准备的。 128*64液晶显示器LCO采用直接访问方式,直接访问方式是把内置T6963C控制器的液晶显示模块作为存储器或I/O设备直接挂在单片机的总线上。模块的数据线接单片机的数据总线上,片选及寄存器选择信号线由单片机的地址总线提供,读和写操作由单片机的读写操作信号控制。按口电路如图2所示,在图中使用了地址线AS作为模块的寄存器选择线C/D,使用地址线A15作为模块操作的片选线;模块的VO端所接的电位器是作为液晶驱动电源的调节器,调节显示的对比度。使用该种连接方式,不用考虑T6963C的时序图,不用对LCD的管脚进行单独的操作来满足时序,就像读写外部RAM一样,笔者认为比采用要在程序中实现时序的间接访问连接方式方便。 考虑到在常温下,LCD的额定电流为0。4ma所需的功率很小,再加上RS232串口集成电路MAX232有两路发送器、两路转换器,使用其中一套完成电平转换用来通信,另一套正好用来产生-10V,该电压由MAX232的14端供LCD显示画面使用。 下面介绍软件部分,主要完成一下功能按键的查询和响应、画面的显示和刷新通过MOOBUS协议完成数据的接收和传输通信。 软件结构清晰,按模块分为三大块主程序部分、T0定时中断、串口中断部分。 (1)主程序部分 主程序流程图如图3所示,主要完成一些初始参数的设定,其中LCD的初始化包括:液晶屏的尺寸光标的位置和形状等这部分程序在购买LCD时厂家会附带的,根据需要修改一下即可满足要求;还有就是将需要显示的汉字进行编码。定时器使用的是T0选择方式1,采用50ms中断查询按键,考虑到还有串口中断,使用了默认的中断优先级,即T0中断高于串口中断。这种安排已通过试验调试。在等待中断部分安排了循环执行喂狗程序目的是在程序正常执行时起到看门狗的作用,在等待中断过程中系统又不认为是死机。 main: Icall clearmemory;清内存 Icall initlcd;初始化Icd

您可能关注的文档

文档评论(0)

2017ll + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档