矩阵键盘识别

矩阵键盘识别_第1张图片

中心思想先判断那一列被按下,再判断那一行被按下,就可以确定一个按键

一、列扫描的时候,把列的io口拉高,然后行的io口置低,这样当有按键按下的时候,他对应的列的io口就会变低。

矩阵键盘识别_第2张图片

如果s6、、10、14、18按下后,p34都会置低变为0。

矩阵键盘识别_第3张图片

 这样就可以判断那一列被按下了。

行扫描:把行上面的io口拉高,列拉低。

矩阵键盘识别_第4张图片

当有那一行按下,就会被拉低

矩阵键盘识别_第5张图片

通过行列扫描的结合就可以判断哪一个被按下了

这个十几个按键都在p3口,只需要对p3进行操作就可以了

列扫描:

 11110000

判断是否有按键被按下,只要有按下就不等于0xf0

 

矩阵键盘识别_第6张图片

 行扫描:00001111

矩阵键盘识别_第7张图片

 松手检测:

最后一次赋的值

 

 

 

你可能感兴趣的:(51单片机,矩阵,线性代数)