51汇编——矩阵键盘

51单片机矩阵键盘是一种常见的输入设备,本文详细介绍了4X4矩阵键盘的工作原理和扫描方法。通过控制8个IO口实现16个按键的检测,通过逐行扫描并读取电平判断按键状态。程序中涉及行号和读取数据的转换,并提供了完整的程序和仿真电路图供参考。
摘要由CSDN通过智能技术生成

矩阵按键可以说是51单片机一个比较典型的输入型的外设。它可以让人与单片机更好的进行交互。

这一小节打算写一个4X4的矩阵按键。至于2X8 , 3X4 ,3X3 这些类型的其实他们的原理都是一样的。可以仿4X4的来写。

矩阵按键扫描原理

这里使用的是8个IO口控制16个按键。

其实原理也很简单,就是对每一行一次进行扫描。比如在图中标号0处(第一行)给一个低电平,如果第一行有按键被按下,那么通过读取标号4、5、6、7处的电平就可以知道是第一行的哪一个按键被按下。其他行也是一样。

先对第一行进行扫描。

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说明没有按键按下,反之有按键按下。
                              如果没有按键按下就继续扫描第二行。*/

对第二行的扫描

//2、扫描第二行
	   MOV R2,#1            ;记录行号
		MOV P1, #0FDH        ;1111
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值