zoukankan      html  css  js  c++  java
  • 信号去抖操作

    来源:https://blog.csdn.net/renhaofan/article/details/78848547

    总结一下,消抖两大类方法: 
    这里写图片描述 
    软件消抖:主要采取当按键按下,延时一会,越过信号不稳定的抖动时间,再次判断键盘是不是按下; 
    If ( !key) 

    Delay(xxxms/us); 
    if(!key) 
    true key; 
    else 
    shake key; 

    硬件消抖:主要是对抖动时,连续的进行判断,判断是否有“gap”,就是“间隙”; 
    但是这样有一个问题,就是可能延时判断时,抖动,正好满足,你的验证方法,比如说,刚才以下方法判断3位的,有可能抖动恰好满足; 
    所以硬件更好的方法,应该是用一个计数器,对松键和按键的抖动脉冲计数,然后分析按键的习惯,设定一个阈值,通过这个阈值就可以判断出是否是真的抖动。 
    方法一:RS触发器 
    这里写图片描述

    这是用multisim做的一个,原理是,R,S端都用电阻上拉,开关打到A端,相当与输入时低电平,打向B的时候,产生一个低电平抖动,因为是与非门的RS触发器,R,S全是1的时候,输出保持不变,所以Q立马就变成1,之后就保持不变了。B到A,同样的道理,遇到第一个抖动,R的输入就立马变成0,所以Q也就为0; 
    方法二:D触发器 
    需要几位消抖,就用几个D触发器,以4位为例子: 
    这里写图片描述
    实际上就是“滤波”的效果,抖动,肯定有低电平,高电平,分布不均匀,这样设计相当于,在某段时间内,没有所谓的gap才可以。 
    方法三:用状态转换图设计(本实验采用的方法) 
    这里写图片描述
    实际上就是极短时间内判断了三个是不是同时是高电平

  • 相关阅读:
    websocket使用nginx作为反向代理
    curl模拟http发送get或post接口测试
    linux tail -f messages查看控制台失败
    shell中使用>/dev/null 2>&1 丢弃信息
    mysql备份与还原
    计算机中RAM和ROM
    *C语言有关指针的变量声明中的几个易错点
    五种存储变量补充~作用域和存储时期
    typedef和#define的简单比较
    fopen()函数参数
  • 原文地址:https://www.cnblogs.com/zzdbullet/p/9339835.html
Copyright © 2011-2022 走看看