7.4 单片机键盘扫描工作方式
更新于 2026年10月10日
版权声明
7.4 单片机键盘扫描工作方式
在单片机应用系统中,键盘扫描只是CPU的工作内容之一。CPU忙于各项任务时,如何兼顾键盘的输入,取决于键盘扫描的工作方式。键盘扫描的工作方式有中断扫描方式、定时扫描方式、查询扫描方式三种。
7.4.1 中断扫描方式
中断扫描方式,就是事件触发,当无键按下时,CPU处理自己的工作,当有键按下时,产生中断请求,CPU转去执行键盘扫描子程序,并识别键值,只要有事件产生都会进入中断,并且获得最优运行,因此响应更快更及时。
中断扫描方式的硬件电路图如图7-16所示,采用外部中断0,P3.2引脚连接一个与非门,只要有按键按下,事件触发,产生中断。

图7-16 中断扫描方式的硬件电路
中断扫描方式的软件程序如下,在外部中断函数中调用键盘扫描程序。

7.4.2 定时扫描方式
定时扫描方式,就是每隔一段时间对键盘扫描一次,它利用单片机内部的定时器产生一定时间(例如10 ms)的定时,当定时时间到就产生定时器溢出中断,CPU响应中断后对键盘进行扫描,并在有键按下时识别出该键,再执行该键的功能程序。(https://www.daowen.com)
定时扫描方式的硬件电路没有特别要求,与矩阵键盘硬件电路连接相同。
定时扫描软件程序如下:

7.4.3 查询扫描方式
查询扫描方式,就是在主函数里不停循环,查询端口状态,在执行键功能程序时,CPU不再响应键输入要求,直到CPU重新扫描键盘为止。明显缺点在于响应速度慢,同时处理复杂事件时容易丢失数据。
查询扫描方式的硬件电路没有特别要求,与矩阵键盘硬件电路连接相同。
查询扫描软件程序如下:

键盘的工作方式选取的原则,既要保证能及时响应按键的操作,又不过多地占用CPU的工作时间,一般通过系统中CPU任务的分量,来确定键盘的工作方式。