|
EVB 配置 2x2 矩阵键盘,为用户提供 4 个按键功能。
在51的学习中通常就会接触矩阵按键,矩阵按键扫描的实现方法之一就是逐行扫描法,小华开发板中的矩阵键盘使用的也是逐行扫描法。
在小华中逐行扫描法的实现思路就是对列进行周期性的输出低电平和高阻态,对行设置外部中断,中断触发模式是下降沿触发,内部上拉。行和列有以下的几种可能
由此只要在行的中断回调函数中判断是哪个列此时发送了低电平就可以判断哪个矩阵中的按键按下。
按键扫描的思想大大节省了IO口,而按键扫描模块对于硬件部分没有更多的资源节省,主要是简便了软件的编写,节省了更多cpu的资源。软件列轮询放松低电平部分的代码不用占用cpu的资源,由模块独立处理。
主控芯片最多支持8列16行的按键扫描,开发板上用了4个按键用以测试按键扫描部分的功能,上图中out代表io口的输出高阻态和低电平的引脚,in代表io口输入的引脚,输出是列,输入是行。