PIC单片机之电容触摸按键

来源:本站
导读:目前正在解读《PIC单片机之电容触摸按键》的相关信息,《PIC单片机之电容触摸按键》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《PIC单片机之电容触摸按键》的详细说明。

PIC单片机电容触摸按键,最方便的地方就是外围电路简单,不需要任何外围元器件。只要从引脚连接出一条线到焊盘上即可。

电容按键触摸的原理

PIC单片机通过松弛振荡器是一个自激 RC 振荡器,它使用 2 个带 SR 锁存的比较器来改变感应电容器电压的充电方向,进行充电或者放电。通俗点说就是在管脚上产生了一个三角波。当手指按上去后就引入了一个额外的电容 使得 充放电的周期沿长。也就是说人的手靠近的时候充电时间沿长了,然后放电时间也加长了。这样我们就可以同过判断 RC震荡频率的快慢来判断 是否有手指按下。

PIC单片机之电容触摸按键

如何判断RC震荡频率的快慢呢?

这就和我们平时判断一个人做事情快慢是一样的。比如我们给个10S的时间,让两个人吃薯条如果吃的越多的,就说明他的吃东西的频率越快反之越慢。

官方的资料给了个比较简单的实现方式。 由TIMER1来完成计数也就是充放电的次数,由TIMER0来计时。TIMER0每隔段时间触发一次中断,来读取TIMER1充放电的次数。

如果采集的的次数明显小于之前的次数。那就说明充放电频率降低了。有人的手按下了。这就是判断的大致原理。

官方提供的简单按钮检测方式(大概就这意思)

首先要有三个变量 unsigned int average;//平均值

unsigned int raw;//当前值

unsigned int trip;//按下时频率与平均值得差

中断程序

ISR{

...

if(raw < (average - trip))

// 按钮按下

else

//按钮没有按下

//对当前读数进行平均

average = average*15/16+raw/16;

}

提醒:《PIC单片机之电容触摸按键》最后刷新时间 2024-03-14 00:51:05,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《PIC单片机之电容触摸按键》该内容的真实性请自行鉴别。