于布尔处理的键盘矩阵解读方法探讨宁波天安(集团)股份有限公司 张春峰引 言传统的各类电子专业的教科书上以及可查阅的文献资料中,有关MCU做键盘矩阵的扫描解读,大都是通过逐行逐列扫描、键值计算、键对应特征量返回、查表等数据处理的方式来进行扫描解读的。为此还得设定在求键值时以辅助保存原值的行值、列值缓冲寄存器等,有的为了保证键每闭合一次MCU只作一次处理,往往会在程序运行中等闭合键释放后才对其进行键解释处理。这样键盘的扫描解读颇占CPU时间,降低了CPU的工作效率。本文揭示的是一种基于布尔处理的新颖的键盘矩阵解读方法。下面结合图示并以65键盘矩阵解读为例进行描述。1 程序结构基于布尔处理的键盘矩阵解读方法,也就是使整个键盘矩阵的扫描解读过程都能归结为系列的布尔位的操作。扫描解读过程主要包括如下步骤:定义各标志位;键盘矩阵输出线扫描;查询有无键按下;查询键解读标志位;消抖动延时;查询相对应的哪个输示端口电平有变化;查询相对应的哪个输出端口输出扫描电平;相对应的哪个键作具体的解释处理;置位键解读标志位,流程如图1所示。2 步骤阐述2.1 定义各标志位