找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 861|回复: 10
收起左侧

求单片机程序思路 一个按键,一个led 按键按下以后,LED点亮,如果不按灯就一直亮

[复制链接]
ID:632248 发表于 2023-5-14 09:14 | 显示全部楼层 |阅读模式
按键按下以后,LED点亮,如果不按灯就一直亮,再按一次LED闪烁,再按灯熄灭。怎么用程序实现呢?请大佬们给一个思路。
回复

使用道具 举报

ID:883242 发表于 2023-5-14 14:51 | 显示全部楼层
给一个无符号变量status,初值0,按键status++,如果status>3则status=0
那么0==status 灯灭
1==status 亮灯
2==status 闪烁
回复

使用道具 举报

ID:1073796 发表于 2023-5-14 21:24 | 显示全部楼层
判断按键按键的次数,然后选择LED的状态,用switch语句看符合哪种按键情况执行哪个led的状态就好了
回复

使用道具 举报

ID:77589 发表于 2023-5-15 11:17 | 显示全部楼层
Hephaestus 发表于 2023-5-14 14:51
给一个无符号变量status,初值0,按键status++,如果status>3则status=0
那么0==status 灯灭
1==status  ...

正解!写到这份上,就差给代码了!
回复

使用道具 举报

ID:632248 发表于 2023-5-15 19:10 | 显示全部楼层
Hephaestus 发表于 2023-5-14 14:51
给一个无符号变量status,初值0,按键status++,如果status>3则status=0
那么0==status 灯灭
1==status  ...

感谢大佬提供思路,
回复

使用道具 举报

ID:291668 发表于 2023-5-15 20:04 | 显示全部楼层
三次按键,三个状态。再加上在一定时间内是否有按键按下。状态机就出来了。
回复

使用道具 举报

ID:1077694 发表于 2023-5-15 20:19 | 显示全部楼层
除3取余,之后case判断?
回复

使用道具 举报

ID:969770 发表于 2023-5-15 21:04 | 显示全部楼层
这个不就荧光棒吗?
回复

使用道具 举报

ID:206581 发表于 2023-5-15 21:47 | 显示全部楼层
给按键次数定义一个变量,然后根据变量的数值来确定灯的状态
回复

使用道具 举报

ID:1074206 发表于 2023-5-16 10:45 | 显示全部楼层
按键num++,限幅0-3;3个处理子函数对应0-3,分别常量,闪烁,熄灭
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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