触摸屏与单片机的通信实现
随着触摸屏的应用和产量的增加,价格下降。因而有可能使用触摸屏作为单片机控制设备的键盘和显示装置,提高单片机控制设备的档次。触摸屏与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(低位),选择适当的图形、标签、大小和位置。按确定键,对话框消失。
在编辑窗口出现一个数值显示
- 多用户密码锁的设计(11-08)
- 基于AT89C52单片机的语音录放系统实现(05-07)
- 基于AT89C52单片机的SD卡读写设计(08-29)
- 基于AT89C52单片机最小系统接口电路设计(08-25)
- 基于AT89C52单片机的智能环保小车电路模块设计(10-11)
- 基于AT89C52单片机近距离无线通信系统电路设计(10-12)