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

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

3天内不再提示

3x3矩阵键盘扫描原理及扫描程序

姚小熊27 来源:网络整理 2018-02-24 15:47 次阅读

3x3矩阵键盘简介

矩阵键盘,3×3矩阵键盘,数码管显示对应按键,动态扫描,中断实现。

3x3矩阵键盘扫描原理及扫描程序

其中上拉电阻属性需设置为“digital”。

3x3矩阵键盘扫描原理及扫描程序

将9个按键排成3行3列,第一行将每个按键的一端连接在一起构成行线,第一列将每个按键的另一端连接在一起构成列线,这样一共有3行3列一共6根线,我们将这六根线连接到STM32的6个IO口上,通过程序扫描键盘就可检测9个键。

无论独立键盘还是矩阵键盘,单片机检测其是否被按下的原理都是一样的,也就是检测与该键对应的I/O口是否为低电平。独立按键有一端固定为低电平,单片机写程序检测时比较方便。而矩阵键盘两端都与单片机I/O口相连,因此在检测时需要人为通过单片机I/O口送出低电平。检测时,先送一列为低电平,其余几列为高电平(此时我们确定了列数),然后立即轮流检测一次各行是否有低电平,若检测到某一行为低电平(此时我们又确定了行数),则我们便可确认当前按下的键是哪一行哪一列的,用同样的方法轮流送各列一次低电平,再轮流检测一次各行是否变为低电平,这样既可检测完所有的按键。当然我们也可将行线置低电平,扫描列是否有低电平。这就是矩阵键盘的检测原理和方法。

3x3矩阵键盘扫描原理及扫描程序

SETB P1.0 ;首先各位先置一

SETB P1.1

SETB P1.2

SETB P1.3

SETB P1.4

SETB P1.5

KEY: CLR P1.0 ;行线均清零

CLR P1.1 CLR P1.2

JNB P1.3 , KEY0 ;判断是否有按键按下

JNB P1.4, KEY0

JNB P1.5 , KEY0

SJMP KEY ;无按键按下回到KEY继续查询是否有按键按下

KEY0: LCALL DELAY ;调用延时函数

CLR P1.0 ;P1.0清零,P1.1、P1.2置一

SETB P1.1

SETB P1.2

JNB P1.3 , KEY1 ;P1.3为零则按键一被按下,跳转到按键一KEY1处

JNB P1.4 , KEY2

JNB P1.5 , KEY3

SETB P1.0 ;P1.1清零,P1.0、P1.2置一 CLR P1.1

SETB P1.2

JNB P1.3 , KEY4

JNB P1.4 , KEY5

JNB P1.5 , KEY6

SETB P1.0 ;P1.2清零,P1.0、P1.1置一

SETB P1.1

CLR P1.2

JNB P1.3 , KEY7

JNB P1.4 , KEY8

JNB P1.5 , KEY9

SJMP KEY ;如果无按键按下重新跳回到按键查询程序

KEY1: LCALL PRO1 ;调用按键一的处理子程序

LJMP KEY ;返回继续查询按键是否被按下

KEY2: LCALL PRO2

LJMP KEY

KEY3: LCALL PRO3

LJMP KEY

KEY4: LCALL PRO4

LJMP KEY

KEY5: LCALL PRO5

LJMP KEY

KEY6: LCALL PRO6

LJMP KEY

KEY7: LCALL PRO7

LJMP KEY

KEY8: LCALL PRO8

LJMP KEY

KEY9: LCALL PRO9

LJMP KEY

PRO1: 。 ;按键一的处理子程序

RET ;子程序返回

PRO2:

。 RET

PRO3:

RET

PRO4:

RET

PRO5:

RET

PRO6:

RET

PRO7:

RET

PRO8:

RET

PRO9:

RET

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 矩阵键盘
    +关注

    关注

    7

    文章

    206

    浏览量

    31458
收藏 人收藏

    评论

    相关推荐

    矩阵键盘扫描程序:线反转法

    /*矩阵键盘扫描程序:线反转法(经典矩阵键盘检测程序
    发表于 12-25 22:23

    求一个3x3矩阵键盘按键发音程序和仿真

    求一个3x3矩阵键盘按键发音程序和仿真,蜂鸣器可以哔哔响就可以
    发表于 04-21 09:23

    基于CPLD 的矩阵键盘扫描模块设计

    用时4 μs;当允许矩阵键盘输出且没有键按下时,每次中断服务程序需要额外执行3 条语句,大约用时1.5 μs;与CPU 完成矩阵
    发表于 06-25 07:00

    矩阵键盘的基本扫描步骤

    一、模块题目二、原理简述1、矩阵键盘扫描思想(转载+删减)与独立按键不同的是,按键的两个引脚都分别连接的单片机的I/O端口,一个作为行信号,另外一个作为列信号。下以4X4的
    发表于 01-11 07:00

    矩阵键盘扫描原理程序讲解

    矩阵键盘扫描原理程序讲解
    发表于 01-12 07:07

    矩阵键盘扫描程序

    矩阵键盘扫描程序 按键扫描(线反转)//-------------------------------- ----------------
    发表于 01-11 19:11 7767次阅读

    矩阵键盘扫描

    慧净HL-1 配套C实验例程100例【实验15】矩阵键盘扫描)),很好的C51学习资料程序
    发表于 03-21 16:54 13次下载

    51键盘扫描程序

    51键盘扫描程序,包含3X4矩阵键盘,4X4
    发表于 08-18 18:00 8次下载

    51单片机3X44X4矩阵键盘键盘扫描

    51单片机3X44X4矩阵键盘键盘扫描
    发表于 08-18 18:03 39次下载

    4乘4矩阵键盘扫描程序_VHDL程序

    4乘4矩阵键盘扫描程序 VHDL程序,感兴趣的小伙伴们可以瞧一瞧。
    发表于 11-11 11:20 46次下载

    4x4矩阵键盘工作原理及扫描程序

    矩阵键盘的动态扫描确实略显复杂,不可能就是读一个端口数据,然后马上就出来结果。这需要对依次每一行的按键进行扫描、判断,然后得出结果。本文主要介绍了
    的头像 发表于 02-24 15:30 24.2w次阅读
    4<b class='flag-5'>x</b>4<b class='flag-5'>矩阵</b><b class='flag-5'>键盘</b>工作原理及<b class='flag-5'>扫描</b><b class='flag-5'>程序</b>

    基于proteus+矩阵键盘扫描扫描工程文件

    基于proteus+矩阵键盘扫描扫描工程文件
    发表于 11-08 11:48 8次下载

    Proteus中以中断方式实现矩阵键盘扫描

    )定时扫描:利用定时器每间隔一段时间扫描一次键盘(2)程序扫描:在程序运行的过程中,当有必要了解
    发表于 11-26 12:21 9次下载
    Proteus中以中断方式实现<b class='flag-5'>矩阵</b><b class='flag-5'>键盘</b>的<b class='flag-5'>扫描</b>

    51单片机矩阵键盘扫描程序

    51单片机矩阵键盘扫描程序
    发表于 05-17 17:20 11次下载

    屏蔽键盘3X3开源设计

    电子发烧友网站提供《屏蔽键盘3X3开源设计.zip》资料免费下载
    发表于 06-09 15:15 0次下载
    屏蔽<b class='flag-5'>键盘</b><b class='flag-5'>3X3</b>开源设计