专家
公告
财富商城
电子网
旗下网站
首页
问题库
专栏
标签库
话题
专家
NEW
门户
发布
提问题
发文章
独立按键控制灯的问题
2019-03-24 17:25
发布
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
站内问答
/
51单片机
9966
13
1122
自己写的程序,独立按键控制一个LED灯,按下键后灯亮了,然后再按一下就灭了,但是出现了,按键亮了之后,再按键就灭不了的问题,多按几次才会熄灭这是什么原因,是程序问题吗?
此帖出自
小平头技术问答
友情提示:
此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
13条回答
ienglgge
1楼-- · 2019-03-25 18:20
定义一个变量,按键按下,就开始加,加到某个数值,认为是稳定按下,按键抬起,就清零。试试。你现在延时的时间远远超过判断的时间,效率低。
加载中...
zl2168
2楼-- · 2019-03-25 23:27
精彩回答 2 元偷偷看……
加载中...
537224
3楼-- · 2019-03-26 02:33
你试着把:while(K1==0) L0=~L0,改为 L0=~L0;while(!K1);
意思是,判断K1为0,延时去抖动后,就将状态改变,改变完了要做一个松手检测,
当K为0时,非0为真,后面有分号,所以程序一直执行while语句,当松手了K1为1,非1为假,跳出while,
再下次按也一样的,这样,你按一次,只执行一次。没有松手检测,你按一次,程序可能走了几次了,出错。
加载中...
537224
4楼-- · 2019-03-26 07:28
或把while(K1==0)加个分号,while(K1==0);
加载中...
zrb5688
5楼-- · 2019-03-26 13:07
精彩回答 2 元偷偷看……
加载中...
松恒电子
6楼-- · 2019-03-26 13:49
楼主你可以用这种按键回去自己试验一下 哈哈哈
加载中...
上一页
1
2
3
下一页
一周热门
更多
>
相关问题
相关文章
基于51单片机的计算器设计
0个评论
51单片机300个proteus仿真实例下载
0个评论
51单片机 蜂鸣器
0个评论
51单片机驱动RC522模块
0个评论
基于51单片机的指纹密码锁
0个评论
AT89C51单片机制作简易密码锁
0个评论
51单片机汇编语言计数器
0个评论
51单片机精确延时设计
0个评论
×
关闭
采纳回答
向帮助了您的网友说句感谢的话吧!
非常感谢!
确 认
×
关闭
编辑标签
最多设置5个标签!
保存
关闭
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
关闭
您已邀请
15
人回答
查看邀请
擅长该话题的人
回答过该话题的人
我关注的人
意思是,判断K1为0,延时去抖动后,就将状态改变,改变完了要做一个松手检测,
当K为0时,非0为真,后面有分号,所以程序一直执行while语句,当松手了K1为1,非1为假,跳出while,
再下次按也一样的,这样,你按一次,只执行一次。没有松手检测,你按一次,程序可能走了几次了,出错。
一周热门 更多>