矩阵式结构的键盘识别要复杂一些,列线通过电阻接正电源,并将行线所接的单片机的I/O口作为输出端,而列线所接的I/O口则作为输入。这样,当按键没有按下时,所有的输入端都是高电平,代表无键按下。行线输出是低电平,一旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状态就可得知是否有键按下了。
在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如P1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。
<1>确定矩阵式键盘上何键被按下介绍一种“行扫描法”。
行扫描法 行扫描法又称为逐行(或列)扫描查询法,是一种最常用的按键识别方法,如上图所示键盘,介绍过程如下。
1、判断键盘中有无键按下 将全部行线Y0-Y3置低电平,然后检测列线的状态。只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交叉的4个按键之中。若所有列线均为高电平,则键盘中无键按下。
2、判断闭合键所在的位置 在确认有键按下后,即可进入确定具体闭合键的过程。其方法是:依次将行线置为低电平,即在置某根行线为低电平时,其它线为高电平。在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。
<2>确定矩阵式键盘上何键被按下介绍一种“高低电平翻转法”。
首先让P1口高四位为1,低四位为0,。若有按键按下,则高四位中会有一个1翻转为0,低四位不会变,此时即可确定被按下的键的行位置。
然后让P1口高四位为0,低四位为1,。若有按键按下,则低四位中会有一个1翻转为0,高四位不会变,此时即可确定被按下的键的列位置。
最后将上述两者进行或运算即可确定被按下的键的位置。
关键字:矩阵键盘 单片机 扫描法
引用地址:
矩阵键盘原理与结构
推荐阅读最新更新时间:2024-03-16 13:37
51基础知识——51单片机小结(一)
概述 51单片机是比较适合新手入门的一款单片机,结构简单,易于学习。本博客为笔者自学完单片机后进行的小总结。 单片机我也是学学放放,中间遇到了很多挫折(当然现在也是),我是自学了C语言之后,在大一下学期开始接触51的,所以,我的51系列blog比较浅显,因为用单片机的时间较少,所以,也并不全面,仅供参考。如有错误,敬请指正。 51单片机的结构(基于MCS-51) 单片机也叫单片微控制器,可以简单的理解为:一种集成在芯片上的微型计算机系统。通用计算机采用冯诺依曼结构(不完全是冯诺依曼结构)而51单片机属于哈佛结构。 为什么51单片机要使用哈佛结构? (这里之说冯诺依曼结构与哈佛结构的差异)冯诺依曼结构认为程序是特殊的数据,所以
[单片机]
51单片机IO口模拟串口通讯3-中断法
硬件环境:STC89C52 软件环境:IDE Keil uVision V4.10 编译器 C51 V9.0 代码如下: /********************************************** 方法3:中断法 硬件:11.0592MHz晶振,STC89C52,RXD P1.0 TXD P1.1 波特率:9600 描述:所谓中断法是指根据模拟出的波特率,每1位持续的时间的长短是通过定时器计数 溢出产生中断来延时的。 测试1:上电发送1个0x03的字符 测试2:上电先发送1个0x03的字符,然后等待接收,将收到的字符再发送出去(分别一个一个发送0x01,0x02,0x03,0x04,0x0
[单片机]
爱特梅尔 ATmega1284P微控制器开始付运
爱特梅尔公司(Atmel® Corporation)日前宣布128 KB picoPower® megaAVR®微控制器开始付运。ATmega1284P瞄准体积受限的低功耗应用,采用小型44脚封装,结合了超低功耗、128 KB 闪存和16 KB RAM,适用于无线和以太网节点、家居自动化和其它代码密集的电池或信号线供电产品, 爱特梅尔AVR产品市场总监Ingar Fredriksen称:“我们的ATmega1284P带有16KB SRAM,瞄准过往需要外部SRAM的低功耗应用。ATmega1284P通过省去外部SRAM和地址闩锁,得以显著降低BOM成本和制造成本,减低复杂性,并缩短设计人员将产品带入市场的开发时间。”
[电源管理]
STM32单片机GPIO寄存器
每个GPIO端口有两个32位配置寄存器(GPIOx_CRL,GPIOx_CRH)分别控制每个端口的高八位和低八位,如果IO口是0-7号的话,则写CRL寄存器,如果IO口是8-15号的话,则写CRH寄存器,两个32位数据寄存器(GPIOx_IDR,GPIOx_ODR)一个是只读作输入数据寄存器,一个是只写作输出寄存器,一个32位置位/复位寄存器(GPIOx_BSRR),一个16位复位寄存器(GPIOx_BRR)和一个32位锁定寄存器(GPIOx_LCKR)。常用的IO端口寄存器只有四个:CRH,CRL,IDR,ODR。 数据手册中列出的每个I/O端口的特定硬件特征, GPIO端口的每个位可以由软件分别配置成多种模式。每个I/
[单片机]
HOLTEK 新推出 HT45F3W 血压计 MCU
Holtek在医疗量测领域不断追求卓越精进,正式推出高度整合,高性价比的血压计专用MCU HT45F3W。HT45F3W整合了多个可程序调整放大倍率及偏压的专用运算放大器,并内建有13-位模拟数字转换器,定电流产生器,同时具有Charge Pump及Regulator等功能,并搭配IAP ( In-Application Programming) 技术,对于程序更新及量测数据储存都可轻易完成。非常适用于臂式血压计及腕式血压计并各项居家医疗健康器材等产品。 HT45F3W包含有16K Word Flash程序内存、512Byte数据存储器、64Byte Data EEPROM及8 Level Stack等核心规格;同时兼具实用的外
[医疗电子]
51单片机小白零基础教程——独立键盘检测原理以及实际应用
一、键盘的概念 键盘:是电子系统中,人机对话的重要组成部分,是人向机器发出指令、输入信息必须的设备 通常来说,键盘有编码键盘和非编码键盘两种。 编码键盘:键盘上闭合键的识别由专门的硬件编码器实现,并产生键编码号或键值的称为编码键盘,如计算机键盘,这种键盘使用方便,所需程序简单,但硬件电路复杂 非编码键盘:是利用软件编程来实别键盘的,在单片机组成的各种系统中,最常用的就是非编码键盘,特点是硬件电路简单 非编码键盘又分为独立键盘和矩阵式键盘。 二、独立键盘的检测 在单片机的外围电路中,常常用到的按键是机械弹性开关,当开关闭合时,线路导通,开关断开时,线路断开。 如图,当按下开关时,原本连在一起的1和2脚,3
[单片机]
布局高端 瞄准16/32位市场
2008 年前,瑞萨在中国 MCU 市场的产品一直以 4 位和 8 位为主,而瑞萨 RX 系列诞生,正式吹响了进军 16 位和 32 位产品生产及销售的“集结号”。 MCU :持续拓展 16/32 位市场 针对中国 MCU 市场,瑞萨制定了新的策略:通过四大战略保持并扩大在 MCU 领域的优势。首先,进一步拓展高、中、低端产品阵容;其次,凭借 Super H 实现在中国高端领域市场的飞跃;第三,面向中端领域投入 RX 系列产品;第四,在低端领域通过 Tiny 继续维持良好的发展势头。 瑞萨的 MCU 产品大量应用
[新品]
用51单片机实现串口-以太网转换器
单片机或微控制器(MCU)(也称为嵌入式系统)已经在各个领域得到了广泛的应用。目前绝大多数系统都是以MCU为核心,与一些监测、伺服、指示设备配合实现一定的功能。以太网是当今最受欢迎的局域网之一,现已成为社会重要的基础信息设施之一, 是信息流通的重要渠道,如果嵌入式系统能够连接到Internet上面,则可以方便、低廉地将信息传送到几乎世界上的任何一个地方。 将嵌入式系统与Internet相连的主要困难在于:Internet上面的各种通信协议对于存储器、运算速度等的要求比较高,而嵌入式系统中除部分32位处理器以外,大量存在的是8位和16位MCU,支持TCP/IP等Internet协议将占用大量系统资源,从而影响本来的功能或根本
[单片机]