电容触摸屏原理:当手指触摸屏幕时,手指与导电涂层之间形成了一个微小的电容。传感器会检测这个电容的变化,并将其转化为触摸信号。
电阻触摸屏原理:主要基于电阻效应,即当触摸屏被触摸时,触摸点处的导电层之间会形成一个电阻,导致电流通过。
电容触摸屏比电阻触摸屏贵一些,电阻只能支持单点触碰,电容屏支持多点,可以通过这个去判断到底是电阻屏还是电容屏。而且电阻触摸屏要大力触碰才可以感应到,电容屏相对而言用比较小的力就可以。
概论
本博客主要说一下电阻屏,电阻屏有两个ITO图层,两个ITO图层的两端分别引出X-/X+/Y-/Y+四个电极,
一个叫X层,一个叫Y层,当触摸屏被按下时,两个ITO层相互接触,从触点处把ITO层分为两个电阻,且由于ITO层均匀导电,两个电阻的大小与触点离两电极的距离成比例关系,利用这个特性,可通过以下过程来检测坐标。

STM32F103的电阻屏控制器原理图如下

右侧的是SPI的几个引脚可与STM32的排针相连,之后通讯;
PENIRQ是中断引脚, 表示有触摸信号;
左边引脚用于检测触摸信号的位置;
电阻屏的原理框图如下:
左下部分我们可以联想到刚刚说的,想测X方向电压时我们可以令X+=3.3V,X-=GND,然后让ADC 去检测触点处电压。与XN/YN/XP/YP相连的是mos管,可以看作是开关,而开关受到控制逻辑的控制,控制逻辑受控于最右侧的那些引脚,比如我们触摸电阻屏产生PENIRQ中断之后就会去控制XN/YN/YP/XP的电压去测具体位置。
PENIRQ跳变到低电平时就提醒我们要去通过SPI发送一个控制字给控制逻辑进行触摸位置的检测了。控制字有八位,

第7位为1的时候会开启检测
第3位MODE用于控制是八位还是十二位(12位的精度低但速度快)的分辨率,一般配置成0(0是2位的)
1-0位是用来配置是否节省电源的,配置成00的时候节省电源,
第6-4位是最重要的 意义如下(需要结合第二位是高电平还是低电平,低电平看下面那个表)

本文介绍了电阻触摸屏的工作原理,以及STM32F103如何通过SPI通信和PENIRQ中断检测触摸信号。详细讲解了电阻屏控制器的配置和状态机编程,包括双击、单击等事件处理。建议参考视频教程以获取完整实现细节。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



