4x4矩阵按键应用详解

article/2025/1/17 5:52:08
一.简介

4x4矩阵按键是单片机外部设备中所使用的排布类似于矩阵的按键组。显然矩阵按键的使用要比独立按键要复杂一些,编程也要复杂一些,但可以单片机IO资源。4x4矩阵按键即分为4组列线,4组行线,并将行线所接的单片机的I/O口作为输出端,而列线所接的I/O口则作为输入。

二.硬件连接图

51单片机的P1口用作按键I/O口,键盘的列线接到P1口的低4位,键盘的行线接到P1口的高4位;把列线P1.0-P1.3设置为输入线,行线P1.4-P.17设置为输出线。4根行线和4根列线形成16个相交点。如图:
在这里插入图片描述

三.控制程序

1.矩阵按键程序扫描步骤

  • 检测当前是否有键被按下。检测的方法是P1.4-P1.7输出全“0”,读取P1.0-P1.3的状态,若P1.0-P1.3为全“1”,则无键闭合,否则有键闭合。
  • 去除按键抖动。当检测到有键按下后,延时一段时间再做下一步的检测判断。
  • 若有键被按下,应识别出是哪一个键闭合。方法是先获取矩阵按键的列状态,即P1的低四位状态,对应为0111,1011,1101,1110;再获取行状态,即P1的高四位状态。
  • 最后,将由此得到闭合键的行值和列值组成8位数,可通过对应的编码表将闭合键的行值和列值转换成所定义的键值。

2.扫描程序

void key()	 //按键程序
{static uchar key_new = 0, key_l;key_can = 20;                   //按键值还原P1 = 0x0f;if((P1 & 0x0f) != 0x0f)		//按键按下{delay_1ms(1);	     	//按键消抖动if(((P1 & 0x0f) != 0x0f) && (key_new == 1)){						//确认是按键按下key_new = 0;key_l = (P1 | 0xf0);   //矩阵键盘的列状态P1 = key_l;              //扫描矩阵键盘的行状态switch(P1){case 0xee:  key_can = 1;  break;  //得到按键值 case 0xde:  key_can = 4;  break;   //得到按键值 case 0xbe:  key_can = 7;  break;   //得到按键值 case 0x7e:  key_can = 10;  break;   //得到按键值 case 0xed:  key_can = 2;					break;  //得到按键值 case 0xdd:  key_can = 5;  break;   //得到按键值 case 0xbd:  key_can = 8;  break;   //得到按键值 case 0x7d:  key_can = 0;  break;   //得到按键值 case 0xeb:  key_can = 3;  break;  //得到按键值 case 0xdb:  key_can = 6;  break;   //得到按键值 case 0xbb:  key_can = 9;  break;   //得到按键值 case 0x7b:  key_can = 11;  break;   //得到按键值 case 0xe7:  key_can = 15;  break;  //得到按键值 case 0xd7:  key_can = 14;  break;  //得到按键值 case 0xb7:  key_can = 13;  break;   //得到按键值 case 0x77:  key_can = 12;  break;  //得到按键值  }	}					}else {key_new = 1;		}	
}

如果您喜欢,可关注个人公众号“电子应用学习馆”,获取更多的资料例程。
在这里插入图片描述


http://chatgpt.dhexx.cn/article/8Wsfrlch.shtml

相关文章

独立按键和矩阵按键c语言,第八章 独立按键和矩阵按键

我们和单片机之间进行信息交互,主要包含两大类,输入设备和输出设备。前边讲的LED小灯、数码管、点阵都是输出设备,这节课我们学习一下最常用的输入设备——按键。在本节课的学习过程中我们还会穿插介绍一点硬件设计的基础知识。 8.1单片机最小系统电路解析 8.1.1电源 我们在…

单片机 矩阵式按键

单片机 矩阵式按键 一、简述 在单片机应用系统中,通过按键实现数据输入及功能控制是非常普遍的,通常在所需按键数量不多时,系统常采用独立式按键。需要按键数量比较多,为了减少I/O口的占用,通常将按键排列成矩阵。测…

矩阵按键原理和BUG

当我们的电路有很多按键时,一般会采用矩阵方式与单片机相连来减少对单片机IO的浪费,如下图方式。 这个电路的原理: 1、比如检测S13是否按下,单片机把Line4设为输出,并输出低电平,而Line3、Line2、Line1设为开路输入&…

关于矩阵按键

