矩阵按键可以说是51单片机一个比较典型的输入型的外设。它可以让人与单片机更好的进行交互。
这一小节打算写一个4X4的矩阵按键。至于2X8 , 3X4 ,3X3 这些类型的其实他们的原理都是一样的。可以仿4X4的来写。
矩阵按键扫描原理
这里使用的是8个IO口控制16个按键。
其实原理也很简单,就是对每一行一次进行扫描。比如在图中标号0处(第一行)给一个低电平,如果第一行有按键被按下,那么通过读取标号4、5、6、7处的电平就可以知道是第一行的哪一个按键被按下。其他行也是一样。文章来源:https://www.toymoban.com/news/detail-417847.html
先对第一行进行扫描。文章来源地址https://www.toymoban.com/news/detail-417847.html
KEY_SCAN:
START:
MOV P1,#0FFH
//1、先扫描第一行
MOV R2,#0 ;用来记录行号(第0行)
MOV P1, #0FEH ;1111 1110 P1.0为低电平。
MOV A,P1 ;读取P1口的电平状态
ANL A,#0F0H ;通过逻辑与读取P1口的高四位的电平状态
CJNE A,#0F0H,ON /*判断读取的电平状态经过逻辑与后是否等于1111 0000,
如果等于1111 0000说明没有按键按下,反之有按键按下。
如果没有
到了这里,关于51汇编——矩阵键盘的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!