此帖出自嵌入式系统论坛
最新回复
给出个人关于AD键盘的解决方案
1。硬件上,
1.1 显然按键过程中要考虑滤波消抖,一般是选用瓷片电容,电容容量一般为0.01uF~1uF
1.2 你不必须“用数字万用表先测采集到的电压,根据不同的测量值来分配不同按键的AD采集值”,你可以在硬件电路上增加一个校准电路,这样在不同的环境不同的.温度,只要对产品进行校准操作就可以了,显然,这增强了你的键盘的鲁棒性。
2。 软件上,时间延迟滤波是必须的,然后还需要考虑多次采样,举手表决以确定其所代表的键值的方法
模板如下
void delay();//延迟函数
char get_key_value(char ad_value);//这个函数通过对AD采样的结果进行处理,返回键值,其中ad_value是AD采样的值,最快的算法是建立一个查询表
char get_ad_value();//这个函数用于获得ad采样的值,注意不是键值
用着3个函数,我们可以调用get_key_value5次,假设有3次返回的键值是132,又一次返回的是128,有一次返回的是134,我们可以认为此次采样的键值为132,
当然你也可以调用get_ad_value()5次,获得平均值,然后调用et_key_value,求的键值。
详情
回复
发表于 2010-7-19 13:43
| ||
|
||
| |
个人签名*我的EMAIL: sunke9@qq.com
*我的博客http://blog.ednchina.com/sunke9/ *我网店:https://sunke9.taobao.com/ 承接:电子、自动控制产品设计开发;单片机、ARM编程。 |
|
| |
|
|
此帖出自嵌入式系统论坛
| ||
|
||
此帖出自嵌入式系统论坛
| ||
个人签名http://ourdev.taobao.com
过去心不可得 现在心不可得 未来心不可得 |
||
| |
|
|
| |
|
|
| |
|
|
| |
|
|
此帖出自嵌入式系统论坛
| ||
|
||
此帖出自嵌入式系统论坛
| ||
|
||
回复 5楼 crazyk 的帖子
此帖出自嵌入式系统论坛
| ||
|
||
| |
|
|
| |
|
|
从8位机到32位机轻松过渡的捷径
此帖出自嵌入式系统论坛
| ||
|
||
回复 楼主 radio_xh 的帖子
此帖出自嵌入式系统论坛
| ||
|
||
在下载中心贡献超过4000份资料
曾经的版主且威望大于2000,或对EEWORLD论坛有突出贡献的坛友
EEWorld Datasheet 技术支持