4X4矩阵编码原理手记

作者:帅得不敢出门   C++哈哈堂 群31843264   转载请保留此信息

 4X4矩阵编码原理手记_第1张图片

通过读键盘状态再通过一个表查出对应按下的键

1.p1低4位(p0-p3)输入高电平,高4位(p4-p7)输出低电平,检测p1低4位的状态(就是读出键盘状态)

2.p1低4位(p0-p3)输入低电平,高4位(p4-p7)输出高电平,检测p1高4位的状态(就是读出键盘状态)

 

然后把得到的两次状态值按高低位组合起来,得到按键特征码,再通过查表得到对应顺序编码值,便可知是哪个按下了。

特征编码与顺序编码的对应关系
KEYTABLE:      
     DB  0EEH,0EDH,0EBH,0E7H,0DEH   ;0,1,2,3,4,  顺序码
     DB  0DDH,0DBH,0D7H,0BEH,0BDH  ;5,6,7,8,9,
     DB  0BBH,0B7H,07EH,07DH,07BH   ;A,B,C,D,E,
     DB  077H,0FFH                               ;F,   0FF为结束码

如果我们按下s10键,p1高四位输出低电平,低四位输出高电平,从p1口低四位读取键盘状态,则得到(从高à低)1101

而高低电平转换后,得到状态(从高à低)1011

二者组合得到(从高à低)1011 1101   十六进制为0BDH

再对下上表对应9

你可能感兴趣的:(c)