附件:320240触摸绘图程序.rar
[本地下载]驱动触摸屏的芯片很多,如ADS7873,ADS78646等等,在这里我使用的深圳市卓立恩科技的5.7寸RA8806控制器的带触摸屏的液晶模块,RA8806自带精度10位的触摸驱动功能,且内建中文字库,与ADS7843相比精度稍差(ADS7843为12位),但是对于5.7寸液晶来说RA8806就足够了。内建中文字库使得编程显示汉字的时候很简单。废话说了一大堆,实现思路是什么呢?首先我们让单片机外中断接RA8806的触摸中断信号脚,这样当有触摸动作时单片机就会进入中断处理触摸坐标值。1.触摸动作,进入中断---2.读取并处理触摸坐标X,Y的值,为了编程方便,我们要将触摸坐标与液晶模块点阵坐标做一个转换对应----3.判断坐标是不是在按键范围内,在则实现相应功能。为什么要对触摸坐标X,Y进行处理呢?比如我们要在液晶模块的X,Y坐标上做一个按键,这个按键长为h个点,宽为m个点,那么这个范围对应了触摸屏上一个范围的坐标,我们将触摸坐标转换为相应液晶模块的坐标,这样对触摸屏与液晶屏的交互就变得很简单。触摸坐标转换转换我们常见的方法有四点法和最值法。4点法精度较高适合需要触摸精度较高的产品,最值法精度相对较低,在附件中有对算法的详细说明。本程序使用的最值法转换,在液晶显示范围内记录触摸坐标的最大最小值,利用算法进行转换。附件是程序和转换方法。