s3c2440裸机-电阻触摸屏编程(1.电阻触摸屏原理)

电阻触摸屏原理

触摸屏包含上下叠合的两个透明层,两个透明层是由均匀的电阻介质组成,如下图。

s3c2440裸机-电阻触摸屏编程(1.电阻触摸屏原理)_第1张图片

当触摸屏表面受到的压力(如通过笔尖或手指进行按压)足够大时,顶层与底层之间的薄膜会产生接触,此时会形成x方向和y方向的坐标。那么x,y坐标的值是怎么得来的呢?本质上就是通过ADC转换得来的。详解如下:

触摸屏的等效电路可以看成如下图:
s3c2440裸机-电阻触摸屏编程(1.电阻触摸屏原理)_第2张图片

计算触点的X,Y坐标分为如下两步(见下图):

  1. 计算Y坐标:

在Y+电极施加驱动电压Vdrive, Y-电极接地,X+做为引出端测量得到接触点的电压,触点电压与Vdrive电压之比等于触点Y坐标与屏高度之比。

  1. 计算X坐标:

在X+电极施加驱动电压Vdrive, X-电极接地,Y+做为引出端测量得到接触点的电压,触点电压与Vdrive电压之比等于触点X坐标与屏宽度之比。

s3c2440裸机-电阻触摸屏编程(1.电阻触摸屏原理)_第3张图片

平时的时候上下两层膜并不连接的,我们把这种状态称为“等待中断模式”, 等效电路如下:

平时 Y_ADC/xp是高电平,按下之后Y_ADC就接地了,就是被拉低了,就产生了低电平,所以当按下触摸屏的时候就会产生触摸屏中断。

我们现在总结下使用触摸屏的流程:
<1>按下触摸屏 按下触摸屏时,对于一个高效的系统,产生中断,这是触摸屏中断
<2>在触摸中断程序中 启动ADC,(获得数据,xy坐标)启动ADC就开始模数转换,不可能瞬间完成,
<3>ADC完成, 产生中断
<4>ADC中断中读取x y坐标,我们来想想,在这个流程里,启动触摸屏的源头是按下触摸屏,那如果长按触摸屏,我按下之后一直不松开 滑动手指呢
那么谁来触发后续的多次ADC转换呢 不可能只启动一次吧, 为了支持 长按 滑动操作,我们需要启用定时器.

<5> 启动定时器
<6> 定时器中断发生,判断触摸屏是否仍被按下,如果按下就循环上述过程
<6.1>在触摸中断程序中 启动ADC,(获得数据,xy坐标)启动ADC就开始模数转换,不可能瞬间完成
<6.2>ADC完成, 产生中断
<6.3>ADC中断中读取x y坐标,)

你可能感兴趣的:(s3c2440裸机-电阻触摸屏编程(1.电阻触摸屏原理))