1、矩阵式键盘的结构与工作原理
在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式,如图1所示。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如P1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。
矩阵式结构的键盘显然比直接法要复杂一些,识别也要复杂一些,上图中,列线通过电阻接正电源,并将行线所接的单片机的I/O口作为输出端,而列线所接的I/O口则作为输入。这样,当按键没有按下时,所有的输出端都是高电平,代表无键按下。行线输出是低电平,一旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状态就可得知是否有键按下了。具体的识别及编程方法如下所述。
2、矩阵式键盘的按键识别方法
确定矩阵式键盘上何键被按下介绍一种“行扫描法”。
行扫描法 行扫描法又称为逐行(或列)扫描查询法,是一种最常用的按键识别方法,如上图所示键盘,介绍过程如下。
1、判断键盘中有无键按下 将全部行线Y0-Y3置低电平,然后检测列线的状态。只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交叉的4个按键之中。若所有列线均为高电平,则键盘中无键按下。
2、判断闭合键所在的位置 在确认有键按下后,即可进入确定具体闭合键的过程。其方法是:依次将行线置为低电平,即在置某根行线为低电平时,其它线为高电平。在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。
下面给出一个具体的例子:
图仍如上所示。8031单片机的P1口用作键盘I/O口,键盘的列线接到P1口的低4位,键盘的行线接到P1口的高4位。列线P1.0-P1.3分别接有4个上拉电阻到正电源+5V,并把列线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”,则无键闭合,否则有键闭合。
2、去除键抖动。当检测到有键按下后,延时一段时间再做下一步的检测判断。
3、若有键被按下,应识别出是哪一个键闭合。方法是对键盘的行线进行扫描。P1.4-P1.7按下述4种组合依次输出:
P1.7 1 1 1 0
P1.6 1 1 0 1
P1.5 1 0 1 1
P1.4 0 1 1 1
在每组行输出时读取P1.0-P1.3,若全为“1”,则表示为“0”这一行没有键闭合,否则有键闭合。由此得到闭合键的行值和列值,然后可采用计算法或查表法将闭合键的行值和列值转换成所定义的键值
4、为了保证键每闭合一次CPU仅作一次处理,必须却除键释放时的抖动。
键盘扫描程序:
从以上分析得到键盘扫描程序的流程图如图2所示。程序如下
SCAN: MOV P1,#0FH
MOV A,P1
ANL A,#0FH
CJNE A,#0FH,NEXT1
SJMP NEXT3
NEXT1: ACALL D20MS
MOV A,#0EFH
NEXT2: MOV R1,A
MOV P1,A
MOV A,P1
ANL A,#0FH
CJNE A,#0FH,KCODE;
MOV A,R1
SETB C
RLC A
JC NEXT2
NEXT3: MOV R0,#00H
RET
KCODE: MOV B,#0FBH
NEXT4: RRC A
INC B
JC NEXT4
MOV A,R1
SWAP A
NEXT5: RRC A
INC B
INC B
INC B
INC B
JC NEXT5
NEXT6: MOV A,P1
ANL A,#0FH
CJNE A,#0FH,NEXT6
MOV R0,#0FFH
RET
键盘处理程序就作这么一个简单的介绍,实际上,键盘、显示处理是很复杂的,它往往占到一个应用程序的大部份代码,可见其重要性,但说到,这种复杂并不来自于单片机的本身,而是来自于操作者的习惯等等问题,因此,在编写键盘处理程序之前,最好先把它从逻辑上理清,然后用适当的算法表示出来,最后再去写代码,这样,才能快速有效地写好代码。
到本课为止,本站教程暂告一个段落!感谢大家的关心和支持!
单片机入门教程第26课-矩阵式键盘接口技术及编程
- 键盘(38966)
- 接口技术(41224)
相关推荐
矩阵式变换器的拓扑结构和工作原理 矩阵式变换器的控制策略和仿真分析
在目前各领域对于电能转换特别是高效变频装置存在迫切需求的背景下,在详细分析模块化的矩阵式变流器的拓扑结构、开关状态和工作原理的基础上,设计了一套矩阵式变流器的控制策略。采用编程实现了数字化控制
2023-12-26 14:07:21825
矩阵键盘原理与结构
矩阵式结构的键盘识别要复杂一些,列线通过电阻接正电源,并将行线所接的单片机的I/O口作为输出端,而列线所接的I/O口则作为输入。这样,当按键没有按下时,所有的输入端都是高
2011-10-25 13:42:3714091
51单片机入门教程之从原理到汇编
数码管静态显示接口与编 24 课:动态扫描显示接口电路及程序 25 课:单片机键盘接口程序设计 26 课:单片机矩阵式键盘接口技术及 27 课:关于单片机的一些基本概念 28 课:单片机音乐程序设计
2018-11-21 17:46:47
51单片机教程(从原理开始基于汇编)
程序设计 23课:LED数码管静态显示接口与编 24课:动态扫描显示接口电路及程序 25课:单片机键盘接口程序设计 26课:单片机矩阵式键盘接口技术及 27课:关于单片机的一些基本概念 28课:单片机音乐程序设计 附录:51单片机指令表
2012-07-15 17:25:33
单片机矩阵键盘判断
单片机矩阵键盘判断某个按键按下这是我第一次发表文章,关于51单片机矩阵式键盘逐行逐列扫描是否有按键按下,以及把键号显示用七段数码管显示出来的程序,分享如下。矩阵键盘51单片机数码管显示程序代码如下
2021-12-08 07:12:25
单片机原理及应用和单片机原理及接口技术
单片机原理及应用和单片机原理及接口技术,历时一年多(2008.10~2010.2),《单片机原理与接口技术》一书终于完稿。期待早日出版。
2021-07-16 08:01:16
单片机学习一键盘接口方式详解
特点,就是会产生抖动,这种抖动人是感觉不到的,但单片机完全可以感应到,因为单片机处理的速度是在微秒级的,而机械抖动的时间至少是毫秒级,对单片机而言这是一个很漫长的过程。矩阵式键盘结构所谓矩阵式键盘,即当
2020-08-25 10:00:06
单片机实验说明四>矩阵键盘与LCD基本使用 精选资料分享
实验四 矩阵键盘识别设计设计要求:对4×4矩阵式键盘电路的键值进行编码,编程实现在LCD液晶显示器上显示每个按键的“0-F”序号电路设计:软件代码:#include "hml
2021-07-20 06:17:45
单片机教程(26)矩阵式键盘接口技术及程序设计
作一次处理,必须却除键释放时的抖动。《单片机矩阵式键盘接口技术及编程》键盘扫描程序:从以上分析得到单片机键盘扫描程序的流程图如图2所示。程序如下SCAN: MOV P1,#0FHMOV A,P1ANL
2018-06-25 09:25:57
矩阵式变换器双向开关四步换流技术研究
本帖最后由 eehome 于 2013-1-5 09:43 编辑
矩阵式变换器双向开关四步换流技术研究 对矩阵式变换器(MC)中双向开关的安全换流课题进行了研究。分析了各种换流方案,进而
2013-01-04 18:45:53
矩阵式柔性充电堆技术引行业关注
奥特迅在“中国电动汽车百人会论坛”上宣布,成功研制出矩阵式柔性充电堆技术,该技术在国内尚属首创,已获得国家专利。据悉,矩阵式柔性充电堆技术对目前充电桩的兼容性、利用率、可扩展性上都做了改进,并且能
2016-10-28 11:10:12
MCS-51系列单片机实用接口技术-电子书(免费下载哦)
MCS-51系列单片机实用接口技术全面、系统地介绍了MCS-51系列单片机应用系统的各种实用接口技术及其配置。内容包括:MCS-51系列单片机组成原理:应用系统扩展、开发与调试;键盘输入接口
2008-12-23 14:30:45
【单片机技术资料汇总】
页13 单片机的电源管理 41页14 51单片机教程 98页15 单片机入门制作专辑 40页16 单片机原理及应用技术 75页17 51单片机C语言编程入门 83页18 《单片机与控制技术》之接口技术
2012-08-18 15:54:06
【单片机学堂】单片机40个实验之4×4矩阵式键盘识别技术
4×4矩阵式键盘识别技术 1. 实验任务 如图4.14.2所示,用AT89S51的并行口P1接4×4矩阵键盘,以P1.0-P1.3作输入线,以P1.4-P1.7作输出线;在数码管上显示每个按键
2011-11-28 09:52:37
一种实用的单片机矩阵键盘设计
矩阵键盘是单片机外部设备中所使用的排布类似于矩阵的键盘组。矩阵式结构的键盘显然比直接法要复杂一些,识别也要复杂一些,列线通过电阻接正电源,并将行线所接的单片机的I/O口作为输出端,而列线所接的I/O
2017-08-12 21:23:38
为什么用矩阵键盘
,使用独立按键便会占用较多的I/O口资源。单片机系统中I/O口资源往往比较宝贵,当用到多个按键时,为了节省I/O口,我们选择矩阵键盘。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个
2022-01-07 06:44:50
利用N+1个I/O口实现N×N矩阵式键盘
的作用。因此,探讨一些键盘的特殊结构,用尽可能少的输入输出端口实现较多数量的按键数仍具有重要的应用价值。 有些特殊情况下,在组成一个最小的单片机系统的过程中,由于通用的I/O口有限,而又需要大量的按键
2012-02-15 22:02:49
发一个原创视频系列,51单片机入门
控制数码管计时 [原创] 第六课单片机的矩阵式键盘检测 [教育] 第7课51单片机驱动LCD1602液晶显示 所有视频地址:http://i.youku.com/u/id_UMTkwMDAzNzky
2012-09-11 17:18:48
在Arduino中搭建一个3*3的矩阵键盘
矩阵键盘在51单片机的案例中应用较多,但是在Arduino中很少使用,今天小编就特立独行一次,在Arduino中搭建一个3*3的矩阵键盘。一、什么是矩阵键盘?矩阵键盘是单片机外部设备中所使用的排布
2022-01-12 06:09:36
如何识别矩阵式键盘输入
单片机实验:矩阵式键盘输入识别1.实验内容编写 c 语言程序,设计一个 4X4 的矩阵键盘,键盘的号码 0~15,要求编写出一个键盘输入扫描程序,要求单片机能根据键盘排列顺序,能将按下去键盘号正确
2021-11-29 07:50:14
对4×4矩阵式键盘电路的键值进行编码
键盘与LCD实验对4×4矩阵式键盘电路的键值进行编码,编程实现在LCD液晶显示器上显示每个按键的ASCII码。(⊙﹏⊙)呃这个和去年一样单片机实验说明<四>矩阵键盘与LCD基本使用专栏
2022-01-24 08:17:17
对单片机常见输入设备按键进行全方位学习
本课程是《朱有鹏老师单片机完全学习系列课程》第1季第9个课程,综合解决了独立按键和矩阵式按键的处理方法,涉及到:IO的输入输出、按键抖动和消抖、中断的引入和相关概念、矩阵式键盘的原理和编程等。目的是对单片机常见输入设备按键进行全方位学习。...
2022-02-28 13:38:42
掌握矩阵式键盘扫描方法与定时器中断原理
AVR单片机 实验五 矩阵键盘扫描实验1 实验目的掌握矩阵式键盘扫描方法与定时器中断原理,以实现多键输入判别及4位数码管显示的应用。2 实验内容(1)实现矩阵式键盘扫描。(2)设定定时中断,实现按键
2021-11-23 08:30:13
李全利-[单片机原理及接口技术]
本书为“教育科学‘十五’国家规划课题研究成果”。书中系统地介绍了 80C51 系列单片机的原理及接口技术,精选单片机原理及接口技术的基本知识,并注意反映当代单片机技术发展的趋势,较好地体现了培养
2014-11-26 10:18:47
浅析单片机原理及接口技术
PPT内容这是单片机原理与接口技术课件ppt,包括了微型计算机基础,MCS-51单片机结构与时序,习题课,MCS-51与存储器连接示例,汇编语言程序设计,半导体存储器,中断系统,并行I/O接口
2021-09-10 07:27:42
独立按键编程
使用单片机外部中断来处理按键1.9.8.矩阵键盘的原理1.9.9.矩阵键盘编程实战第二部分、章节介绍1.9.1.按键相关知识 本节讲解按键的工作原理,CPU如何处理按键以及独立按键和矩阵式按键的区别。1.9.2.独立按键编程 本节首先讲解独立按...
2021-11-22 08:09:34
独立按键和矩阵式按键的处理方法
本课程是《朱有鹏老师单片机完全学习系列课程》第1季第9个课程,综合解决了独立按键和矩阵式按键的处理方法,涉及到:IO的输入输出、按键抖动和消抖、中断的引入和相关概念、矩阵式键盘的原理和编程等。目的是对单片机常见输入设备按键进行全方位学习。...
2022-02-28 14:11:12
单片机实用接口技术
单片机实用接口技术介绍了MCS-51系列单片机应用系统的各种实用接口技术及其配置。内容包括:MCS-51系列单片机组成原理:应用系统扩展、开发与调试;键盘输入接口的设计及
2008-12-23 14:27:4729
MCS-51单片机的编程应用范例
[学习要求] 掌握MCS-51单片机的基本应用。[重点与难点]重点:动态扫描LED显示电路编程范例;定时/计数器软件编程范例;A/D接口电路;矩阵式键盘接口技术及编程。难点
2009-03-08 10:44:5272
矩阵式单相调压器的研究
矩阵式变换器是一种新型电力变换器。本文研究了一种由矩阵式单相变换器演化的单相调压电路,与传统调压器相比,这种调压器具有输入电流正弦度高、输出电压调节线性度好
2010-01-25 13:53:2319
《单片机与接口技术》试卷集
目录《单片机与接口技术》试卷一《单片机与接口技术》试卷二《单片机与接口技术》试卷三《单片机与接口技术》试卷四《单片机与接口技术》试卷五《单片机
2010-08-11 10:20:4756
4×4矩阵式键盘识别技术
4×4矩阵式键盘识别技术 1. 实验任务 如图4.14.2所示,用AT89S51的并行口P1接4×4矩阵键盘,以P1.0-P1.3作
2009-04-16 10:26:084723
单片机教程二十五:单片机矩阵式键盘接口技术及程序设计
单片机教程二十五:单片机矩阵式键盘接口技术及程序设计
键盘是由若干按钮组成的开关矩阵,它是单片机系统中最常用的输入设备,用户能通过键盘向
2009-05-15 23:23:242368
矩阵式变换器双向开关四步换流技术研究
矩阵式变换器双向开关四步换流技术研究
摘要:对矩阵式变换器(MC)中双向开关的安全换流课题进行了研究。分析了各种换流方案,进
2009-07-11 09:43:191320
单片机入门教程第25课-键盘接口与编程
单片机入门教程第25课-键盘接口与编程
键盘是由若干按键组成的开关矩阵,它是微型计算机最常用的输入设备,用户可以通过键盘向计算机输入指
2010-01-07 15:19:21746
单片机入门教程第23课-常用接口电路及其编程
单片机入门教程第23课-常用接口电路及其编程
LED数码显示器的连接与编程 在单片机系统中,通常用LED数码显示器来显示各种数字或符
2010-01-07 15:37:251105
4×4矩阵式非编码键盘电路
4×4矩阵式非编码键盘电路
输入键盘控制电路采用4×4矩阵式非编码键盘电路,与单片机进行连接。单片机的IOA8~IOA11做键盘的行扫描输出口,IOA12~IOA15
2010-02-21 15:04:594820
矩阵式转换器AC直接方式的控制方法
而假想间接方式的做法则是,将矩阵式转换器假想分割成2条电路,在求出各条电路中开关元件的占空比之后,再转换成构成矩阵式转换器的9个开关元件的占空比,据此生成脉
2010-11-04 19:12:541012
DSP矩阵式声音处理器
C102全数字矩阵式声音处理器,包括输入/输出自由矩阵分配,输入/输出增益控制、输入/输出PEQ、输入/输出信号延时、输入/输出压缩限幅、噪音门、电子分频器、相位选择等,全部由电脑控制,中央集控最高可控制256台C102。是演出、会议首选矩阵式声音处理器,如
2011-02-25 16:33:0893
26课:矩阵式键盘接口技术及程序设计
在单片机系统中键盘中按钮数量较多时,为了减少I/O口的占用,常常将按钮排列成矩阵形式,如图1所示。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按钮加以连接。这样,一个端口
2017-11-22 12:01:44736
一种实用的单片机矩阵键盘设计
矩阵键盘是单片机外部设备中所使用的排布类于矩阵的键盘组。矩阵式结构的键盘显然比直接法要复杂一些,识别也要复杂一些,列线通过电阻接正电源,并将行线所接的单片机的I/O口作为输出
2017-11-24 07:42:01543
51单片机汇编语言教程之矩阵式键盘接口技术及程序设计的详细资料说明
在单片机系统中键盘中按钮数量较多时,为了减少I/O 口的占用,常常将按钮排列成矩阵形式,如图1所示。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按钮加以连接。这样,一个端口
2019-06-05 16:49:464
矩阵键盘的基本原理讲解
矩阵键盘是单片机外部设备中所使用的排布类似于矩阵的键盘组。矩阵式结构的键盘显然比直接法要复杂一些,识别也要复杂一些,列线通过电阻接正电源,并将行线所接的单片机的I/O口作为输出端,而列线所接的I/O口则作为输入。
2019-11-21 07:09:007996
51单片机矩阵式键盘的编程方法资料下载
电子发烧友网为你提供51单片机矩阵式键盘的编程方法资料下载的电子资料下载,更有其他相关的电路图、源代码、课件教程、中文资料、英文资料、参考设计、用户指南、解决方案等资料,希望可以帮助到广大的电子工程师们。
2021-04-10 08:44:1323
单片机c语言编程入门教程
单片机c语言编程入门教程说难不难,说易不易,学习单片机c语言首先就要明白这两样东西是啥?单片机入门编程主要是学C语言,其次就是电路跟编程语言。
2021-07-29 10:39:1617545
AVR单片机 实验五 矩阵键盘扫描实验
AVR单片机 实验五 矩阵键盘扫描实验1 实验目的掌握矩阵式键盘扫描方法与定时器中断原理,以实现多键输入判别及4位数码管显示的应用。2 实验内容(1) 实现矩阵式键盘扫描。(2) 设定
2021-11-14 20:36:0521
单片机实验:矩阵式键盘输入识别
单片机实验:矩阵式键盘输入识别1.实验内容编写 c 语言程序,设计一个 4X4 的矩阵键盘,键盘的号码 0~15,要求编写出一个键盘输入扫描程序,要求单片机能根据键盘排列顺序,能将按下去键盘号正确
2021-11-19 15:06:1017
单片机矩阵式键盘扫描程序
单片机矩阵键盘判断某个按键按下这是我第一次发表文章,关于51单片机矩阵式键盘逐行逐列扫描是否有按键按下,以及把键号显示用七段数码管显示出来的程序,分享如下。矩阵键盘51单片机数码管显示程序代码如下
2021-11-25 18:36:0327
自动化流水线矩阵式键盘的功能说明
方式的不同,可以分为非矩阵式键盘和矩阵式键盘两类。其中,非矩阵式键盘的结构简单,使用方便,适用于按键个数较少的场合;矩阵式键盘的编程较为复杂,在按键数较多时,一般采用矩阵式的键盘接口。 键盘工作方式的选取应根据
2022-04-19 14:33:25838
评论
查看更多