langgq 发表于 2022-7-19 21:21

按键切换 LED 灯

比如;当按键一下时候,LED1 LED2 灯亮,再按一下的时候只有LED1灯亮      在按一下又 LED1 LED 2 两个亮在按一下   只有LED1亮 ……。
程序怎么写 ,用C语言。谢谢!

jlyuan 发表于 2022-7-19 21:24

可以设置一个变量,按键按下的时候,变量增加,根据不同的变量值,打开或关闭不同的灯。

jlyuan 发表于 2022-7-19 21:27


你这就两种状态啊 一个是两个灯都亮 一个是LED1灯亮LED2灯灭设置一个bool型变量按键按一下就取反
把两种状态分配就好了吧

heweibig 发表于 2022-7-19 21:29

定义好引脚,直接if-else就可以了

juventus9554 发表于 2022-7-19 21:32

应该还要有按键去抖,要不按下显示也可能不对。。

liliang9554 发表于 2022-7-19 21:35


include<reg51.h>
sbit key=P1^0;
sbit led1=P2^0;
sbit led2=P2^1;
void delay(unsigued int i)
{
while(i--);
}
void main()
{
led1=1;
led2=1;
while(1)
{
   if(key==0)
{
   delay(1000);
   if(key==0)
   {
      led2=~led;
   }
}
}
}

优化一下就是一个灯常亮 一个闪烁

dengdc 发表于 2022-7-19 21:37


程序要根据你板子来修改一下,sbit key=P1^0;
sbit led1=P2^0;
sbit led2=P2^1;

huwr 发表于 2022-7-19 21:42

要用按键计数了,根据计数多少来做出相应的动作

chuxh 发表于 2022-7-19 21:44

最简单就是只用按键控制LED2就行了,因为LED1是常亮的

heweibig 发表于 2022-7-19 21:47


写个状态机就完了

heweibig 发表于 2022-7-19 21:49

两个LED灯的切换吗?还是单独灯光的管理?

dengdc 发表于 2022-7-19 21:51

这个可以直接切换吗

huwr 发表于 2022-7-19 21:53

我没有这么搞过,也没有这么弄过的。

langgq 发表于 2022-7-19 21:56

嗯,我再好好缕一缕吧,有了好消息及时通知大家
页: [1]
查看完整版本: 按键切换 LED 灯