小白求助,51单片机按下k1键,实现单片机状态改变,以上功能失效,改为以下功能。 如何实现?

2019-11-22 14:52发布

<font face="微软雅黑"><font style="font-size:18px">小白求助,51单片机按下k1键,实现单片机状态改变,以上功能失效,改为以下功能。 如何实现?</font></font><br> <p><br></p>
1条回答
HengDu
1楼 · 2019-11-22 17:34.采纳回答
方法一:
可以使用定时中断,定时中断的时间做的小点20ms,在中断程序中检测按键:
if(按钮 == 被按下)
{
工作输出 = 工作状态;
设置状态变量(供下次改变用);
}
如果需要去抖就在中断中加个变量,每次中断都加一,检测变量值为2说明这期间都被按下
方法二:
使用外部中断引脚
按钮触发中断,中断程序来改变工作状态
方法三:
定时器中断中有一个定时变量
主程序中检测定时变量,当时间到则执行检测按键的程序,检测到按下则改变工作状态 最佳答案

一周热门 更多>