一种基于ADC的高性价比键盘输入设计
引言
在单片机领域中,键盘输入是最常用的人机交互方式。通常实用键盘接口方式有:直接输入、矩阵结构、A/D方式、键盘和显示复用、并行扩展、串口扩充以及用键盘和显示专用控制器件等。但是其中很多方案都需要占用不少单片机有限的I/O口。本文提出一种基于ADC的高性价比键盘输入设计方法。
1 ADC按键原理
ADC按键的原理图如图1所示,把多个电阻串联分压,不同的按键将不同的电压进行A/D转换,根据ADC结果,MCU就能识别按键了。例如,key1按下,ADC得到的电压值为:
理论上,只要相邻的两个按键按下时,电压的差值在ADC能最小分辨的电压范围之内,那么MCU就能识别是哪个键被按下了。一个n位的ADC,可以识别2n个不同的电压值,即可以识别2n个按键。例如8位ADC,理论上可以串联256个电阻,识别256个按键。但在实际应用中还要考虑很多的外在因素,如电阻自身的误差、ADC误差、软件计算误差等,因此往往实际能识别的按键的个数小于理论值。
评论