yml1104 发表于 2020-3-26 10:40

按键扫描的一个疑惑

按键扫描一开始做这几步的目的是什么有知道的吗
                P0 |= 0x30;
                P3 |= 0x40;
                KEY5 = 0;
                KEY2 = 1;
               
                if(KEY3 == 0)
                        {
                                F_KEY1 = 1;
                        }
                if(KEY4 == 0)
                        {
                                F_KEY2 = 1;
                        }
                if(KEY1 == 0)
                        {
                                F_KEY3 = 1;
                        }
                       
                       
                KEY5 = 1;
                KEY2 = 0;
               
                if(KEY3 == 0)
                        {
                                F_KEY4 = 1;
                        }
                if(KEY4 == 0)
                        {
                                F_KEY5 = 1;
                        }
                if(KEY1 == 0)
                        {
                                F_KEY6 = 1;
                        }

xuyaqi 发表于 2020-3-26 10:46

这和按键硬件接法有关,要对照原理图来理解。

yml1104 发表于 2020-3-26 10:52

xuyaqi 发表于 2020-3-26 10:46
这和按键硬件接法有关,要对照原理图来理解。

最开始两句是把KEY1.3.4都置1了 那后面的判断就不是没用了?

xuyaqi 发表于 2020-3-26 14:59

yml1104 发表于 2020-3-26 10:52
最开始两句是把KEY1.3.4都置1了 那后面的判断就不是没用了?

51要求IO口读前要置1,可以去查查资料。

ningling_21 发表于 2020-3-26 15:02

按键的硬件如何设计的?

Jenghiz 发表于 2020-3-27 08:15

准双向输入不置1的话读出来就都是0了

yml1104 发表于 2020-3-28 10:32

ningling_21 发表于 2020-3-26 15:02
按键的硬件如何设计的?

现在了解了 一开始没注意是矩阵按键
页: [1]
查看完整版本: 按键扫描的一个疑惑