51单片机。4*4矩阵键盘扫描

在图中当按键被按下的时候,键码只出现了4种变化,这样子确定不了具体是哪个按键被按下,求指导。。C语言程序

矩阵键盘扫描是分两次的。比方说,51单片机,默认各口是高电平,首先,比方图中P1.0-P1.3给低电平(注:你的图太小,我就把接矩阵键盘的各口当作P1.0-P1.7),若图中无键被按下,P1.4-P1.7扫描出来的就都是高电平,若有键被按下,则P1.4-P1.7某根线就会是低电平,但是比方说P1.4是低电平,这种情况,第一列任一键按下都会出现,这时你只能得到第一列有键被按下,不知道是哪一个键,下面,你就开始扫描了,P1.0-P1.3口给0111,检测一下P1.4-P1.7,如果能检测到低电平,则是第一列第一行按键,如果检测不到低电平,则0111移位为1011,这时再检测P1.4-P1.7,如果有低电平,则是第一列第二行,依次往下移。从你的描述中,你应该是不懂第二步工作。我讲得可能有点乱,百度随便搜搜都有矩阵键盘的操作,这是最最基本的功能。
温馨提示:答案为网友推荐,仅供参考
相似回答