打印
[应用相关]

为什么0赋给KYE1来判断是否按键有输入信号,而不是1的时候?

[复制链接]
655|24
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
chenjunt|  楼主 | 2021-2-5 23:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
void main(void)
{
        while(1)
        {
                if(0 == KEY1)                                   // 检测按键是否按下
                {
                        DelayMS(5);                                 // 延时去抖
                        if(0 == KEY1)                          // 再次检测
                        {
                                LED1 = 0;                   // 点亮LED灯
                                while(!KEY1);                // 等待按键弹起
                        }
                }
                if(!KEY2)
                {
                        DelayMS(5);
                        if(!KEY2)
                        {
                                LED1 = 1;
                                while(!KEY2);
                        }
                }
        }
}

使用特权

评论回复
沙发
zhenykun| | 2021-2-5 23:28 | 只看该作者
还有什么现象?能再详细描述下吗?

使用特权

评论回复
板凳
chenjunt|  楼主 | 2021-2-5 23:29 | 只看该作者
!KEY2按照解释不应该是弹起,当延时确认是弹起才会控制LED1灭

使用特权

评论回复
地板
yszong| | 2021-2-5 23:31 | 只看该作者
程序不完整,你都没有定义KEY1、KEY2,叫人家怎么解答你的问题?

使用特权

评论回复
5
gongche| | 2021-2-5 23:34 | 只看该作者
这个 if(0 == KEY1)  不是赋值语句,而是条件判断。

使用特权

评论回复
6
juventus9554| | 2021-2-5 23:35 | 只看该作者
P3.4端(即定义为KYE1)为0,这是电路连接的结果吧,请看你自己的连接电路。

使用特权

评论回复
7
stly| | 2021-2-5 23:37 | 只看该作者
if(!KEY2)与 if(KEY2==0)作用相同。KEY2未按下时,KEY2=1,!KEY2=0,则不会进入后面的程序,直至KEY2按下,才会进入后面的程序。

使用特权

评论回复
8
huwr| | 2021-2-5 23:39 | 只看该作者

后面的 if(!KEY2)隶属于前面的 if(!KEY2),此时已KEY2=0,!KEY2=1。

使用特权

评论回复
9
huanghuac| | 2021-2-5 23:41 | 只看该作者
延时去抖后,控制LED1灭,不需要KEY2弹起。

使用特权

评论回复
10
lium| | 2021-2-5 23:44 | 只看该作者
按键按能否锁定可分为有锁按键和无锁按键。有锁按键是按下即能锁定闭合状态,只有再次按一下才能解除闭合状态,回归断开状态。无锁按键不能锁定闭合状态,除非按住键不予释放,典型的例子就是电脑键盘上的按键。

使用特权

评论回复
11
tian111| | 2021-2-5 23:46 | 只看该作者

if(0 == KEY1)  不是赋值语句,而是条件判断。但一般不这样写,而是写成: if(KEY1 ==0 )

使用特权

评论回复
12
dengdc| | 2021-2-5 23:48 | 只看该作者
KYE1按下时,P3.4端(即定义为KYE1)为0,这是电路连接的结果

使用特权

评论回复
13
lizye| | 2021-2-5 23:50 | 只看该作者
这应该和硬件电路连接也有关系的

使用特权

评论回复
14
gongche| | 2021-2-5 23:53 | 只看该作者
那要看是怎么定义的

使用特权

评论回复
15
bqyj| | 2021-2-5 23:55 | 只看该作者
定义在哪里

使用特权

评论回复
16
tian111| | 2021-2-5 23:57 | 只看该作者
光看这个代码 是判断不出来的

使用特权

评论回复
17
chuxh| | 2021-2-5 23:59 | 只看该作者
上一个全点的代码瞅瞅

使用特权

评论回复
18
juventus9554| | 2021-2-6 10:05 | 只看该作者
上一个全点的代码瞅瞅

使用特权

评论回复
19
houcs| | 2021-2-6 10:08 | 只看该作者
这个变量是如何定义的呢?

使用特权

评论回复
20
chenjunt|  楼主 | 2021-2-6 10:11 | 只看该作者

哦,那我就知道怎么回事了,多谢大家

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

718

主题

7868

帖子

5

粉丝