找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1044|回复: 8
打印 上一主题 下一主题
收起左侧

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

[复制链接]
跳转到指定楼层
楼主
ID:1040289 发表于 2022-9-3 21:15 来自手机 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
怎么把下面两条程序共用一个按键,js()是让灯缓慢亮起,td()是让灯缓慢熄灭
现在是用两个按钮控制,按一个亮起,按另一个熄灭
怎么把它们归在一个0x45按键里,按一下亮,再按一下灭。
本人小白,刚学单片机,见谅。

IMG_20220903_210252__01.jpg (1.99 MB, 下载次数: 37)

IMG_20220903_210252__01.jpg
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:1043747 发表于 2022-9-4 11:00 | 只看该作者
记录当前灯的状态,然后使用逻辑非
回复

使用道具 举报

板凳
ID:1040289 发表于 2022-9-4 11:04 来自手机 | 只看该作者
censv 发表于 2022-9-4 11:00
记录当前灯的状态,然后使用逻辑非

是if(led==0)这样吗
回复

使用道具 举报

地板
ID:1043747 发表于 2022-9-4 11:18 | 只看该作者
这是一部分,即按键后先判断灯状态执行开启或熄灭,然后控制灯状态的改变,即 ledStatus = !ledStatus;
回复

使用道具 举报

5#
ID:1040289 发表于 2022-9-5 00:40 来自手机 | 只看该作者
censv 发表于 2022-9-4 11:18
这是一部分,即按键后先判断灯状态执行开启或熄灭,然后控制灯状态的改变,即 ledStatus = !ledStatus;

不是很懂,可以写个详细的程序参考一下吗
回复

使用道具 举报

6#
ID:607312 发表于 2022-9-5 09:54 | 只看该作者
switch(IRcord[2])
回复

使用道具 举报

7#
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();}}
回复

使用道具 举报

8#
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;
回复

使用道具 举报

9#
ID:1023753 发表于 2022-9-12 16:08 | 只看该作者
弄一个标志位,按一下得1,在按一下得0,循环记录,让后根据标志来使LED等亮灭
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

Powered by 单片机教程网

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