0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

利用单片机和CPLD实现延时时间精密可控的消抖动电路设计

牵手一起梦 来源:现代电子技术 作者:贾默伊 , 谭玉柱 2021-03-22 11:08 次阅读

1 问题的提出

研制测量仪表及电子仪器的过程中,常常遇到按键抖动的问题,即虽然只是按下按键一次然后放掉,结果在按键信号稳定前后,竟出现了一些不该存在的噪声,这样就会引起电路的误动作。在很多应用按键的场合,要求具有消抖措施,即对于噪声信号消抖电路输出信号为零(消抖电路屏蔽了噪声信号,表示按键没有动作),只有当按键信号K稳定下来甚至经过一定的时间消抖电路才产生输出信号Y。按键信号K消除,消抖电路输出信号Y随之消失。

根据某用户的具体要求设计了具有高抗噪声特性的、延时时间精密可控的消抖动电路,其按键信号K、输出信号Y之间的关系如图1所示。

2 电路组成及工作原理

延时时间精密可控的消抖动电路的原理图如图2所示。该电路由4块CMOS集成芯片和若干电阻、电容组成。

其中555定时器组成多谐振荡器用来给计数器提供时钟脉冲;1块CC40161型四位同步二进制计数器用来设定消抖动电路输出信号Y的延迟脉冲个数。1块CC4043四R/S锁存器(只用了1组,其余3组未用)和1块CC4011四2输入与非门用来实现信号的锁存和控制。

当按键信号K由低电平变为高电平时,电阻尺3和电容C3组成的微分电路使V点产生一个正脉冲,该正脉冲一路经与非门G2反相后加到计数器CC40161的CR端使其清零;另一路加到锁存器CC4043的1R端(此时由于计数器没有进位输出,CO端为低电平,即lS端为低电平),使锁存器输出端1Q为低电子。与此同时,按键信号K已加到了与非门G1的输入端使G1门开门,那么,由555定时器组成的时钟信号发生器3端输出的时钟脉冲通过与非门G1加到计数器的CP端,计数器开始计数。计到15个脉冲,计数器产生进位信号,其CO端输出高电平,使锁存器的1Q端变为高电平,该信号加到与非门G3的一个输入端(与非门G3的另一个输入端为K,已为高电平),则与非门G4的输出Y端为高电平;只有当按键信号K由高电平为低电平时,Y端才随之变为低电平。 另一方面,由于按键信号K变为低电平,封锁了G1门,时钟脉冲不能通过G1门到达计数器的CP端,计数停止。

当出现干扰脉冲时,计数器也计数,但只要干扰冲的宽度小于15个CP脉冲宽度,计数器的进位输陆号CO端就保持低电平,那么Y信号为低电平,即际脉冲的影响不会出现在Y端。

可以用置数法或复位法将十六进制计数器CC40161接成任意进制计数器,然后通过任意进位信号控制1S端的电位,来调整消抖动电路输出信号Y的延迟时间。

3 数据计算

555定时器组成的时钟信号发生器产生的CP脉冲的周期为:

T1=ln(R1+2R2)C1

CP脉冲的占空比为:

q=( R1+ R2)/(R1+2 R2)

按图中所给参数计算,CP脉冲的周期T1=0.1s,CP脉冲的占空比为:

q=2/3。

消抖动电路输出信号Y的延迟时间为:

Td=15Tl=151n2(Rl+2R2)C1

按图中参数计算Td=1.5s

4 电路特点

(1)该电路由CMOS集成芯片组成,功耗低,抗干扰能力强。

(2)从按键信号K到消抖电路产生稳定的输出信号Y的延迟时间Td稳定、可调。

(3)每当按键信号K到来(由低电平变为高电平),均自动使计数器清零,不需另外加入复位脉冲。

(4)按键信号K消除,计数器自动停止计数,不需另外设置开关。 该电路除用于消除按键的抖动外,还可用于需要产生一定延时控制的任何电路中。该电路为利用单片机CPLD(Complex Programmable Logic Device)实现软件消抖提供了设计思想。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6029

    文章

    44480

    浏览量

    631612
  • cpld
    +关注

    关注

    32

    文章

    1246

    浏览量

    169128
  • 振荡器
    +关注

    关注

    28

    文章

    3797

    浏览量

    138784
