触摸屏与单片机的通信实现

出处:jubaopen 发布于:2011-08-19 10:34:50

  随着触摸屏的应用和产量的增加,价格下降。因而有可能使用触摸屏作为单片机控制设备的键盘和显示装置,提高单片机控制设备的档次。触摸屏与PLC联合使用时,触摸屏的主要功能是:

  ①显示PLC输入,输出端13或辅助继电器开关状态。

  ②用触摸按键强制PLC输入,输出端口或辅助继电器的开/关。

  ③显示PLC中定时器、计数器和数据寄存器的内容。

  ④用触摸屏键盘把设定数据送入PLC的数据寄存器中。

  可规纳成触摸屏与PLC问对应地址的数据位、字的读和写。因此可以利用MOD—BUS通信协议来实现触摸屏与单片机的通信和控制,或触摸屏与多台单片机通信,构成一个集散控制系统。

  1  触摸屏与单片机的硬件联接

  采用MT500触摸屏与AT89C52单片机一对一通信。把触摸屏的PLC232 9针插座与带有RS232接口的AT89C52单片机相连接。如图1所示。注意:通信电缆DB9是2-2、3—3、5-5。

  这种接法的电缆也可用于与PC机通信或做通信摸拟。作PC机通信时在连接PC机端的DB9短接4—6、7—8。由于AT89C52单片机无RS232接口,因此需要扩展一片MAx232,把RXD、T×D的TTL电平转换成RS232电平。

触摸屏与单片机通信联接方法

图1 触摸屏与单片机通信联接方法

  2  建立触摸屏与单片机的内部存储器地址对应关系

  打开触摸屏组态软件,从[编辑]下拉菜单中选[系统参数],弹出如图2所示参数设置对话框。触摸屏的系统参数中PLc类型设置成MODBUS RTU,通信参数设置必需与单片机通信参数设置一致。通信口类型设置成RS232,数据位设置成8位,1个停止位,波特率9600,校验位设置与单片机编程一致,PLC站号是单片机定义的站地址一样,站号需从1开始。参数设置完成,按确定键。

参数设置对话框

图2参数设置对话框

  这时触摸屏的可操地址范围如表1所示。

表1 触摸屏在设置成MODBUS RTU摸式时可操作地址范围

  Ox1—Ox9999、1×1—1x9999用于位操作的存储器,3xl一3x9999、4xl一4x9999用于字操作的存储器。lxl一1x9999作为输入节点(只读)位操作的存储器,用作触摸屏上的位状态指示灯。Oxl~oX9999可读可写,可作位状态指示灯、按键、触发控制摸位等。3xl-3x9999作为输入数据存储器,可作触摸屏中的数值显示元件和多状态指示灯等。4xl一4x9999可读可写,可作触摸屏中的数值输入元件和多状态设定元件等。其地址采用十进制数表示。OxO、lx0、3xO、4x0不可使用,否则编译时会出错。

  在单片机中可自由定义分配与触摸屏相对应的寄存器地址。

  如假设P2、P3口为输入口,P0、P1为输出口。为了便于单片机编程,可以把P2、P3口的引脚状态映射到20H、21H,与触摸屏lxl一1x16相对应。把P0、P1输出口数据存到寄存器22H、23H,与触摸屏0xl一0x16相对应。24H一28H作为位操作存储区,与触摸屏0x16-1x56相对应。把30H-3F:H设置成8个数据显示寄存器,与触摸屏3xl-3x8相对应。把40H一4FH设置成8个数据设置寄存器,与触摸屏4x1-4x8相对应。这样可列出触摸屏与单片机通信地址对应表,位地址如表2所示。字地址如表3所示。

表2摸屏与单片机通信位地址对应表

