永发信息网

请看一段单片机控制程序,关于轻触开关的(while语句)

答案:1  悬赏:40  手机版
解决时间 2021-01-26 20:04
  • 提问者网友:难遇难求
  • 2021-01-26 05:28
请看一段单片机控制程序,关于轻触开关的(while语句)
最佳答案
  • 五星知识达人网友:雾月
  • 2021-01-26 06:13
但是,当开关松开的时候,K恢复到高电平,IF语句应该是不执行的。
这句话是对的。
无论按键如何操作,灯始终处于点亮状态。这句话有问题。
你的按键能有什么操作,不过就是按下去吗,松开吗,还有吗?
按下去,K=0,执行led=0; 灯亮啊。
你想要灯灭吗?那得有一行是:led=1; 那灯才能灭的,可程序中并没有这一行啊。
所以,灯就一直亮的,只要按过一次,led=0; 以后将永远为0,灯永远亮的。
你提问的标题有(while语句),可程序中并没有用的,这标题不符啊。追问你好,既然IF语句不执行,那么,LED为啥还在亮呢?我的意思是说,当K松开的时候,K为高电平,IF不执行,Led为高电平,那么灯应该不亮才对啊。
下面这个程序,是开关控制LED亮灭的,教程说,while(!K)是用来检测开关是否按下的,他是如何检测的呢?求帮忙解答,谢谢!

追答当K松开的时候,K为高电平,IF不执行,Led为高电平,那么灯应该不亮才对啊。
这是错误的。不执行IF,不等于led 就为高电平了,怎么变成高电平的,你告诉我。
要变成高电平,必须执行 led=1 ,这才能变成高电平。与执行不执行IF语句没有一毛钱关系。
你后发的程序,是按一次就亮了,要再按一次才能灭。如引反复。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