| 0xf0的二进制是11110000,0x0f的二进制是00001111,按键扫描会有点差别, |
sunquanfeng 发表于 2020-3-7 23:46 仿真正常实验板不正常的可能原因: 1.仿真图与实物图不一致 2.实验板上跳线、插针之类转换电路预置错误 |
Sube 发表于 2020-3-7 20:47 判断是否有键按下,可否用0xf0,个人认为可以,但是用了就会出现第三列无法点亮,protues仿真没问题每列都可以点亮,上实验板就第三列不亮 |
sunquanfeng 发表于 2020-3-7 19:46 0XEF为1110 1111,按键按下后只会被拉低,不会被拉高。 |
| 0XF0转化为二进制为1111 0000,此时P0.1,P0.1,P0.2,P0.3引脚对应0000为低电平,而另外4个引脚对应1111为高电平,当某一列被按下后,比如第一列(P2.4),那么P2.4引脚会被拉低为低电平,由此可以判断哪一列按下。接着用同样的方法扫描行。 |
lihuailiang 发表于 2020-3-7 19:28 用0xef为什么不行呢?请指教 |
| 你这没贴出完整的扫描程序,不好判断,不要截屏直接贴出程序吧 |
|
如果式0x0f,检测这一行应该为P2=0xfe。 、 |
huangwb0113 发表于 2020-3-7 18:16 0x0f的二进制是00001111好不好,你那二进制的是0x08 |
| 写成0x0f和0xf0的区别:OX0f是读低4位,而0xf0是读高4位 |
huangwb0113 发表于 2020-3-7 18:16 不是00001000吧?是00001111 |
| 0x0f 是十六进制显示,转化问二进制为0001000,所以第二行不显示 |
| 第三列按键无法使用 |