基于ADS7846实现的液晶显示触摸控制设计
3 触点坐标与液晶显示屏控制功能对应定位的确定
本例中ADS7846 采用差动参考电压方式,以减小测量误差,由于触摸屏存在着个体差异,不同触摸屏边沿的测量值不同,测量值达不到0 或者满量程(4096) ,而液晶显示屏具有较为准确的定位数值,很难实现触摸屏与液晶显示屏的点与点一一对应,给编程调试带来很大麻烦,只能实现触摸屏与液晶显示屏之间的区域对应,不影响液晶显示屏的显示功能和触摸屏的控制功能。
触摸屏控制器ADS7846 通过SPI 接口连接到微控制器A T89S51 上。当发生触摸时, 由ADS7846 向A T89S51 提出中断请求, 接着A T89S51 就会响应该中断请求,通过SPI 读取ADS7846 的转换结果,得到触摸点的坐标。图5为中断服务子程序与ADS7846 测量子程序流程图。
图5 中断服务子程序与ADS7846 测量子程序流程图
为了有效地找到触摸屏触摸点与点阵式液晶显示屏对应区域坐标范围,按照液晶显示屏的显示功能区域的点阵坐标,按照液晶屏上显示的控制信息字符格式,合理选择水平线和竖直线,按照液晶显示和触摸屏控制功能区域进行触摸点数值测量,找到与液晶显示屏对应的触摸屏控制区域的触摸点数值范围。根据触摸屏触摸点坐标实测数据分析可以得到对应的液晶屏上像素点坐标。
液晶屏像素点坐标与触摸屏触摸点实测数值之间的关系可以表示为:
式中: X 、Y 为触点测量值; ( Xmin , Ymin ) 和( Xmax ,Xmax ) 分别为触摸屏上的最大值和最小值坐标触点测量; ( X1 , Y1 ) 为触点在液晶屏上的像素坐标,表3 、表4 中数据为实测数据。
表3 实测竖直直线上等距离测量坐标值
表4 实测水平直线上等距离测量坐标值
值得注意的是,经测量触摸屏X 方向的转换值为从大
评论