-
按键是嵌入式产品重要的人机交互器件。在按键数量少,IO口充足的情形下,一般采用一个IO口检测一个按键的方式,如下图:
这样的方式,可以很简单的实现对按键的短按、长按、同时按等方式的检测。 -
如果产品按键较多,IO口不足以一一对应所有按键,这时候一般采用矩阵键盘的方式,如下图:
16个按键,只需要8个IO口就可以检测,节省了一半的IO资源。当然矩阵键盘的方式也同样可以实现对按键的短按、长按、同时按等方式的检测。 -
除了以上两个方式,还有一个特殊的方式来检测按键,就是使用芯片的AD功能。用AD的方式,可以实现一个IO口,同时检测多个按键。如下图:
当按键按下后,通过不同电阻分压后,会得到不同的电压。单片机的AD引脚就可以读取到不同的AD值,通过对AD值的大小判断,就可以分辨是哪个按键按下。通过这个方式,就可以实现一个IO检测5个按键,甚至可以更多。不过这个方式有一个缺点就是,不能检测多个按键同时按下的场景。