新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于ARM7和VC平台的高分辨率红外触摸屏设计

基于ARM7和VC平台的高分辨率红外触摸屏设计

作者:时间:2009-12-30来源:网络收藏
由于刚接收的数据为VARIANT类型,故需将其转化为int型变量来进行以上坐标的组合。该转换过程是先将VARIANT类型变量赋值COle-SafeArray类,再利用COleSafeArray类中的成员函数将数据写入BYTE型数组中,最后将BYTE型数据转化为int型。

本文引用地址:http://www.eepw.com.cn/article/152166.htm

  2.2鼠标动作

  鼠标动作在的应用中甚为重要。它主要包括鼠标的定位,鼠标的移动,鼠标的左键单击和双击,以及鼠标的右键单击。在++编程中,可通过使用API函数中的mouse_event来模拟鼠标事件,以实现以上的鼠标动作。其实现代码如下:

  定位:SetCursorPos(X,Y);

  左键单击:mouse_event((MOUSEEVENTF_LEFYDOWN,0,0,0,0);

  mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);

  在模拟鼠标动作的同时,一个很重要的处理步骤是屏蔽采集数据时受到的干扰。另外,使鼠标运动平滑化也不容忽视。


  图4是通过matlab软件对鼠标运动过程中的各坐标绘制的曲线图。通过曲线可以看到,硬件上的干扰会造成采集的坐标数据出现突变点,曲线上有很多毛刺。这也合理的解释了鼠标在运动过程会出现回跳和抖动,不能平滑运动的现象,因此必须屏蔽这些干扰。

  针对突变点,本文采用了比较法来克服。所谓比较法,就是将后一次接收到的坐标数据与前一次接收到的坐标数据做比较,并设置一定的域值范围。当比较得到的绝对值在该域值范围内时,则认为所作的动作是有效的。与此同时,还需比较前后数据的变化趋势是否一致,只有当数据的变化趋势一致,才认为鼠标的移动是有效的。

  针对毛刺,本文采用平均法和比较法来克服。所谓平均法,是将从第N组到第2N组的N组数据进行平均,然后将其作为第N组数据。这样可以有效的减少毛刺干扰。另外,也可以对前后两组数据进行比较,只有当比较得到的绝对值大于的最小时,才认为鼠标发生移动,否则原地不动。通过这样的处理,可以解决鼠标抖动的问题。经过处理后的鼠标运动曲线如图5所示。


  3结束语

  本文介绍了控制器和实现的方案,该方案以作为硬件的核心控制芯片,并通过其利用IO口对移位锁存器的控制来实现对发射管的驱动,利用地址线和数据线来实现对接收管的寻址和采样,以形成定位阵列,从而从硬件上完成了位置数据的采集。该方法可实现2046×768的高。而在软件上,通过++编程则可实现主机端的串口通信,模拟鼠标动作,并结合比较法和平均法对鼠标运动进行平滑化处理。

电容式触摸屏相关文章:电容式触摸屏原理

上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