矩阵式键盘的控制

news2024/9/24 11:21:08
       键盘扫描是最 为常用的工作方式,扫描方式又可分为程序程扫描、定时扫描和中断扫描。程序扫描是指在 特定的程序位置段上安排键盘扫描程序读取键盘状态。定时扫描是指利用单片机内部或扩展 的定时器产生定时中断,在中断中进行键盘扫描的工作方式。中断扫描指有按键按下时,键
盘电路发出中断申请,中断程序负责扫描键盘的工作方式。程序扫描和定时扫描电路结构完 同,只是在程序设计实际上有差别。不论哪一种扫描方式,键盘程序都应当完成,判断 键是否被按下、按键削抖处理、按键定位等操作键盘。
扫描法实际上是先使列(行)线全输出低电平,然后判断行(列)线状态 ,若行线全为
高电平,表示无键被按下;若行线不全为高电平表示有键被按下,然后依次使列线为低电平,
再判断行线状态,当行线全为高电平时,表示被按下的键不在本列;当行线不全为高电平时,
表示被按下的键在本列,把此时的行线状态与列线状态和在一起即为被按下的键的位置
1 )检测出是否有键铵下。方法是 P1.4 P1.7 输出全 1 ,然后读 P1.0 P1.3 的状态,若
为全 1 则无键闭合,否则表示有键闭合。
2 )有键闭合后,调用 10 20ms 延时子程序消除按键抖动的影响。
3 )确认键已稳定闭合后,接着判断为哪一个键闭合。方法是对键盘进行扫描,即依次
给每一条列线送 0 ,其余各列都为 1 ,并检测每次扫描的行状态。每当扫描输出某一列为 0
时,相继读入行线状态。若为全 1 ,表示为 0 的这列上没有键闭合。若不为全 1 ,表示为 0
的这列上有键闭合。确定了闭合键的位置后,就可计算出键值,即产生键码
     为了避免cpu无效运行,可引入中断。利用中断方式,无键按下时,CPU 处理其他工作而不必进行键的扫描;有键被按下时,
通过硬件电路向 CPU 申请键盘中断,在键盘中断服务程序中完成键盘处理。这样可提高 CPU
的工作效率
扫描法对键的识别采用逐行(列)扫描的方法获得键的位置,当被按下的键在最后一行
时需要扫描 N 次( N 为行数),当 N 比较大时键盘工作速度较慢,而线反转法则不论键盘有
多少行和多少列只需经过两步即可获得键的位置,下面详细说一下反转法扫描键盘的算法
线反转法的第一步是把列线置低电平,行置高电平然后
读行状态;第二步与第一步相反把行线置低电平,列线置高电平然后读列线状态,若有键按
下则两次所读状态的结果即为键所在的位置。这样通过两次输出和两次读入可完成键的识别,
比扫描法要简单

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1644964.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2024年第二十六届“华东杯”(B题)大学生数学建模挑战赛|数学建模完整代码+建模过程全解全析

当大家面临着复杂的数学建模问题时,你是否曾经感到茫然无措?作为2022年美国大学生数学建模比赛的O奖得主,我为大家提供了一套优秀的解题思路,让你轻松应对各种难题。 让我们来看看华东杯 (B题)! 第一个问题…

链表经典面试题02--链表的带环问题

目录 引言 环形链表 题目描述: 思路分析: 代码展示: 面试中遇到的问题: 环形链表Ⅱ 题目描述: 思路分析: 代码展示: 面试中遇到的问题: 方法二: 随机链表的复制 题目描述: 思路分析: 代码展示: 小结 引言 这个专题专门讲解链表的带环问题,并且对面试有关链表带环…

华中科技大学雷达站部署

一:项目地址 GitHub - HUSTLYRM/HUST_Radar_2023: 华中科技大学狼牙战队 RoboMaster 2023赛季 雷达站 二:安装依赖 2.1创建虚拟环境 首先是程序是基于python3.8完成,所以创建虚拟环境的时候,选择3.8的虚拟环境 conda create -…

【Linux】详解用户态和内核态内核中信号被处理的时机sigaction信号自定义处理方法

一、用户态和内核态的理解 在操作系统中,用户态和内核态是两种主要的执行模式,它们代表了不同的访问级别和权限,用于确保系统的安全和稳定性。 1.1、用户态 用户态是操作系统中用户进程的运行状态。在这种状态下,进程只能访问受限…

天锐绿盾 | 如何保护企业数据安全?

天锐绿盾为企业数据安全提供了一系列综合性的保护措施,确保数据在存储、处理、传输等各个环节的安全性。 PC地址: https://isite.baidu.com/site/wjz012xr/2eae091d-1b97-4276-90bc-6757c5dfedee 具体措施包括: 文件透明加密:采…

病毒防护的基础知识

