0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

单片机矩阵按键的工作原理和组成部分

CHANBAEK 来源:工控小新 作者:工控小新 2023-11-09 16:19 次阅读

单片机矩阵按键是一种常用的输入设备,它可以让用户通过按下不同的按键来控制单片机的功能。矩阵按键的原理是利用了电路的开关特性,将多个按键排列成一个矩阵,每个按键都连接了一行和一列的电路。当用户按下某个按键时,就会使得对应的行和列的电路导通,从而产生一个唯一的信号,这个信号可以被单片机识别并执行相应的操作。

矩阵按键的组成主要有两部分:按键和扫描电路。

按键是用来输入信号的部分,它可以是机械式的或者触摸式的,不同的按键可以有不同的标识,例如数字、字母或者符号。

扫描电路是用来检测信号的部分,它可以是硬件实现的或者软件实现的,它的作用是定时地给矩阵按键的每一行和每一列施加一个电压,并检测是否有电流流过,如果有,则说明有按键被按下,并根据行列号确定是哪个按键。

具体方法说明:

方法一:逐行扫描:我们可以通过低四位轮流输出低电平来对矩阵键盘进行逐行扫描,当高四位援收到的数据不全为1的时候,说明有按键按下,然后通过接收到的数据是哪一位为0来判断是哪一个按键被按下。

方法二:

行列扫描:我们可以通过高四位全部输出低电平,低四位输出高电平,当接收到数据时,低四位不全为高电平时,说明有按键按下,然后通过接收的数据值,判断是哪一列有按键按下,然后再反过来,高四位输出高电平,低四位输出低电平,然后根据接收到的高四位的值判断是那一行有按键按下。这样就能够确定是哪一个按键按下了

图片

矩阵按键如何变成独立按键?

留心发现,矩阵按键想要独立按键的话,只需要将高四位或者低四位永远拉低,那么就能把一行或者一列看作一个按钮,这样就变成了一个独立按键了。

程序展示:

#include< reg52.h >

typedef unsigned char u8;

typedef unsigned int u16;

u8 value;

unsigned char code sunduan[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E};

void delay(u16 t)

{

while(t--);

}

 

void key()

{

u8 a;

P3=0xF0;

if(P3!=0xF0)

{

delay(1000);

         if(P3!=0xF0)

{

P3=0xF0;

switch(P3)

{

case 0xE0:value=0;break;

case 0xD0:value=1;break;

case 0xB0:value=2;break;

case 0x70:value=3;break;

}

P3=0x0F;

switch(P3)

{

case 0x0E:value=value;break;

case 0x0D:value=value+4;break;

case 0x0B:value=value+8;break;

case 0x07:value=value+12;break;

}

while((a< 50)&&(P3!=0x0F))                //按键超时松开判断

{

delay(1000);

a++;

}

}

}

}

 

void main()

{

while(1)

{

key();

P2=sunduan[value];

}

}

效果展示:

下载程序到proteus仿真系统中。

我们在程序中设置了十六个按键分别对应的0~F这十六个数值,当我们按下第一个按键时,在数码管上显示的是0,当我们按下第二个按键时,显示的是数值1…

使用矩阵按键需要注意以下几点:

  • 矩阵按键需要与单片机相连接,通常使用多根导线或者排针来实现。
  • 矩阵按键需要配置好扫描电路,通常使用单片机的输入输出端口来实现。
  • 矩阵按键需要编写好扫描程序,通常使用单片机的定时器中断来实现。
  • 矩阵按键需要处理好信号干扰,通常使用去抖动技术来实现。

矩阵按键的作用主要有以下几种:

  • 矩阵按键可以作为单片机的人机交互界面,让用户可以输入数据或者选择功能。
  • 矩阵按键可以作为单片机的控制器,让用户可以控制单片机的运行状态或者输出结果。
  • 矩阵按键可以作为单片机的扩展器,让用户可以增加单片机的输入端口或者功能模块。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6032

    文章

    44513

    浏览量

    632691
  • 数码管
    +关注

    关注

    32

    文章

    1874

    浏览量

    90921
  • 扫描电路
    +关注

    关注

    0

    文章

    8

    浏览量

    8031
  • 矩阵按键
    +关注

    关注

    0

    文章

    28

    浏览量

    8360
