触摸屏与PIC单片机通信

所需积分/C币:10 2012-11-25 20:47:48 264KB PDF
7
收藏 收藏
举报

:介绍了PIC单片机与威伦触摸屏的通讯方法及实现过程。简要分析了Modbus通讯协议,给出了PIC单片机与 触摸屏异步串行通讯的硬件连接图和软件主要功能流程图,对测试结果进行了分析。实验验证:该方法稳定可靠,目前已 成功应用于光电色选机系统,同时也为开发者采用触摸屏与带串行接口的智能设备之间的通信连接提供了参考。
60 Instrument Technique and Sensor 0ct.2009 开始 触摸屏每隔3ms左右即向单片机发一次中断请求,可以设 置超时控制,如果接收超时,则重新发送数据。PIC单片机串行 保存现场 接口中断子程序流程图如图3所示。 开始 接收时间间隔大于 N 4个字符传输时间 保存现场 N 判断正在接收标志? N 判断帧起始标志? 定帧结束标志 间间隔小 清除正在接收标志 于2个字符 设置正在接收标志 设定赖起始标志 置起始标志 接收数据 恢复现场 接收时 返回 隔寄存器清零 图4定时器中斷流程图 恢复现场 A rece Count=0; Read InRO; I break case 0x05; if( rece Count>=8) A rece Count=0; Force Coil(;Ibreak 返回 case 0x06 if(rece Count>=8) i rece Count=O; Write Byte(; I break 图3串行接口中断子程序流程图 default rece Count=0 按照 Modbus rtu模式协议中的规定,程序中使用了一个 定时器来判断帧的起始和结束。如检测到4个或更多的传输 字符的停顿时间,则设定帧的起始标志。接收帧的过程中如检 测到2个传输字符的停顿时间,则重新刷新帧的起始标志;如4测试结果 检测到4个传输字符的停顿时间,则设定帧的结束标志,然后 以 Modbus功能码03为例来说明触摸屏与单片机的通信 进入帧数据的处理过程。定时器中断流程图如图4所示。 数据格式。单片机地址编号为01,如触摸屏需要查看单片机中 接收完1帧数据后,主函数中要对数据进行分析处理包以0x50为起始地址的连续3个寄存器的值发送命令格式如表 括接收数据存储和发送应答,其格式在协议中都已详细给出,3所示。假设单片机中3个寄存器的值分别为0x50=10.0x51 下面仅给出数据帧分析处理程序片断,如下所示 =2000和0x52=30,则单片机的回复命令如表4所示。测试 voidAnalyzeRecieve( void) 中,主机为威伦触摸屏,从机为PC单片机。 表3触摸屏发送数据结构 f( RecieveBuf0]==1)/地址是否匹配 动作 发送 站号 switch( Recieve Buf[ 1]) 功能码 地址高位 地址低位 I rece Count=0; Read outB(): break 高位 0x02: if( rece Count>=8) 低位 I rece Count=0; Read inB(); break; CRC低位 case 0x03 if(rece Count>=8) CRC高位 OE I rece Count=0 Read OutR(:Ibreak case0x04: if( rece Count>=8 (下转第75页) 第10期 李宗帅等基于D=ceN现场总线的两轴伺服电机运动控制器 置(IS726RI中读取的数值)进行比较,通过PID控制器输出 开始 至DAC822中进而控制电机。 初始化OR寄存器 41SJA1000的初始化设计 系统的软件程序设计中有2个难点是:SJA1000的初始化、 开始) IS7266R的初始化,这2个初始化程序设计也是系统能否正常 初始化RLD寄存器 进入复位模式 运行的关键。SJA0006寄存器仅能在它复位期间进行写访 XPRO=0、YPRC=0 选择SA100增强CAN模式 问,因此在对这些寄存器初始化前,必须确保系统进入复位状 匚 XPSCYPS赋值 态,在初始化后,须清复位请求位,使SJA00返回正常运行状 匚设置B1R0ETRl 态。SJA000的初始化流程如图4所示。 设置TDR寄存器 SJA000的初始化代码如下所示: 匚设置R 设量PR寄存器 Void SJA1000()/*SA000的初始化程序* 匚返回当前工作機式一][设置OR寄存器便能AB输人 结東 P2=0x10 東 SJA CR =0x03 图4SJA1000的初始化流程图图5LS266R1初始化流程图 SJA ACR=0x00 JA AMR= OxFF 5结束语 SJA BTRO=Ox03; 设计的基于 DeviceNet现场总线的两轴伺服电机运动控制 SJA BTRI =0x18; 器,成本低、容易实现,能够满足工业现场要求不是很高的运动 SJA OCR =OXFA 控制系统,是一种比较经济的 DeviceNet智能节点。 SJA CDR =0x4D: 参考文献 SJA CR=Ox02 [1]王立萍CAN总线技术在电涡流缓速器控制系统中的应用仪表 技术与传感器,2008(8):47-48 42IS7266R1的初始化设计 [2]邬宽明.CAN总线原理和应用系统设计北京:北京航空航天大学 该运动控制器中是通过可编程分频计数器LS7266R来采 出版社,1996. [3] Philips Semiconductors-Home. PCA82C250 DATA SHEETA 集电机上编码器的脉冲值,然后计算取出电机的速度。它能否 [4]邓海龙CAN总线控制器SJA1000的初始化程序设计,南通纺织 正确的工作直接关系到电机控制的成败,LS7266R1的软件编 职业技术学院学报,2004(4):11-13 程,主要涉及初始化操作以及如何读取它的计数值。LS7266R1 [5]方晓柯徐林、王建辉,等. DeviceNet现场总线特点分析及节点电 的初始化流程如图5所示。在读取IS726R1中的数值时要注 路设计,仪器仪表学报,2005(11):l174-1177 意首先是BP指针复位将计数器中内容装载到OL中,然后再作者简介:李宗帅(1982-),助教,硕士,从事电力电子与电力传动运 读取XPR、YPR中的数值。 动控制方面研究。E-mail; zili@ cauc.edu (上接第60页) 方便。采用 Modbus协议与PC单片机通信,其速度快抗干扰 表4单片机应答数据结构 性强、误码率低、电路连接简单、易于实现,目前该系统已在现 动作 返回场成功运行,受到操作人员的一致好评。由于 Modbus通信协 站号 O1 议具有开放性通用性的特点,对通讯系统进行少量改造,即可 功能码 字节数 应用于其他人机界面控制系统中。 0x50寄存器值高位 参考文献: 0x50寄存器值低位 OA 0x51寄存器值高位 [1]王嗣常,周有庆,邵霞,等. Modbus协议在保护测控装置内部通信 0x51寄存器值低位 中的应用,仪表技术与传感,208(6):61-64 0x52寄存器值高位 [2]陈鑫,孙苓生用DSP实现 Modbus协议与GP触摸屏通讯工业 052寄存器值低位 IE 控制计算机,2004,17(3):15-16 CRC低位39cRC高位 3]张明峰PC单片机入门与实战.北京:航空航天大学出版社, 由表3表4可以看出,触摸屏和单片机的通信准确无误 不过触摸屏在读取以050为起始地址的寄存器值时,触摸屏[4]刘和平PC6F87X单片机实用软件与接口技术一C语言及其应 发送的帧结构中地址为0x49,这是因为 Modbus协议中规定编 用.北京:北京航天航空出版社,2002 程时起始地址要在实际地址的基础上减1 作者简介:孟华(1958-),副教授,主要研究方向为智能检测技术,Gs 5结束语 及应用。E-maill:mhual1e63@163.com 通讯系统采用威伦触摸屏,人机界面美观,价格低廉,操作

...展开详情
试读 4P 触摸屏与PIC单片机通信
立即下载 低至0.43元/次 身份认证VIP会员低至7折
一个资源只可评论一次,评论内容不能少于5个字
IrisWuuuuu 很有用,有帮助
2012-12-05
回复
Leefya 可惜不是源程序。分数要的高了。
2012-12-02
回复
您会向同学/朋友/同事推荐我们的CSDN下载吗?
谢谢参与!您的真实评价是我们改进的动力~
上传资源赚积分or赚钱
最新推荐
触摸屏与PIC单片机通信 10积分/C币 立即下载
1/4
触摸屏与PIC单片机通信第1页

试读结束, 可继续读1页

10积分/C币 立即下载 >