9.4.8  单键多功能按键识别

9.4.8 单键多功能按键识别

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

978-7-111-46831-8-Chapter09-116.jpg

图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)汇编参考程序:

978-7-111-46831-8-Chapter09-117.jpg

978-7-111-46831-8-Chapter09-118.jpg

978-7-111-46831-8-Chapter09-119.jpg

2)C语言参考程序:

978-7-111-46831-8-Chapter09-120.jpg

978-7-111-46831-8-Chapter09-121.jpg