daidaide 发表于 2015-1-9 08:47:04

STC--使用ADC做电容感应触摸按键


STC系列MCU应用文档
使用ADC做电容感应触摸按键
编写:Coody
日期:2014-3-25
版本:V1.0

按键是电路最常用的零件之一,是人机界面重要的输入方式,我们最熟悉的是机械式按键,但是机械按键有一个缺点(特别是便宜的按键),触点有寿命,很容易出现接触不良而失效。而非接触的按键则没有机械触点,寿命常,使用方便。
非接触的按键有多种方案,而电容感应按键则是低成本的方案,多年前一般是使用专门的IC来实现,随着MCU功能的加强,以及广大用户的实践经验,直接使用MCU来做电容感应按键的技术已经成熟,其中最典型最可靠的是使用ADC做的方案。
本文档详述使用STC带ADC的系列MCU做的方案,可以使用任何带ADC功能的MCU来实现。
下面前3个图是用得最多的方式,原理都一样,本文档使用第2个图。

一般实际应用时,都使用图4所示的感应弹簧来加大手指按下的面积。感应弹簧等效一块对地的金属板,对地有一个电容CP,而手指按下后,则再并联一个对地的电容CF,如下图所示。


下面为电路图的说明,CP为金属板和分布电容,CF为手指电容,并联在一起与C1对输入的300KHZ方波进行分压,经过D1整流,R2、C2滤波后送ADC,当手指压上去后,送去ADC的电压降低,程序就可以检测出按键动作。具体的处理请参考附带的C语言或汇编程序。




页: [1]
查看完整版本: STC--使用ADC做电容感应触摸按键