1.9.3_ADC和触摸屏_电阻触摸屏硬件原理_P

1.9.3_ADC和触摸屏_电阻触摸屏硬件原理_P
如上图示,假设有一个长度为L的电阻,一端接地,另一端接3.3v,如果这个电阻的阻值是均匀分布的,那么根据欧姆定律,电阻某一位置x的电压值就与电阻的长度就会有一个关系式,我们就可以根据这一点的电压推导出这一点在L的位置分布。

这就是电阻触摸屏的硬件原理。

在LCD屏幕上覆盖了一层触摸屏,这层触摸屏由两层贴的很近的膜组成。

1.9.3_ADC和触摸屏_电阻触摸屏硬件原理_P
在上面这层膜的两边引出Xp和Xm,在下面这层膜的两边引出Yp和Ym,当触摸屏被按下时,两层膜就会贴到一起,根据这一特点我们可以测出触点的X,Y坐标。

测量触点的X坐标:

  1. 将Xp接3.3v,Xm接地,Ym和Yp不接电源;
  2. 测Yp电压,就可以得到X坐标的AD值;

同理,测量触点的Y坐标:

  1. Xp,Xm不接电源,Ym接地,Yp接3.3v;
  2. 测Xp电压,就可以得到Y坐标的AD值。

再总结一下使用触摸屏的流程:

  1. 按下触摸屏,产生触摸中断;
  2. 在触摸中断中,启动ADC(获得X,Y坐标的AD值);
  3. ADC完成产生中断;
  4. 在ADC中断中读取X,Y坐标AD值;
  5. 松开;

注意上面的触摸中断和ADC中断是两个不同的中断,当我们单次点击触摸屏时,流程大致如上,但是,如果我们长按触摸屏不松开或者长按滑动,上面的流程就会有问题,因为它只处理第一次按下的触摸。

为了支持长按和滑动,流程的第五步需要更改一下:

  • 从松开变为启动定时器;
  • 增加第六步,定时器发生中断,判断触摸屏仍被按下,循环第2步,处理后续触摸;
  • 增加第七步,检测已松开,那么结束流程。

总结一下,使用触摸屏的流程就变成了:

  1. 按下触摸屏,产生触摸中断;
  2. 在触摸中断中,启动ADC(获得X,Y坐标的AD值);
  3. ADC完成产生中断;
  4. 在ADC中断中读取X,Y坐标AD值;
  5. 启动定时器;
  6. 定时器发生中断,判断触摸屏仍被按下, 跳到第2步,否则跳到第7步;
  7. 已松开,结束流程。

下图是四线电阻触摸屏的等效电路,通过S1到S5五个开关的开通和闭合,我们就可以测量出触点的X,Y坐标。
1.9.3_ADC和触摸屏_电阻触摸屏硬件原理_P
下图是等待中断模式时的等效电路,也就是等待触摸屏被按下的电路,断开S1,S2,S3,闭合S4,S5,此时就处于等待中断模式,Y_ADC也就是Xp处于高电平,X_ADC/Yp则处于低电平。
1.9.3_ADC和触摸屏_电阻触摸屏硬件原理_P当触摸屏被按下时,S1,S3闭合,S2,S4,S5断开,此时就可以读取X_ADC/Yp的AD值,进而读到触点的X坐标值。
1.9.3_ADC和触摸屏_电阻触摸屏硬件原理_P
同理,读取Y坐标的AD值时,断开S1,S3,S5,闭合S2,S4,此时读取Y_ADC/Xp的AD值,就可以得到触点的Y坐标。
1.9.3_ADC和触摸屏_电阻触摸屏硬件原理_P

上一篇:电脑开机后怎样自动加载进程


下一篇:【数字信号】基于matlab轴承故障分析(时频图+功率谱)【含Matlab源码 922期】