PIC单片机之电容触摸按键
来源:互联网 发布:c语言中的递归 编辑:程序博客网 时间:2024/06/10 14:50
电容触摸的硬件设计
PIC单片机电容触摸按键,最方便的地方就是外围电路简单,不需要任何外围元器件。只要从引脚连接出一条线到焊盘上即可。
电容按键触摸的原理
PIC单片机通过松弛振荡器是一个自激 RC 振荡器,它使用 2 个带 SR 锁存的比较器来改变感应电容器电压的充电方向,进行充电或者放电。通俗点说就是在管脚上产生了一个三角波。当手指按上去后就引入了一个额外的电容 使得 充放电的周期沿长。也就是说人的手靠近的时候充电时间沿长了,然后放电时间也加长了。这样我们就可以同过判断 RC震荡频率的快慢来判断 是否有手指按下。
如何判断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单片机之电容触摸按键
- PIC单片机之按键错误汇总
- 电容触摸按键原理
- 电容式触摸按键原理
- PIC单片机之通信协议
- PIC单片机之PWM
- PIC单片机之PWM
- PIC单片机之TIME2
- PIC单片机之中断
- PIC单片机之看门狗
- PIC单片机之注意事项
- 电容触摸按键固件驱动
- 电容式触摸感应按键解决方案AD
- PIC单片机之时钟设置
- PIC单片机之中断程序
- PIC单片机之AD转换
- PIC单片机之AD框架
- PIC单片机之反汇编
- Lua 5.2.1 不再使用lua_open
- ARM NEON 指令
- SQL数据库 大数据快速导入
- 1、XML概述
- Windows7使用OpenOffice SDK的配置 (5)
- PIC单片机之电容触摸按键
- How to use equals( ) and equalsIgnoreCase( ) in Java
- linux内核开发--LDD3 scull错误集合,内核版本迁移清单 .
- oracle顶级用户,建角色
- 【黑马程序员】- 面向对象_多态_抽象类
- 程序员学习能力提升三要素
- 使用libvirt管理kvm虚拟机
- mysql event的用法
- 创建BOM,分配工厂,删除分配操作