首页 > 其他分享 >硬件消抖(电容式)原理根源分析

硬件消抖(电容式)原理根源分析

时间:2024-02-20 11:00:09浏览次数:35  
标签:电容 高电平 抖动 消抖 低电平 硬件 按键 管脚 电容式

前言:
(开发板上四个管脚的独立按键真实存在的现象)由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开。因而在闭合及断开的瞬间均伴随有一连串的抖动,抖动时间的长短由按键的机械特性决定,一般为5ms~10ms。这是一个很重要的时间参数,在很多场合都要用到。
消抖目的:按键稳定闭合时间的长短则是由操作人员的按键动作决定的,一般为零点几秒至数秒。键抖动会引起一次按键被误读多次。为确保CPU对键的一次闭合仅作一次处理,必须去除键抖动。

 

【目标】

所以怎样才能保证CPU对键的一次闭合仅仅做一次处理,因为管脚的输入(四组并行双向IO口,可以输入可以输出)只有高低电平之分,所以只要保证其相应管脚的高低电平可以保持实现理性波形时的高低电平情况就不会出现多次一次按键被多次误读;

【补充】

一般来讲,对于5V电源的单片机来说,低电平在1.3V以下,高电平在3.7V以上,数字信号尽量不要使用1.3—3.7V这个区间,这有可能会造成单片机无法识别或识别错误。

【原理分析】

①上图所示,最开始状态时按键未按下时,电容肯定先是已经被充满电然后开路,又因为电容C1左极板与接地,所以左右极板电位0v/5v,又因为没有按下按键,所以电路处于开路,单片机管脚P02处于高电平5v(电路开路与VCC相连/也与电容右极板相连);
②当按键按下时,有一段时间的机械抖动,此时按键SW1右边节点的电位是5v(也是单片机管脚P02的电位为5v),又因为按键与电容形成回路,所以电容会进行放电(电容是一个非线性元件,放电需要时间),但是机械抖动的时间和电容放电的时间不是完全一致,所以当电容放电放一部时间(假设可能放到4.5v时)机械抖动就已经结束,那么管脚的电平却是始终都是表现为高电平,所以CPU识别还是高电平未变,当按键彻底按下稳定接触后,很快就会将放电完毕将电容短路(左右极板的电位变成0v/0v),然后按键SW1右边节点电位接地(也就是管脚P02因为接地电势为0v),所以此时单片机管脚P02为低电平,这也是教学视频说因为放电延时;
③当按键要松开时,按键有个松开时的抖动时间,只有你有松开的可能,按键这条支路就会开路而电容开始充电,电容就开始充电,但是充电需要时间在抖动的时间内电容右极板不会瞬间达到5v的电位,也就是按键SW1右边的节点电位不会一下子达到高电平(可能在这个抖动时间内电容才充电充了0.5v),所以该节点依然保持低电平(也就是CPU识别的管脚P02为低电平),当按键彻底松开稳定后,按键那条支路断开电容也充满电(两条支路都是开路),按键SW1右边节点和管脚的电位就是高电平(与直流电源VCC相连)这也是教学视频说因为充电延时;

【结论】
①具体分析也要参照实际电容充放电时间和加速度与抖动时间的比较;
②我上面的分析符合实际波形的高低高的波形情况;

标签:电容,高电平,抖动,消抖,低电平,硬件,按键,管脚,电容式
From: https://www.cnblogs.com/FBsharl/p/18022631

相关文章

  • Linux硬件信息
    Linux硬件信息查询前置软件安装#yumyuminstall-ydmidecode#aptaptinstallydemidecode#常规参数-t:现实指定的信息eg:dmidecode-tbios bios|system|baseboard|chassis|processor|memory|cache|connector|slot-q:精简模式忽略输出一部分信息......
  • day03_计算机硬件
    昨日作业传统运维没有接触到云计算,没有接触云服务器的,运维工程师得维护企业内部的硬件设备,服务器,以及机房的维护主要维护是企业内部的,不经常变化,且没有超大流量的内部应用(crm,企业内部的邮件系统,办公应用系统)HR。老板,同事,人事,财务,维护的软件,面向企业内部人员云计算运......
  • openGauss学习笔记-216 openGauss性能调优-确定性能调优范围-硬件瓶颈点分析-CPU
    openGauss学习笔记-216openGauss性能调优-确定性能调优范围-硬件瓶颈点分析-CPU获取openGauss节点的CPU、内存、I/O和网络资源使用情况,确认这些资源是否已被充分利用,是否存在瓶颈点。216.1CPU通过top命令查看openGauss内节点CPU使用情况,分析是否存在由于CPU负载过高导致的性能......
  • C#对window 硬件类操作 ManagementObjectSearcher
    在解决方案--引用--右键--添加引用---程序集---框架---勾选System.Management 前言: 我们在很多情况下想要获得计算机的硬件或操作系统的信息,比如获得CPU序列号给自己的软件添加机器码锁绑定指定电脑。又或者想要获得硬盘分区,声卡显卡等信息。开篇:我们用到的主要类是Managem......
  • 世界各国都在追求“主权人工智能能力”,国家级人工智能硬件需求将剧增
    NVIDIA的CEO黄仁勋最近在接受媒体采访时指出,世界各国都打算在本国内建立和运行自主的人工智能基础设施,这将全面带动NVIDIA硬件产品需求的飙升。黄仁勋表示,包括印度、日本、法国和加拿大在内的国家政府都在讨论投资“国家主权人工智能能力”的重要性。不可否认,对主权人工智能能力......
  • js 软件与硬件检测
    现代浏览器提供了一组与页面执行环境相关的信息,包括浏览器、操作系统、硬件和周边设备信息。这些属性可以通过暴露在window.navigator上的一组API获得。不过,这些API的跨浏览器支持还不够好,远未达到标准化的程度。识别浏览器与操作系统特性检测和用户代理字符串解析是当前......
  • 【STM32+HAL库】---- 硬件IIC驱动0.96OLED
    硬件开发板:STM32G0B1RET6软件平台:cubemax+keil+VScode内容原著声明部分代码借鉴学习于以下视频和文章:https://www.bilibili.com/video/BV1MV411o7P5/?spm_id_from=333.999.0.0&vd_source=2c974fb85c05e13d278d1bbe4cddc944https://blog.csdn.net/weixin_56565733/article/de......
  • 《编码: 隐匿在计算机软硬件背后的语言》PDF
    内容简介本书讲述的是计算机工作原理。作者用丰富的想象和清晰的笔墨将看似繁杂的理论阐述得通俗易懂,你丝毫不会感到枯燥和生硬。更重要的是,你会因此而获得对计算机工作原理较深刻的理解。这种理解不是抽象层面上的,而是具有一定深度的。作者简介CharlesPetzold从1984年开始编写个......
  • 盘点那些硬件+项目学习套件:Hi3861鸿蒙开发板及入门常见问题解答
    华清远见20岁了~过去3年里,华清远见研发中心针对个人开发板业务,打造了多款硬件+项目学习套件,涉及STM32单片机、嵌入式、物联网、人工智能、鸿蒙、ESP32、阿里云IoT等多技术方向。今天我们来盘点一下,比较受欢迎几款“硬件+项目”学习套件,以及一些初学者比较关注的问题。盘点二:Hi3861......
  • Oracle DCD和Linux TCP KeepAlive和网络硬件防火墙探讨
     OracleDCD和LinuxTCPKeepAlive和网络硬件防火墙探讨 Oracle的某些会话在超时断开后在警告日志抛出一定量类似如下日志:FriAug1917:51:322022***********************************************************************FatalNIconnecterror12170.VERSIO......