独立按键和矩阵键盘驱动原理

news/2025/1/8 23:23:28/

博主福利:100G+电子设计学习资源包!

http://mp.weixin.qq.com/mp/homepage?__biz=MzU3OTczMzk5Mg==&hid=7&sn=ad5d5d0f15df84f4a92ebf72f88d4ee8&scene=18#wechat_redirect
--------------------------------------------------------------------------------------------------------------------------

 

No.1 按键分类与输入原理

 

按键按照结构原理科分为两类,一类是触点式开关按键,如机械式开关、导电橡胶式开关灯;另一类是无触点式开关按键,如电气式按键,磁感应按键等。前者造价低,后者寿命长。目前,微机系统中最常见的是触点式开关按键。

 

在单片机应用系统中,除了复位按键有专门的复位电路及专一的复位功能外,其他按键都是以开关状态来设置控制功能或输入数据的。当所设置的功能键或数字键按下时,计算机应用系统应完成该按键所设定的功能,键信息输入时与软件结构密切相关的过程。

 

对于一组键或一个键盘,总有一个接口电路与CPU相连。CPU可以采用查询或中断方式了解有无将按键输入,并检查是哪一个按键按下,将该键号送人累加器,然后通过跳转指令转入执行该键的功能程序,执行完成后再返回主程序。

 

No.2 按键结构与特点

 

微机键盘通常使用机械触点式按键开关,其主要功能式把机械上的通断转换为电气上的逻辑关系。也就是说,它能提供标准的TTL逻辑电平,以便于通用数字系统的逻辑电平相容。机械式按键再按下或释放时,由于机械弹性作用的影响,通常伴随有一定的时间触点机械抖动,然后其触点才稳定下来。其抖动过程如下图1所示,抖动时间的长短与开关的机械特性有关,一般为5-10ms。

 

在触点抖动期间检测按键的通与断,可能导致判断出错,即按键一次按下或释放错误的被认为是多次操作,这种情况是不允许出现的。为了克服你、按键触点机械抖动所致的检测误判,必须采取消抖措施。按键较少时,可采用硬件消抖;按键较多式,采用软件消抖。

图1 按键触点机械抖动

 

(1)按键编码

 

一组按键或键盘都要通过I/O口线查询按键的开关状态。根据键盘结构的不同,采用不同的编码。无论有无编码,以及采用什么编码,最后都要转换成为与累加器中数值相对应的键值,以实现按键功能程序的跳转。

 

(2)键盘程序

 

一个完整的键盘控制程序应具备以下功能:

 

a.检测有无按键按下,并采取硬件或软件措施消抖。

 

b.有可靠的逻辑处理办法。每次只处理一个按键,期间对任何按键的操作对系统不产生影响,且无论一次按键时间有多长,系统仅执行一次按键功能程序。

 

c.准确输出按键值(或键号),以满足跳转指令要求。

 

No.3 独立按键与矩阵键盘

 

(1)独立按键

 

单片机控制系统中,如果只需要几个功能键,此时,可采用独立式按键结构。

 

独立按键式直接用I/O口线构成的单个按键电路,其特点式每个按键单独占用一根I/O口线,每个按键的工作不会影响其他I/O口线的状态。独立按键的典型应用如图所示。独立式按键电路配置灵活,软件结构简单,但每个按键必须占用一个I/O口线,因此,在按键较多时,I/O口线浪费较大,不宜采用。独立按键如图2所示。

 

图2 独立键盘

 

独立按键的软件常采用查询式结构。先逐位查询没跟I/O口线的输入状态,如某一根I/O口线输入为低电平,则可确认该I/O口线所对应的按键已按下,然后,再转向该键的功能处理程序。

 

(2)矩阵键盘

 

单片机系统中,若使用按键较多时如电子密码锁、电话机键盘等一般都至少有12到16个按键,通常采用矩阵键盘。

 

矩阵键盘又称行列键盘,它是用四条I/O线作为行线,四条I/O线作为列线组成的键盘。在行线和列线的每个交叉点上设置一个按键。这样键盘上按键的个数就为4*4个。这种行列式键盘结构能有效地提高单片机系统中I/O口的利用率。

 

最常见的键盘布局如图3所示。一般由16个按键组成,在单片机中正好可以用一个P口实现16个按键功能,这也是在单片机系统中最常用的形式,4*4矩阵键盘的内部电路如图4所示。

 

图3 矩阵键盘布局图

 

 

 

图4 矩阵键盘内部电路图

 

当无按键闭合时,P3.0~P3.3与P3.4~P3.7之间开路。当有键闭合时,与闭合键相连的两条I/O口线之间短路。判断有无按键按下的方法是:

 

第一步,置列线P3.4~P3.7为输入状态,从行线P3.0~P3.3输出低电平,读入列线数据,若某一列线为低电平,则该列线上有键闭合。

 

