关 闭

新闻中心

EEPW首页>工控自动化>设计应用> 一种基于ADC的高性价比键盘输入设计

一种基于ADC的高性价比键盘输入设计

作者: 时间:2011-06-23 来源:网络 收藏

2 硬件设计
实际的硬件电路如图2所示。为了提高按键响应速度和减轻CPU扫描按键的负担,增加一个比较器,当按键被按下时比较器输出信号触发中断,在中断中第一时间获得键值。这样,既避免了把按键程序放到主程序中循环查询过多而占用CPU资源,又提高了CPU的利用率。当然,为了节省硬件成本,也可以不要比较器。

本文引用地址://m.amcfsurvey.com/article/202443.htm

c.JPG


分压电阻越大越省电,但是实际应用时需要考虑阻抗,不能太大,这里给出经验值10 kΩ。另外,电压比较器还要考虑到运放的特性,为确保第一个键按下时运放同相端电压低于4 V,电阻R1的值就要相对大一些,后面的电阻可以取相同的值。为了减小按键抖动,在电路中串联一个电容C1。当没有键按下时,相当于悬空,需接一上拉电阻。这里R21取220 kΩ。

3 软件设计
软件设计是按键的处理核心,一旦检测到的A/D值不准,按键就会得到错误的键值,带来误操作。当按键数目很多时,这种现象会更突出。
ADC按键其实就是一个数据采集过程,软件需要完成数据采集、数据处理、按键解析这3个步骤。首先对按键要有一个认识,它是一个机械开关,在键按下和弹起的过程中很难做到理想的导通和断开,通常有一个抖动过程,需要经过一段时间才能真正地闭合和断开。
在本设计中使用的是自带8路10位ADC的MCUSTC90C52AD。驱动起来比较简单,只需要配置几个寄存器就可以进行A/D转换了,并且转换速度很快。ADC代码如下:
d.JPG



评论


相关推荐

技术专区

关闭