9.4.8 单键多功能按键识别
就单片机本身而言,在某些时候,其硬件资源是相对很少的。这就涉及一种编程方法,把接口输入电平信息分配不同的“地址”,在程序中根据不同的“地址”执行不同的操作。

图9-39 单键多功能按键识别流程图
如图9-37所示,E1~E4发光二极管在每个时刻的闪烁的时间是受一个开关来控制,给E1~E4闪烁的时段定义出不同的ID号,当E1在闪烁时,ID=0;当E2在闪烁时,ID=1;当E3在闪烁时,ID=2;当E4在闪烁时,ID=3。很显然,只要每次按下开关S时,分别给出不同的ID号就能够完成上面的任务。
根据按键所按的次数,实现4个LED的亮灭控制。单键多功能按键识别流程如图9-39所示。
1)汇编参考程序:



2)C语言参考程序:

