需要解决的第一个问题:怎样识别按下去的键。
以上图为例。RD0~RD3是列线,RD4~RD7是行线。列线与行线之间通过键盘连接。
第一步确定按下的键是在哪一行:由于刚开始按键是处于断开状态,所以RD4~RD7引脚的全是高电平。向RD0~RD3写0,如果有按键按下,则行线变低。所以可以通过向列线同时写0,读取行线值来判断按下的键是处于哪一行。
第二步确定按下的键是在哪一列:此时向列线逐个写0,如果 那一列没有键按下,则RD4~RD7全为1。相反,如果那一列有按键按下,则RD4~RD7中有值为0,此时即可得到按下键的列值。所以我们通过逐个向列线写0以确定哪一列。
知道按下的键处在哪一行哪一列即可确定按下键的位置。
文章评论(0条评论)
登录后参与讨论