前段时间老师讲了矩阵按键,就把程序的理解写下来 看图片,只有主函数和串口。串口在此用来发送我们的按键值,波特率9600,频率11.0592。 我们用的是4*4矩阵按键 我们的矩阵按键连在了单片机的P0口(stc15f2k60s2&#xf…

独立按键和矩阵按键c语言,单片机独立按键与矩阵按键原理图

当前位置:电工之家 > 电工知识 > 单片机 > 正文 单片机独立按键与矩阵按键原理图 时间:2017-02-22 12:40 来源:电工之家 单片机独立按键与矩阵按键原理图 独立按键 通常的按键分为独立式按键和矩阵式按键两种,独立式按键比较简单,并且与独立的输入线相连接,如图13…

【按键扫描】矩阵按键之多按键扫描

前言 上一章我们介绍了经典矩阵键盘的实现方法,但是示例程序中仅实现了单按键检测功能。虽说单按键已经基本可以覆盖矩阵键盘的常见需求,但在一些特殊应用场合,我们仍然需要多按键识别操作,或者一些类似电脑组合按键的功能支持。…

STM32矩阵按键

矩阵按键原理 本实验使用STM32F103单片机,主题代码通用的。 如果每个按键占用一个GPIO引脚,对于使用多个按键来说就是一种资源的浪费,因此当我们在设计时,可以考虑矩阵这种方式。本实验使用4*4也就是16个按键。 矩阵按键相对于独立…

【按键扫描】独立按键与矩阵按键

按键介绍 我们通常提到按键,一般是指按键开关,也称为轻触开关。轻触开关是最常用的几种电子元器件之一,被各种电子产品广泛使用。 轻触开关与普通开关类似,但又略有不同。普通开关有闭合与断开两种状态,切换后状态会…

矩阵按键实验

矩阵按键简介 以 4*4 矩阵键盘为例。 16 个按键被排成 4 行 4 列,第一行将每个按键的一端连接在一起构成行线,第一列将每个按键的另一端连接在一起构成列线,这样便一共有 4 行 4 列共 8 根线,如图所示: 将这 8 根线连接…

51单片机学习记录(五)矩阵按键

文章目录 1、矩阵按键的控制原理2、矩阵按键实现1、行列式法实现矩阵按键2、线翻转法实现矩阵按键3、按键实战 1、矩阵按键的控制原理 独立按键与单片机连接时, 每一个按键都需要单片机的一个 I/O 口, 若某单片机系统需较多按键, 如果用独立…

51单片机矩阵键盘扫描及使用方法

一、矩阵键盘简介 矩阵键盘,也称矩阵按键,是为了节约单片机IO口占用所引入的一种外设。 (图片截取至普中A2开发板原理图) (图片截取至普中A2开发板实物图) 我们知道,一个独立按键需要1个IO口。但…

单片机编辑库四之矩阵按键

单片机编辑库一之延时与led灯 单片机编辑库二之按键 单片机编辑库三之蜂鸣器 单片机编辑库四之矩阵按键 之前为大家介绍了独立按键的原理和使用方法,这一章给大家带来一个升级体验——矩阵按键,话不多说,直接开始今天的内容。 一、矩阵按键…

51单片机——矩阵按键实验,小白讲解,相互学习

矩阵按键介绍: 独立按键与单片机连接时,每一个按键都需要单片机的一个I/O 口,若某单片机系统需较多按键,如果用独立按键便会占用过多的I/O 口资源.单片机系统中I/O 口资源往往比较宝贵,当用到多个按键时为了减少I/O 口…

STM32----矩阵按键

一、实物图 二、开发流程 分析:对于矩阵按键,我们一般采用行列扫描反转的方法进行开发,分别把每一个引脚连接一个GPIO口并设置一半成通用推挽输出模式,一半为上拉输入模式,行列扫描反转进行判断按击的按键来判断行列从…

(五)矩阵按键

本章我们主要是写矩阵键盘的内容,矩阵键盘的原理和独立按键的按键原理基本是类似的,只是关于整个的原理还是要有些介绍,本章我们通过矩阵按键的某个按键按下,然后在数码管上输出对应的按键值。 1.关于按键 可以看前面按键的内容…

【STM32 基础实验矩阵按键】

文章目录 一、元器件矩阵键盘说明二、基于stm32f10c8t6 基础实验矩阵按键(1)实验功能实现说明(2)矩阵键盘原理(3)代码部分(4)效果展示 三、总结与扩展附上参考文献链接与视频链接出处…

51单片机入门——矩阵按键

文章目录 1.按键1.1.独立按键1.2.矩阵按键 2.按键的扫描与抖动2.1.独立按键的扫描2.2.按键抖动与消抖2.3.矩阵按键的扫描 3.简易计算器 1.按键 1.1.独立按键 常用的按键电路有两种形式,独立式按键和矩阵式按键,独立式按键比较简单,它们各自…

mac怎么给移动硬盘分区

我们经常用Windows系统给移动硬盘分区,对于Windows系统的操作我们是非常熟悉的,但是现在很多人都在使用苹果电脑,那么如何用Mac给硬盘分区呢?这个可是需要技术的。如果我们不会用Mac系统给移动硬盘分区,当我们在Mac上插…

ntfs格式的移动硬盘如何在mac电脑写入?

随着照片视频等技术的进步,这类文件越发清晰的同时,占用内存也越来越大,人们逐渐将其中不常用到的存入移动硬盘中,以此减少电脑空间占用。目前国内大多数移动硬盘均为Windows自研的NTFS格式,对于这类NTFS格式的移动硬盘…

mac怎么删除硬盘里面的东西?为什么苹果电脑无法删除移动硬盘文件?

mac怎么删除硬盘里面的东西?由于移动硬盘的文件系统是NTFS格式的,而这种格式与Mac电脑是不兼容的,Mac电脑没有权限对移动硬盘上的数据进行操作,Mac上不能把移动硬盘的数据删除了,那么,有没有什么操作方法&a…