找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

单片机按键程序的问题,求助大佬解决

查看数: 2146 | 评论数: 8 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2022-9-3 21:15

正文摘要:

怎么把下面两条程序共用一个按键,js()是让灯缓慢亮起,td()是让灯缓慢熄灭 现在是用两个按钮控制,按一个亮起,按另一个熄灭 怎么把它们归在一个0x45按键里,按一下亮,再按一下灭。 本人小白,刚学单片机, ...

回复

ID:1023753 发表于 2022-9-12 16:08
弄一个标志位,按一下得1,在按一下得0,循环记录,让后根据标志来使LED等亮灭
ID:624769 发表于 2022-9-5 13:24
声明一个  全局标志 比如: bit My_flag;

然后:
case 0x45:
if(My_flag)
{
   js();
   My_flag = 0;
}
else
{
   jd();
   My_flag = 1;
}
break;
ID:607312 发表于 2022-9-5 09:57
switch(IRcord[2]){case 0x45:led_js++;if(led_js >= 3){led_js = 0;}else if(led_js==2){js();}else if (led_js ==1){td();}}
ID:607312 发表于 2022-9-5 09:54
switch(IRcord[2])
ID:1040289 发表于 2022-9-5 00:40
censv 发表于 2022-9-4 11:18
这是一部分,即按键后先判断灯状态执行开启或熄灭,然后控制灯状态的改变,即 ledStatus = !ledStatus;

不是很懂,可以写个详细的程序参考一下吗
ID:1043747 发表于 2022-9-4 11:18
这是一部分,即按键后先判断灯状态执行开启或熄灭,然后控制灯状态的改变,即 ledStatus = !ledStatus;
ID:1040289 发表于 2022-9-4 11:04
censv 发表于 2022-9-4 11:00
记录当前灯的状态,然后使用逻辑非

是if(led==0)这样吗
ID:1043747 发表于 2022-9-4 11:00
记录当前灯的状态,然后使用逻辑非

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表