Y_G_G 发表于 2022-4-4 13:02 大多 疑似直接求程序的 帖子, 会由版主 手动添加这句话。 |
| 也就是按键期间读两次键值,第一次读出的值用来低位全部为1后马上输出,再读第二次才是能得到正确的键位。 |
| 第三步是把读出的值 或运算0X0F就行。 |
|
1。先低位输出四个0,即0XF0:1111 0000. 2.有按键时读它的值,比如是第一个键:这时读出的数是0xE0:1110 0000. 3.马上把低四位输出为1.这时记住了是第一列有键了。即0XEF:1110 1111. 4.这时键还在按着,读入它的值,这时读得的数是0XEE:1110 1110. 5.根据这个零的组合行列可以知是第一个键被按下了。 6.同样类推,第二个键的话最后得到的是0XED:1110 1101. 7.如此类推4X4十六个键就可以得出了。键16的值为0X77:0111 0111 反正是读出的数两个零在不同位得一个键。 |
|
那句话是admin加的 思路就是 1. 控制P14~P17输出高电平,P10~P13输出低电平 2. 看看P14~P17有没有被拉低,有去3,没有去1 3. 延时消抖,看看P14~P17有没有被拉低,有去4,没有去1 4. 记下哪一脚被拉低,然后控制P10~P13输出高电平,P14~P17输出低电平 5. 看看P10~P13有没有被拉低,有去6,没有去1 6. 延时消抖,看看P14~P17有没有被拉低,有去7,没有去1 7. 记下哪一脚被拉低,然后结合第4步的记录,找出哪一键被按下 |
|
"由于本论坛禁止直接求程序,禁止伸手党,所以向大家请教一下大致的实现方法与思路,理清头绪后我自己来写程序去实现"这句话是从哪里复制来的,我怎么老是看到? 网上随便找一个键盘扫描的教程,跟着认真看,基本就有思路了 |