第二步,行线轮流输出低电平,从列线P3.4~P3.7读入数据,若有某一列为低电平,则对应行线上有键按下。综合一二两步的结果,可确定按键编号。但是键闭合一次只能进行一次键功能操作,因此须等到按键释放后,再进行键功能操作,否则按一次键,有可能会连续多次进行同样的键操作。

 

识别按键的方法很多其中,最常见的方法是扫描法。

 

按键按下时,与此键相连的行线与列线导通,行线在无按键按下时处在高电平。如果所有的列线都处在高电平,则按键按下与否不会引起行线电平的变化,因此必须使所有列线处在电平。这样,当有按键按下时,改键所在的行电平才回由高变低。才能判断相应的行有键按下。

 

独立按键数量少,可根据实际需要灵活编码。矩阵键盘,按键的位置由行号和列号唯一确定,因此可以分别对行号和列号进行二进制编码,然后两值合成一个字节,高4位是行号,低4位是列号。

 

对键盘的响应取决于键盘的工作方式,键盘的工作方式应根据实际应用系统中的CPU的工作状况而定,其选取的原则是既要保证CPU能及时响应按键操作,又不要过多占用CPU的工作时间。通常键盘的工作方式有三种,编程扫描、定时扫描和中断扫描。

 

1)编程扫描方式

 

编程扫描方式是利用CPU完成其它工作的空余时间,调用键盘扫描子程序来响应键盘输入的要求。在执行键功能程序时,CPU不再响应键输入要求,直到CPU重新扫描键盘为止。

 

2)定时扫描方式

 

定时扫描方式就是每隔一段时间对键盘扫描一次,它利用单片机内部的定时器产生一定时间(例如10ms)的定时,当定时时间到就产生定时器溢出中断。CPU响应中断后对键盘进行扫描,并在有按键按下时识别出该键,再执行该键的功能程序。

 

3)中断扫描方式

 

上述两种键盘扫描方式,无论是否按键,CPU都要定时扫描键盘,而单片机应用系统工作时,并非经常需要键盘输入,因此,CPU经常处于空扫描状态。

 

为提高CPU工作效率,可采用中断扫描工作方式。其工作过程如下:当无按键按下时,CPU处理自己的工作,当有按键按下时,产生中断请求,CPU转去执行键盘扫描子程序,并识别键号。

 

 


http://www.ppmy.cn/news/456229.html

相关文章

基于N32G45的按键驱动

基于N32G45的按键驱动 1.N32G45简介 N32G45系列集成了最新一代嵌入式ARM Cortex™-M4F处理器,在Cortex™-M3内核的基础上强化了运算能力、新增加了浮点运算处理单元(FPU)、DSP和并行计算指令,提供1.25DMIPS/MHz的优异性能。同时其…

开发操作系统(2)键盘驱动

做一个操作系统,不可能只在屏幕上打印字符,不让用户操作吧。 int 16h键盘驱动,详细ah功能号如下 ah0 读取键盘并等待键盘发出反应。 输出: ah属性(应该是在键盘上的位置) al字符 ah1 读取键盘但不等…

驱动中实现模拟键盘按键

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴! 标 题: 驱动中实现模拟键盘按键 作 者: lu…

天行数据土味情话API接口调用接口

天行数据土味情话API接口调用 注册天行数据账号申请"土味情话"接口下载微信开发工具创建一个空项目将下面的key填到是链接上即可请求成功 https://apis.tianapi.com/topnews/index?keyKEY // pages/index/index.js Page({/*** 页面的初始数据*/data: {// 渲染到视…

ESP8266通过HTTPClient获取天行数据平台数据

ESP8266通过HTTPClient获取天行数据平台数据 📌天行数据平台:https://www.tianapi.com/,提供丰富的API接口数据。🌿通过Httpclient获取获取古诗词📋开发板:Nodemcu1.0🔖支持库版本:2.7.4📝实例代码 #include <ESP8266WiFi.h> #include <ESP8266HTTPClie…

iphone版 天行skyline_‎App Store 上的“Pergola SKYLINE”

Aplikace SKYLINE umožňuje zobrazit bioklimatickou pergolu SKYLINE u jakkoliv budovy nebo v prostoru. SKYLINE je hlinkov pergola zastřešen motorizovanm slunolamem, kter funguje jako protislunečn a protidešťov ochrana, a zroveň v horkm ltě umožňuj…

【jQuery】基于天行数据接口的天气预报

一、准备工作 1、注册天行数据账号 2、申请接口 3、在天行数据搜索天气预报&#xff0c;点击进去后申请 4、申请之后点击导航栏上的控制台&#xff0c;进入之后再数据管理 这个key调接口需要的&#xff0c;每个人不一样的&#xff0c;注意隐私&#xff01; 5、熟悉接口文档 1…

iphone版 天行skyline_Skyline QT

应用标题 Skyline QT 应用描述 An information and feedback gathering tool for our Skyline Queenstown visitor to discover the complex and its array of activities and food and beverage outlets. Welcome to the world of Skyline Are you looking for things to do i…