用单片机内部的AD去做触摸屏

2020-01-13 18:31发布

用单片机内部的AD去做触摸屏
触摸屏原理

(原文件名:1_1.jpg)

触摸屏包含上下叠合的两个透明层,四线和八线触摸屏由两层具有相同表面电阻的透明阻性材料组成,五线和七线触摸屏由一个阻性层和一个导电层组成,通常还要用一种弹性材料来将两层隔开。当触摸屏表面受到的压力(如通过笔尖或手指进行按压)足够大时,顶层与底层之间会产生接触。所有的电阻式触摸屏都采用分压器原理来产生代表X坐标和Y坐标的电压。如图3所示,分压器是通过将两个电阻进行串联来实现的。上面的电阻(R1)连接正参考电压(VREF),下面的电阻(R2)接地。两个电阻连接点处的电压测量值与下面那个电阻的阻值成正比。
为了在电阻式触摸屏上的特定方向测量一个坐标,需要对一个阻性层进行偏置:将它的一边接VREF,另一边接地。同时,将未偏置的那一层连接到一个ADC的高阻抗输入端。当触摸屏上的压力足够大,使两层之间发生接触时,电阻性表面被分隔为两个电阻。它们的阻值与触摸点到偏置边缘的距离成正比。触摸点与接地边之间的电阻相当于分压器中下面的那个电阻。因此,在未偏置层上测得的电压与触摸点到接地边之间的距离成正比


(原文件名:2.gif)
计算触点的X,Y坐标分为如下两步:
  1. 计算Y坐标,在Y+电极施加驱动电压Vdrive, Y-电极接地,X+做为引出端测量得到接触点的电压,由于ITO层均匀导电,触点电压与Vdrive电压之比等于触点Y坐标与屏高度之比。
  2. 计算X坐标,在X+电极施加驱动电压Vdrive, X-电极接地,Y+做为引出端测量得到接触点的电压,由于ITO层均
匀导电,触点电压与Vdrive电压之比等于触点X坐标与屏宽度之比。

(原文件名:3.gif)


测得的电压通常由ADC转化为数字信号,再进行简单处理就可以做为坐标判断触点的实际位置。


(原文件名:4.gif)

检测X坐标


(原文件名:5.gif)


检测Y坐标
具体程序见压缩文件


点击此处下载 ourdev_664232XWZSTN.doc(文件大小:132K) (原文件名:用单片机内部的AD去做触摸屏.doc)

程序在压缩包内
点击此处下载 ourdev_664234APBZC0.rar(文件大小:37K) (原文件名:单片机操作触屏.rar)
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
76条回答
anstxfw
2020-01-19 22:25
回复【46楼】AIDN
按lz的原理今天用stm32试了下,当触摸时很好用,但没触摸时由于模拟端悬空值跳得非常厉害,想了下无论上拉下拉都有可能不触发,现在不知如何处理。
-----------------------------------------------------------------------

我遇到了没有触摸会有电压值,测X轴,Y+接推挽置1口,Y-接开漏置0口,X-接开漏置1口,X+接AD模拟输入口,结果没触摸测量会有电压值,不知道还有谁用这种方法做触摸屏的

一周热门 更多>