收藏 人收藏

    评论

    相关推荐

    实现一个ns级的延时函数,延时时间可控的原因?

    现在要实现一个ns级的延时函数,用nop指令已经调试完成,然而问题在于这个延时函数经常被中断,导致延时时间可控,我在
    发表于 06-26 06:50

    单片机延时程序的延时时间怎么算的?

    1、单片机延时程序的延时时间怎么算的?答:如果用循环语句实现的循环,没法计算,但是可以通过软件仿真看到具体时间,但是一般精精确
    发表于 07-13 07:59

    单片机延时程序的延时时间怎么算的

    单片机延时程序的延时时间怎么算的?51单片机延时500ms用机器周期叠加怎么算?
    发表于 09-24 08:52

    有哪几种方法可以实现单片机程序的硬件抖呢

    大多数单片机程序里,都是使用软件抖,也就是先触发一次,然后延时5ms再检验一次。软件抖的好处是使硬件变得简单化,当然也有坏处,就是使检验组合按键变得复杂,程序
    发表于 01-06 06:47

    STM32单片机按键抖和FPGA按键抖的相关资料分享

    5~10ms。通常我们手动按键然后释放,这个动作中稳定闭合的时间超过了20ms。因此单片机在检测键盘是否按下时都要加上去抖动操作,有专用的去抖动电路
    发表于 01-18 06:39

    PIC单片机非精确延时函数的延时时间怎么计算?

    PIC单片机非精确延时函数的延时时间怎么计算?
    发表于 04-25 12:52

    用C语言如何写出单片机延时程序,且延时时间如何计算的?

    用C语言,如何写出单片机延时程序,且延时时间如何计算的?
    发表于 10-18 08:19

    单片机CPLD结构体系在电子设计中的应用

    介绍在数字电路设计中,单纯以单片机为主体结构的优缺点;结合CPLD 的特点,提出单片机CPLD 体系结构在实际应用中的优势, 并给出应用
    发表于 05-14 13:31 17次下载

    基于单片机CPLD的频率测量研究

    摘 要:针对单片机进行高频测量存在的响应速度问题,利用CPLD适合精确、高速计数的特点,提出了一种基于单片机CPLD的频率测量
    发表于 07-06 23:41 42次下载

    基于单片机+CPLD的多路精确延时控制系统设计

    根据多路精确延时控制系统的设计参数指标,利用单片机CPLD的功能特性与片上资源,设计了基于CPLD与多个
    发表于 12-16 16:15 43次下载

    抖动延时可调键盘电路的设计

    抖动延时可调键盘电路的设计 摘要 键盘电路设计中,选用不同的开关,对键盘去抖动延时时间长短要求
    发表于 01-24 15:19 0次下载
    去<b class='flag-5'>抖动</b><b class='flag-5'>延时</b>可调键盘<b class='flag-5'>电路</b>的设计

    利用单片机CPLD实现直接数字频率合成

    利用单片机CPLD实现直接数字频率合成相关的描述 可以来看一下。
    发表于 05-04 14:37 0次下载

    STM单片机中的按键抖和FPGA

    闭合的时间超过了 20ms。因此单片机在检测键盘是否按下时都要加上去抖动操作,有专用的去抖动电路,也有专门的去
    的头像 发表于 11-30 17:39 2537次阅读

    单片机延时问题20问

    、STC89C52、PIC单片机…..在内的各种单片机常见的延时与中断问题及解决方法,希望对单片机新手们,有所帮助!1、单片机
    发表于 11-13 21:06 6次下载
    <b class='flag-5'>单片机</b><b class='flag-5'>延时</b>问题20问

    单片机复位后为什么要对sp重新赋值_自学单片机第二十二篇:延时抖|延时|key|单片机|抖...

      按键的延时抖是初学单片机的必经之路,因为只要是机械开关所传递的信号,都会存在波动,有时这些波动是"致命"的,所以消除其影响就是一门手艺了。硬件抖有其优点,同样的也有不方便的地方
    发表于 01-17 12:52 2次下载
    <b class='flag-5'>单片机</b>复位后为什么要对sp重新赋值_自学<b class='flag-5'>单片机</b>第二十二篇:<b class='flag-5'>延时</b><b class='flag-5'>消</b>抖|<b class='flag-5'>延时</b>|key|<b class='flag-5'>单片机</b>|<b class='flag-5'>消</b>抖...