EDA365电子论坛网

标题: 关于单片机的问题 [打印本页]

作者: kajchild    时间: 2020-6-30 17:22
标题: 关于单片机的问题
小白求助,51单片机按下k1键,实现单片机状态改变,以上功能失效,改为以下功能。 如何实现?
) R! s; Q+ f/ p5 F% O/ [
作者: ekhehnv    时间: 2020-6-30 17:39
可以使用定时中断,定时中断的时间做的小点20ms,在中断程序中检测按键:# R, p+ P( G! p8 Y6 y) J
if(按钮 == 被按下)! s7 l, `2 y4 s' P# s7 n
{6 v" O) ]7 e9 c" F
工作输出 = 工作状态;
  j/ _( T" u7 k4 |, y- h- Z设置状态变量(供下次改变用);( _9 n; j! N! J" M* n
}
  ^  C. i  I: {. X. ]7 S如果需要去抖就在中断中加个变量,每次中断都加一,检测变量值为2说明这期间都被按下
作者: djidsebjdhsD    时间: 2020-6-30 18:27
使用外部中断引脚5 `/ F: v" ]& t
按钮触发中断,中断程序来改变工作状态
作者: ByElmer1    时间: 2020-6-30 18:28
定时器中断中有一个定时变量
$ w* y& ~0 y; o- C& [主程序中检测定时变量,当时间到则执行检测按键的程序,检测到按下则改变工作状态




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2