表3摸屏与单片机通信字地址对应表

  3  触摸屏组态软件编辑

  打开触摸屏组态软件,先按上述方法设置[系统参数],光标移到[窗口/元件选择列表框],单击鼠标右键,新建一个窗口,按要求填写对话框。按确定键,出现一个编辑窗,下面以设置一个位状态显示元件(指示灯)和一个数值显示元件(数据显示窗)为例,说明触摸屏编辑的地址与单片机内的地址建立相互联系的方法。现以要显示单片机中位20H(24H.0)的状态和显示40H、41H的数值为例。把鼠标点击元件工具箱中的元件图或从菜单[元件]的选项中拖出一个位状态指示元件。并弹出位状态显示元件属性对话框。

  在读取地址栏[设备类型]中选0x,[设备地址]写入17,见表2,0x17对应20H,选择适当的图形、标签、大小和位置。按确定键。对话框消失,在编辑窗口出现一个位状态显示元件L1。一旦建立了正确的通信关系,则这个位状态显示元件的不同显示状态反应了单片机中位20H状态的变化。

  把鼠标点击元件工具箱中的元件图或从菜单[元件]的选项中拖出一个数值显示元件。并弹出数值显示元件属性对话框。如图3所示。

数值显示元件一性对话框

图3数值显示元件一性对话框

  在读取地址栏[设备类型]中选叙,[设备地址]写入1,见表3,3xl对应40H(高位),41H(低位),选择适当的图形、标签、大小和位置。按确定键,对话框消失。

  在编辑窗口出现一个数值显示元件,一旦建立了正确的通信关系,则这个数值显示元件显示单片机中位40H(高位),41H(低位)的数值。

  4 MODBUS RTU(远程终端设备)通信协议简介

  触摸屏与单片机通信是主从通信方式,触摸屏是主机,单片机是从机。触摸屏根据画面编辑的控件,不断发送位、字的读或写的指令。单片机不断应答指令。

  本文介绍MODBUS RTU通信格式,字符帧由8个数据位,1个起始位,1个停止位,1个奇偶校验位(当不采用校验位时,则设置2个停止位)。发送或接收每个字节,必需经过CRC出错校验运算。运算方法详见参考文献。

  一个指令帧由从机地址、功能码、数据域和CRC校验码组成。数据域由读、写位或字数据的十六位首地址(高位在前,低位在后)、十六位操作数(高位在前,低位在后)、为十六位CRC校验码(低位在前,高位在后)。发送或接收前后必需有大于3.5MS的延时,以示一个指令帧的开始或结束。地址码和功能码均为一个字节。

  下面举例说明用MODBUS RTU通信协议的通信格式:

  1)读触摸屏指定首地址0x17对应单片机中首地址20H的一个字(十六位)的位状态。

  触摸屏发送通信格式:

  单片机应答通信格式:

  触摸屏位地址0x17对应单片机首地址24H.0,回送24H.

  0~20H.7,25H.0-25H.7,十六位状态。

  2)读触摸屏指定首地址4xl对应单片机中首地址40H的一个字(40H。41H)的数值。

  触摸屏发送通信格式:

  单片机应答通信格式:

  3)将触摸屏指定地址位0x18对应单片机中21H(24H.1)位置1或清零。

  触摸屏发送通信格式:

  单片机应答通信格式:

  表中置位命令0FF00H为置1,0000H为清零。

  4)将触摸屏指定首地址4x2对应单片机中首地址42H的一个字42H,43H写入一个设定值oal64H。

  触摸屏发送通信格式:

  单片机应答通信格式:

  用类似的方法,根据项目要求,选择控件和编辑控件属性。

  建立触摸屏与单片机的地址联系,按照MODBUS协议编写单片机与触摸屏的通信程序。则可实现用触摸屏显示单片机中位状态变化,设定数值或显示数值。

参考文献:

[1]. PLC datasheet https://www.dzsc.com/datasheet/PLC_1248813.html.
[2]. AT89C52 datasheet https://www.dzsc.com/datasheet/AT89C52_1064535.html.
[3]. RS232 datasheet https://www.dzsc.com/datasheet/RS232_585128.html.
[4]. MAx232 datasheet https://www.dzsc.com/datasheet/MAx232_1074207.html.
[5]. TTL datasheet https://www.dzsc.com/datasheet/TTL_1174409.html.

关键词:触摸屏与单片机的通信实现触摸屏与单片机通信

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

广告
OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:
技术客服:

0571-85317607

网站技术支持

13606545031

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!