热门标签 | HotTags
当前位置:  开发笔记 > 人工智能 > 正文

51单片机键盘接口独立按键和矩阵按键

51单片机键盘接口-独立按键和矩阵按键按键的分类键输入原理独立式键盘矩阵键盘消抖键码识别键盘程序按键的分类按键按照结构原理可分为两类:一类是触点式开关按键,如机械开关、导电橡胶开关

51单片机键盘接口-独立按键和矩阵按键

  • 按键的分类
  • 键输入原理
    • 独立式键盘
    • 矩阵键盘
  • 消抖
  • 键码识别
  • 键盘程序
按键的分类

按键按照结构原理可分为两类:一类是触点式开关按键,如机械开关、导电橡胶开关等;一类是无触点式开关按键,如电气式按键、磁感应按键等。单片机应用系统的键盘大都采用机械式按键。

键输入原理

键盘的按键都是以其状态来设置控制功能或输入数据的。当某个键按下时,计算机应用系统应完成对按键的识别及所设定的功能。键盘通过接口电路与CPU相连,CPU可通过查询或中断方式了解有无按键功能,并检查是哪一个按键按下,并将该键号送入累加器ACC中,然后通过跳转指令转入执行该键的功能程序,执行完毕后在返回主程序。

独立式键盘

每一个按键连接一根I/O口线,另一端共地,各个按键之间彼此相互独立。当某一按键按下时,它所对应的I/O口线的电平变成低电平,读入单片机的值就是逻辑0,表示按键闭合;若无按键按下,则所有的I/O口线都是高电平。

矩阵键盘

矩阵式键盘由行线和列线组成,按键位于行、列的交叉点上。
扫描原理(4*4矩阵键盘,高四位为行,低四位为列)
1:逐行扫描:高四位轮流输出低电平,当低四位接收到的数据不全为1,就说明有按键按下,然后通过接收到的数据是哪一位为0来判断哪一个按键被按下。
2:行列扫描:高四位全部输出低电平,低四位输出高电平,当接收到的数据,低四位不全为高电平,说明有一列按键被按下,再反过来高四位输出高电平,低四位输出低电平,就可以判断哪一行按键被按下。
《51单片机键盘接口-独立按键和矩阵按键》

消抖

按键在闭合和断开的时候,触点会存在抖动现象
硬件消抖电路:利用单稳态电路或RS触发器,从根本上避免电压抖动的产生。
软件消抖电路:在按键的按下和释放时采用软件延时的方法来消除抖动的影响。
软件消抖程序
step1:确定是否按下按键
step2:消抖(延时)
step3:消抖后再次确定是否按下按键
step4:确定是否松开

键码识别

常用的方法有两种:一种是用专用硬件电路来识别,把这种键盘称为编码键盘。另一种是用软件的方法来识别,把这种键盘称为非编码键盘。单片机系统常采用非编码键盘。键码的识别可以采用随机扫描、定时扫描或中断扫描方式来完成。

键盘程序

1)检测有无按键按下,并消除按键抖动的影响。
2)有可靠的逻辑处理办法。每次只处理一个按键,其间任意其他按键的操作对系统不产生影响,且无论一次按下多长时间,系统只执行一次按键功能程序。
3)准确输出按键值,以满足跳转指令的要求。


推荐阅读
  • 探索电路与系统的起源与发展
    本文回顾了电路与系统的发展历程,从电的早期发现到现代电子器件的应用。文章不仅涵盖了基础理论和关键发明,还探讨了这一学科对计算机、人工智能及物联网等领域的深远影响。 ... [详细]
  • 本文详细介绍了如何在Ubuntu系统中下载适用于Intel处理器的64位版本,涵盖了不同Linux发行版对64位架构的不同命名方式,并提供了具体的下载链接和步骤。 ... [详细]
  • 台式电脑的电力消耗:待机一天耗电多少?
    探讨台式电脑的电力消耗问题,特别是待机状态下的能耗。本文将详细介绍影响电脑功耗的因素,并提供计算和优化电源配置的方法。 ... [详细]
  • MySQL索引详解与优化
    本文深入探讨了MySQL中的索引机制,包括索引的基本概念、优势与劣势、分类及其实现原理,并详细介绍了索引的使用场景和优化技巧。通过具体示例,帮助读者更好地理解和应用索引以提升数据库性能。 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 深入探讨CPU虚拟化与KVM内存管理
    本文详细介绍了现代服务器架构中的CPU虚拟化技术,包括SMP、NUMA和MPP三种多处理器结构,并深入探讨了KVM的内存虚拟化机制。通过对比不同架构的特点和应用场景,帮助读者理解如何选择最适合的架构以优化性能。 ... [详细]
  • 本文将详细介绍如何在Linux操作系统中执行PHP脚本,包括环境配置、命令使用及验证方法。对于需要在Linux环境下开发或部署PHP应用的用户来说,这是一篇非常实用的文章。 ... [详细]
  • 本文探讨了 Spring Boot 应用程序在不同配置下支持的最大并发连接数,重点分析了内置服务器(如 Tomcat、Jetty 和 Undertow)的默认设置及其对性能的影响。 ... [详细]
  • 本文探讨了现代信号处理系统的核心组件,包括数据转换、数据交互和数据处理。详细介绍了AD/DA转换、串/并转换、编解码转换等技术,并讨论了FPGA在信号处理中的应用及其实现方法。 ... [详细]
  • vivo发布iQOO 11系列:搭载骁龙8 Gen2与多项创新技术
    vivo正式推出iQOO 11系列智能手机,该系列搭载最新的高通骁龙8 Gen2处理器,并引入多项创新技术,致力于为用户提供卓越的性能和游戏体验。 ... [详细]
  • 配置Windows操作系统以确保DAW(数字音频工作站)硬件和软件的高效运行可能是一个复杂且令人沮丧的过程。本文提供了一系列专业建议,帮助你优化Windows系统,确保录音和音频处理的流畅性。 ... [详细]
  • 电脑蓝屏故障的成因与解决方案(下)
    本文深入探讨了导致电脑蓝屏的具体原因,并提供了相应的解决方法,帮助用户更好地理解和处理这一常见问题。 ... [详细]
  • 深入解析TCP/IP五层协议
    本文详细介绍了TCP/IP五层协议模型,包括物理层、数据链路层、网络层、传输层和应用层。每层的功能及其相互关系将被逐一解释,帮助读者理解互联网通信的原理。此外,还特别讨论了UDP和TCP协议的特点以及三次握手、四次挥手的过程。 ... [详细]
  • 在Java中,this是一个引用当前对象的关键字。如何通过this获取并显示其所指向的对象的属性和方法?本文详细解释了this的用法及其背后的原理。 ... [详细]
  • 制程能力分析:Cpk及其相关指数的深入探讨
    本文详细介绍了制程能力指数(Cpk)的概念及其与Cp、Pp、Ppk之间的关系,通过具体案例和图表展示如何评估和改进生产过程的能力。文章还提供了使用Excel和Minitab进行批量计算的实际操作步骤。 ... [详细]
author-avatar
手机用户2602896875
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有