下载附件
保存到相册
2010-11-7 21:06 上传
5 用MSP430来实现电容触摸感应
有两种方式来实现电容触摸感应,下面我们将详细讲述这两种方法:
下载附件
保存到相册
2010-11-7 21:06 上传
图就是使用MSP430内部的比较器来实现一个张弛震荡触摸按键的的电路。在在输入端,比较器的正接到了一个电阻网络,比较器的负接到了电阻Rc与感应电容之间。比较器所接的电阻网络为比较器提供了参考电压,而这个参考电压又受到了比较器输出反馈的激励,所以其值在1/3Vcc和2/3Vcc之间反复变化。造成张弛振荡器的持续震荡,其震荡频率可由以下公式算出:
fOSC = 1/[1.386 × RC × CSENSOR]
当下载附件
保存到相册
2010-11-7 21:06 上传
在这种方法中,主要检测的是电容充电和放电的时间。首先,由一个GPIO(Load)对电容下载附件
保存到相册
2010-11-7 21:06 上传
在这种方式下,比较器的一端还是和原来一样接到电阻网络中,比较器的另外一端接在一个MUX上,通过MUX选择不同的IO口读取不同按键的上的电容震荡周期。每个按键上的震荡原理和单独一个按键的震荡原理一样,上面已经讲过了。
② 基于电阻的电容充放电时间检测的多按键处理
这种方法其连接图如下所示:
从图中大家可以看到,每个按键接在不同的IO端口上,并且每两个按键为一组,通过电阻进行连接。系统工作时,首先通过一个IO口对一个按键进行充电(如需要检测第一个按键 ,则是第一组IO中的下面那个负责对按键进行充电)并且开启计时器;另外一个IO口(第一组IO中的上面那个)监视IO口上电压的大小,当电压超过某一个阈值的时候停止计时器并读出当前值。同时,下面那个IO口设置为输入,对触摸按键的电容进行放电(同时启动计时器),当电容上的电压低于某个值时停止计时器并读出当前值。这两个值就是电容按键的充、放电时间。如果此时有手指“按”在按键上,那么这两个时间也将会变化。
通过不停的扫描各个按键,这个可以很容易的得到当前那个按键被“按下”。
[ 本帖最后由 youki12345 于 2010-11-7 21:09 编辑 ]
|