freetech

触摸按键的几种实现方式

0
阅读(6360)

根据工作原理不同,触摸按键分:电阻式、电容式、红外感应式和表面声波式。现在单个或几个按键中常用电容式,其基本原理是手摸上去后会增大触摸点对地的电容,根据电容的变化来判断是否有键按下。

image

现在常用的方式有2种:

1、纯软件实现:该方法不需要MCU有新的硬件资源,有IO口就能实现。如下图:T点就是触摸点,与MCU的一个IO口相连。先向IO口输出0,对电容C3放电。再将IO口设为输入+3.3V经R3向C3充电,软件通过判断T点充电到达IO口高电平阀值的时间来判断是否有键按下。因元器件参数的离散性及环境因素多变,该方式有时会出现判断错误的情况。2009年笔者在大中电器买的格兰仕电磁炉在农村的一个房子里曾按键不灵,很可能就是用这种方式实现的触摸按键。

image

 

2、硬件方式:该方法是用硬件产生2路振荡波,一路是固定频率的,一路是与触摸板相关的可变频率。以其中一路作基准,对比另一路的频率快慢来识别是否有按键。现在飞思卡尔已经有MCU内置此类硬件单元了。该方式把上图的R3换成了2路电流源对电容进行充放电,这样产生的是三角波,更易测量。

image

从下图可以看出,触摸与否2路三角波的相对频率有很大差异,就是靠这个来识别触摸的。所有判断过程由硬件完成,完成后可产生中断通知MCU进行处理。

image