目录 1.震网病毒Stuxnet是蠕虫病毒 2.宏病毒Macro virus 3.X卧底Phishing 4.钓鱼网站 5.病毒类型 1.震网病毒Stuxnet是蠕虫病毒 Stuxnet蠕虫病毒(超级工厂病毒)是世界上首个专门针对工业控制系统编写的破坏性病毒,能够利用对windows系统…

菜鸟跟着一起学如何批量修改文件日期时间属性 (创建、修改、访问时间)

需求:批量修改指定文件夹下的文件的创建时间、修改时间和访问时间 工具:【汇帮元数据编辑器】和【汇帮批量重命名】 文件一般有三个时间属性,分别是创建时间、修改时间和访问时间,如果你从别的地方拷贝的文件,创建时…

【手撸RPC框架】netty入门

🐼作者简介:一名大三在校生🎋 空有想法,没有实践,难成大事 专栏前言:探索RPC框架的奥秘 简介:在现代软件开发中,随着微服务架构的普及,远程过程调用(RPC&…

全网最全!场外个股期权和场内个股期权的区别的详细解析

场外个股期权和场内个股期权的区别 场外个股期权是指在沪深交易所之外交易的个股期权,其本质是一种金融衍生品,允许投资者在股票交易场所外以特定价格买进或卖出证券。场内个股期权是以单只股票作为标的资产的期权合约,其内在价值是基于标的…

编程入门(六)【Linux系统基础操作一】

读者大大们好呀!!!☀️☀️☀️ 🔥 欢迎来到我的博客 👀期待大大的关注哦❗️❗️❗️ 🚀欢迎收看我的主页文章➡️寻至善的主页 文章目录 🔥前言🚀Linux操作系统介绍与环境准备Linux操作系统介…

Java中的枚举类型介绍

一、背景及定义 情景: 枚举是在JDK1.5以后引入的。 主要用途是: 将一组常量组织起来,在这之前表示一组常量通常使用定义常量的方式: 这种定义方式实际上并不好。 例如:如果碰巧有另一个变量也是1,那么…

举个栗子!Alteryx 技巧(11):运用目录工具

你了解目录工具吗,它有什么作用?目录工具可以返回指定目录中所有文件的列表,即返回文件名和有关文件的其他信息,例如文件大小、创建日期、上次修改日期等。那么,怎样运用目录工具返回相关信息呢? 本期《举…

面对 800G 以太网设计的挑战

以太网是一种广泛使用的网络技术,用于连接局域网和广域网中的设备。它以 10 Mbps 的适度速度开始,多年来经历了大规模的创新。如今,以太网技术正朝着 800 Gbps 的速度发展,为数据中心和云计算基础设施等高需求环境提供超快的数据传…

Python-VBA函数之旅-pow函数

目录 一、pow函数的常见应用场景 二、pow函数使用注意事项 三、如何用好pow函数? 1、pow函数: 1-1、Python: 1-2、VBA: 2、推荐阅读: 个人主页:神奇夜光杯-CSDN博客 一、pow函数的常见应用场景 Py…

PyQt5中重要的概念:信号与槽

PyQt中信号与槽概念定义如下(网络上引用的): 信号(signal)和槽(slot)是Qt的核心机制,也是在PyQt编程中对象之间进行通信的机制。在创建事件循环之后,通过建立信号和槽的…

asp.net朱勇项目个人博客(3)

引文:按照书上的项目,我们最后实现管理端的三个增删改查的功能即可,相对与三个增删改查,文章,分类和留言,这里我们所需要用的的关联的一个表就是文章表,因为文章表每一个文章的增加显示和修改都需要对应的一个分类&…

OpenHarmony实战开发-如何实现动画帧

请求动画帧 请求动画帧时通过requestAnimationFrame函数逐帧回调,在调用该函数时传入一个回调函数。 runframe在调用requestAnimationFrame时传入带有timestamp参数的回调函数step,将step中的timestamp赋予起始的startTime。当timestamp与startTime的差…

分布式与一致性协议之ZAB协议(二)

ZAB协议 ZAB协议是如何实现操作地顺序性的? 如果用一句话解释ZAB协议到底是什么,我觉得它是能保证操作顺序性的、基于主备模式的原子广播协议。 接下来,还是以指令X、Y为例具体演示一下,帮助你更好地理解为什么ZAB协议能实现操作…

8086 汇编学习 Part 8

移位指令 当 C N T > 1 CNT > 1 CNT>1 时,CNT 必须是 CL 寄存器 逻辑左移 SHL OPR , CNT 将寄存器或内存单元中的数据向左移 CNT 位,最后移除的一位写入 CF,最低位用 0 补充 循环左移 ROL OPR , CNT 将寄存器中的值的最高位存…

山海鲸医疗科技:引领智慧医疗新潮流

随着科技的飞速发展,智慧医疗已经成为医疗行业创新的重要方向。在这个背景下,山海鲸智慧医疗解决方案应运而生,以其先进的技术和全面的服务,为医疗行业带来了前所未有的变革。 山海鲸智慧医疗解决方案是一套集成医疗信息化、大数…