收藏 人收藏

    评论

    相关推荐

    RFID技术的工作原理组成部分是什么?

    什么是RFID技术,基本工作原理组成部分是什么,是什么让零售商如此推崇RFID,RFID的典型应用是什么 .什么是RFID?自2004年以来,与RFID技术相关的文章在各个媒体上不断涌现,相关
    发表于 08-05 07:57

    单片机的主要组成部分

      单片机的主要组成部分  单片机单片微型计算机的简称,由于单片机主要用于控制领域,所以国际上通常将
    发表于 06-28 09:24

    按键矩阵扫描的原理

    51单片机_按键矩阵扫描demo代码工作以来一直在搞单片机方面的软件,决定把工作以来写的一些模块
    发表于 07-15 07:46

    51单片机矩阵键盘的工作原理和检测方法

    独立键盘与单片机连接时,每一个按键都需要单片机的一个I/O口若某单片机系统需较多按键,如果用独立按键
    发表于 11-18 08:26

    51单片机矩阵按键

    51单片机矩阵按键,根据按键数在数码管上显示。
    发表于 05-09 10:59 5次下载

    MCS-51单片机最小系统的组成部分及电路图介绍

    本文介绍了51单片机的概念和基本特点,介绍了单片机的应用分类,最后详细介绍了MCS-51单片机最小系统的组成部分及电路图。
    发表于 04-26 14:38 3.6w次阅读

    51单片机的独立按键按键消抖及矩阵按键的电路与程序免费下载

    本文档的主要内容详细介绍的是51单片机的独立按键按键消抖及矩阵按键的电路与程序免费下载。
    发表于 07-26 17:36 28次下载
    51<b class='flag-5'>单片机</b>的独立<b class='flag-5'>按键</b>和<b class='flag-5'>按键</b>消抖及<b class='flag-5'>矩阵</b><b class='flag-5'>按键</b>的电路与程序免费下载

    PIC单片机矩阵按键运用程序下载

    PIC单片机矩阵按键运用程序下载
    发表于 10-18 09:27 0次下载

    51单片机(二十四)—— 独立按键工作原理

    按键单片机应用中必不可少的输入器件,本文我们基于51单片机来介绍独立按键工作原理。 在我们使用的开发板上,独立
    发表于 11-11 10:21 14次下载
    51<b class='flag-5'>单片机</b>(二十四)—— 独立<b class='flag-5'>按键</b><b class='flag-5'>工作原理</b>

    51单片机按键检测--独立按键矩阵键盘

    按键,每个按键对应一个IO口,通过循环或者中断去检测,这种方法常用于按键个数较少得时候。如果按键的个数较多,每个按键都分配一个IO口,会占用
    发表于 11-12 11:06 15次下载
    51<b class='flag-5'>单片机</b><b class='flag-5'>按键</b>检测--独立<b class='flag-5'>按键</b>与<b class='flag-5'>矩阵</b>键盘

    51单片机键盘接口-独立按键矩阵按键

    51单片机键盘接口-独立按键矩阵按键按键的分类键输入原理独立式键盘矩阵键盘消抖键码识别键盘程序
    发表于 11-12 12:36 13次下载
    51<b class='flag-5'>单片机</b>键盘接口-独立<b class='flag-5'>按键</b>和<b class='flag-5'>矩阵</b><b class='flag-5'>按键</b>

    【STC单片机学习】第九课:单片机按键使用

    使用单片机外部中断来处理按键1.9.8.矩阵键盘的原理1.9.9.矩阵键盘编程实战第二部分、章节介绍1.9.1.
    发表于 11-14 11:36 59次下载
    【STC<b class='flag-5'>单片机</b>学习】第九课:<b class='flag-5'>单片机</b><b class='flag-5'>按键</b>使用

    51单片机(V51)———独立按键、4x4矩阵按键

    51单片机(V51)———独立按键、4x4矩阵按键
    发表于 11-16 17:36 26次下载
    51<b class='flag-5'>单片机</b>(V51)———独立<b class='flag-5'>按键</b>、4x4<b class='flag-5'>矩阵</b><b class='flag-5'>按键</b>

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

    单片机编辑库一之延时与led灯单片机编辑库二之按键单片机编辑库三之蜂鸣器单片机编辑库四之矩阵
    发表于 12-31 19:37 12次下载
    <b class='flag-5'>单片机</b>编辑库四之<b class='flag-5'>矩阵</b><b class='flag-5'>按键</b>

    单片机学习-矩阵按键

    目录矩阵按键介绍检测方法C51例程欢迎加QQ及邮件交流矩阵按键介绍 独立键盘与单片机连接时,每一个
    发表于 12-31 19:37 15次下载
    <b class='flag-5'>单片机</b>学习-<b class='flag-5'>矩阵</b><b class='flag-5'>按键</b>