EDA365电子论坛网

标题: 按键去抖电路 怎么解决 [打印本页]

作者: DYDXP    时间: 2008-9-4 16:40
标题: 按键去抖电路 怎么解决
电路是这样的上面两个接按键,中间的接CPU,它的消抖是怎么样工作的啊,请高手解释下
作者: chenlei2004    时间: 2008-9-8 13:53
这个我想应该在软件中解决吧,通过定时器的方式.
作者: forevercgh    时间: 2008-9-9 09:19
在按键较少时可使用RS触发器实现按键去抖
作者: DYDXP    时间: 2008-9-9 15:10
上面的 电路应该怎么分析呢
作者: yadog    时间: 2008-9-20 13:46
软件处理这个很容易的啊
6 \( ~7 S1 u* h+ z4 |没必要浪费米在这上面
作者: gs_mold    时间: 2008-9-20 14:05
一般来说, 按键去抖软件很好解决, 不过加上这个硬件分压电路. 更可靠.
作者: DYDXP    时间: 2008-9-23 14:20
原理是啥怎么分析
作者: 38447448    时间: 2008-10-10 11:37
按键应该是高电平有效,不按为低(47k下拉);
* S- T4 c! ~4 C# W& Y按下后,D2,D3为稳压二极管,将电压稳住,因此避免了干扰;
) c0 L& F# G2 k9 H1 U$ E( A" l之后经过两个电阻分压,将电平值降为一半给CPU检测。
1 e1 ^9 e2 M. E( M6 O+ K6 j因此二极管和电阻共同来去抖。6 ^4 a9 `' R8 @7 a8 ]( {
第一次见到这样电路,不知分析对否,请指教。
作者: zsb362123    时间: 2008-10-13 00:10
标题: 个人分析
原帖由 38447448 于 2008-10-10 11:37 发表
3 H) J+ F  d3 U; a: g  r. J按键应该是高电平有效,不按为低(47k下拉);
( c$ T+ f' t- p- _( E; l  s/ E# S按下后,D2,D3为稳压二极管,将电压稳住,因此避免了干扰;9 d( @2 {- o" X7 d( o$ G# m
之后经过两个电阻分压,将电平值降为一半给CPU检测。
' m2 J( Z, T3 k5 b; I因此二极管和电阻共同来去抖。
* {% O8 d9 q( M) D1 Y第一次见到这样电路 ...
; Z' y) E. L0 ?% P

5 a; F/ g- p$ z; w2 V' T我认为要更正补充的几点:1、去抖用软件可以解结方便些经济。2、(D2,D3为稳压二极管,将电压稳住)目地是为了保护CPU的I/O口。3、硬件去抖可以在按键并联104左右容量的电容。
作者: zeng606    时间: 2008-10-19 13:28
硬件去抖可以在按键并联104左右容量的电容& v- v6 [6 C1 p8 b  G. _
$ N' d$ w& L1 `# _$ }  t3 w; C; e8 X
一般的电子表行业都是这样解决的@@
作者: wenwen_0010    时间: 2008-10-23 12:00
受教了!!!!!!!!!!
作者: reflecter    时间: 2008-11-8 11:09
正在疑惑正反向设计的一个图中,为何按键跟个104并联呢,原来是硬件消抖,那代码里这部分可去掉了,谢谢楼上各位!
作者: yang528330    时间: 2008-11-11 17:04
一般用软件防抖
作者: PaulLinlin    时间: 2008-11-25 09:48
软件去抖动:设一个延时程序。硬件去抖动:RS触发器。这是典型的处理方法。
作者: chenlei2004    时间: 2008-11-25 15:39
加TVS是为了做ESD保护的,人手是有静电的哦
作者: patch    时间: 2008-12-3 15:24
硬件去抖用单稳电路!
作者: david_lyj    时间: 2009-4-3 16:48
有软件,有硬件两种办法:
/ I" B2 k! W" c9 E6 U4 Z6 r3 x软件可能要多算几次...., P7 B6 P( v( ~  V! Y
硬件要加电容..........
作者: jiefeng1999    时间: 2009-5-26 20:18
软件解决吧 又没有成本
作者: Juger    时间: 2009-5-27 08:14
软件也是有成本的,不要随便把程序开发人员的工作给磨灭了。。。。
  n4 k* P$ F8 t- S9 D4 w  N不过一般而言软件解决是最简单便宜的
3 U7 W' z" ~  }2 {2 I$ k我的做法是对CPU按键检测端口做一个投票表决
作者: Nazily    时间: 2009-5-29 22:29
软件处理:键盘扫描一般的优先级不高,所以用中断设置标志。CPU在主程序有空的时候再去处理即可。
作者: yezhutou    时间: 2009-6-22 23:36
一般都加个滤波电容
作者: rgx123    时间: 2010-1-10 12:22
可以软件去抖
作者: jomerewj    时间: 2010-1-31 18:34
18楼说的是
作者: ger11    时间: 2010-1-31 21:50
应该没法稳压的,只是考虑按键漏在外面,/ m* I8 l$ B: \) c4 l9 P
有可能会有空气放电和接触放电,6 b9 K: O% E1 z3 ], E
TVS起保护而已。
作者: logMsg    时间: 2010-2-24 15:30
一般加个小电容,没增加多少成本吧
作者: 风云过    时间: 2010-3-19 14:07
学习学习
作者: 黑狼传说    时间: 2010-3-19 16:03
用软件延时
作者: chrishuiling    时间: 2010-4-2 15:51
小的,对硬件不懂。来些学习学习!
$ w. A6 Q' b2 a谢谢各位!
作者: ricky_ren    时间: 2010-4-3 17:38
加个电容呗,电容两端的电压不能跳变,可以有效防抖.
作者: 草莓1989    时间: 2010-5-11 14:16
学习了!!!
作者: samchiou    时间: 2010-5-11 17:47
實在很高興!可以看到這麼好的知識!謝謝分享!!感謝您嘉惠大眾
作者: linphone    时间: 2010-5-13 22:48
硬件去抖可以在按键并联104左右容量的电容 2 C' h( o, g( d9 m- W
这个简单
作者: qdhd_hai    时间: 2010-5-28 22:32
硬件是并联一只10u电容,软件上去抖比较容易
作者: 热茶    时间: 2010-6-17 23:36
消抖软件就能解决,电路的主要作用个人理解如下7 h4 T. x2 M5 A" W5 O
1)二极管为ESD抑制无可厚非8 x' X, o# a( N3 v1 \
2)按键支路的电阻主要作用也是抑制ESD,当按键感应ESD时,串接支路的电阻的分布参数就起有趣的作用,特别是当R17/R18用的是插装型电阻,或是R17/R18到二极管之间路径较长的时候,支路上的高感抗就在一定程度上抑制ESD的过冲。ESD被抑制在电路之外,电路也就受到了电阻潜在的电容及电感特性的保护。
作者: sunnyz    时间: 2010-6-25 11:30
这个设计我觉得不是防抖的 防静电,高压的比较合适啊,ESD的作用吧,保护CPU I/O
作者: ylsiw    时间: 2010-6-30 09:37
应该是用的TVS管,不是稳压二极管吧
作者: summmmmm    时间: 2010-6-30 13:17
硬件防抖可以用RC滤波电路,如果要求很高可以使用施密特触发器之类的电路
作者: 冰妖石    时间: 2010-8-24 17:33
9楼,正解
作者: zcfhlp    时间: 2010-9-8 15:30
加一个并联电容,去掉纹波消抖!
作者: V.Morgan    时间: 2010-9-18 15:43
并联一个104左右的电容可以解决。
作者: smith432    时间: 2010-9-19 18:59
学习了!不过我看一般好像都是采用软件方式,硬件上的并联电容好像都是预留用!
作者: guolh    时间: 2010-9-30 13:41
个人认为上面的电路应该是消毛刺,消抖应该还是软件完成
作者: jingpei520_2    时间: 2010-9-30 15:33
并联104电容是常见的方法
作者: mitiger    时间: 2010-10-17 19:48
这种方法有漏电的,一般是用软件区抖动的
作者: Neuman    时间: 2010-11-16 11:22
受益匪浅
作者: songqiang    时间: 2010-12-22 18:11
个人认为9楼的说的有道理:TVS二极管是防静电的起保护作用;按键如果去抖在硬件上只须加一个0.1UF左右的电容即可,余下的由软件完成
作者: jansci    时间: 2011-3-4 14:05
这个应该先进行ESD保护,同时TVS管也有一定的电容,也具有一定的滤波作用( D/ |% U9 b( P, \7 ~) a. v
电压再分压后送MCU,另要考虑MCU上引脚内阻多大
作者: 好人好梦    时间: 2011-3-16 13:23
硬件的话加一个电容就OK了啊~
作者: qiangqssong    时间: 2011-3-16 17:45
学习一下!!!
作者: Smitheda    时间: 2011-3-26 13:44
zsb362123 发表于 2008-10-13 00:10
6 c" p, r7 E, ]9 f. X6 e我认为要更正补充的几点:1、去抖用软件可以解结方便些经济。2、(D2,D3为稳压二极管,将电压稳住)目地 ...
2 X( p' t2 f( {- _1 k9 ~
这个电路中二级管主要是起到IO端口的保护作用,去抖动是靠软件来完成的
8 |; Y" l9 L' R- P, i1 U
作者: xhymsg    时间: 2011-3-29 11:22
消抖一般是软件处理
作者: HylenLu    时间: 2011-3-29 14:41
用软件去抖比较简单,如果实在要用硬件去抖的话,用那个二极管太浪费了,直接串个电容就可以了啊
作者: freshforce    时间: 2011-3-30 21:51
用电容去抖动。特别需要就用D触发器。
作者: 吴海军    时间: 2011-4-1 17:30
加个103的电容下地就好。
3 u" _: N' h7 Y. A4 ]/ u1 Y+ ?
作者: zhouchengxiang    时间: 2011-4-21 06:27
一般都是用软件做去抖处理就OK了!扫描按键的时候发现有按键按下就延时20MS左右
作者: stupidboy    时间: 2011-4-24 21:45
可以使用并接104电容,
' F. J/ l5 |  X% K当然也可以将所有按键通过与门做成一个中断,使系统尽快响应,但这个看你自己系统的需求,对响应要求很高,就采用中断,不是很严格,就采用扫描方式来做咯
作者: rowen    时间: 2011-5-6 19:30
学习了
作者: 每天学一点    时间: 2011-5-16 16:49
1M+102pF电容下地
作者: yelang1214    时间: 2011-5-16 22:04
我的做法是软件延时去抖+并33P电容。手机上经常这么做
作者: yelang1214    时间: 2011-5-16 22:04
我的做法是软件延时去抖+并33P电容。手机上经常这么做
作者: lixuelei2010    时间: 2011-7-21 10:05
学习了
作者: Ava_Sun    时间: 2011-7-25 21:58
硬件去抖动:按键并联104左右容量的电容
8 P4 r0 A1 i' {2 k8 N
作者: qiangqssong    时间: 2011-7-27 15:05
9楼说的有道理!!!
作者: duckbird    时间: 2011-8-6 22:51
学习了!!谢谢
作者: newland-2011    时间: 2011-8-16 05:18
D:\截图01  我公司采用软件延时20ms,没有硬件措施。
作者: newland-2011    时间: 2011-8-16 05:21
如图,我司采用软件延时20# h* c9 }- P5 z+ k' D: }
ms去抖动,硬件没采取措施。
! k7 Y( Z3 I4 H

截图01.jpg (35.25 KB, 下载次数: 8)

截图01.jpg

作者: lutianyi    时间: 2011-8-17 13:52
谢谢!理解了  P& U. T$ a$ R  X

作者: benking    时间: 2011-8-23 10:02
zeng606 发表于 2008-10-19 13:28 # x5 k6 R. q" p8 W
硬件去抖可以在按键并联104左右容量的电容
$ C3 v0 w$ |; n! T# X4 T4 y: G! H. x( L) U7 x4 k
一般的电子表行业都是这样解决的@@

4 F+ P6 L# {0 z* ]: p) C电源上和做音响的也多数是这样解决方案。效果还是挺理想 的
作者: mqy1198    时间: 2011-9-26 20:38
软件延时啊
% o# t6 n" ?" A+ k! \# b" U7 S
作者: mqy1198    时间: 2011-9-26 20:42
" b2 H6 n/ ]& h- G" f. }7 k
这个怎么分析?
作者: yanggh    时间: 2011-10-20 16:22
受教了
作者: bestmex    时间: 2011-10-20 16:45
学习学习!!
作者: wuxuelin2006    时间: 2011-10-27 10:18
不懂……
作者: hustoetzx    时间: 2011-11-1 16:07
个人倾向于硬件去抖。可以在按键并联104左右容量的电容
作者: zhaodongjiezdj    时间: 2011-12-1 12:36
学习了
作者: lcywzg2008    时间: 2011-12-1 13:37
D2,D3为ESD管防搞死MCU
作者: 陈豪俊    时间: 2011-12-12 14:30
以前用过软件防抖,硬件防抖还真没有用过
作者: SCCKY    时间: 2011-12-16 16:16
对,用软件解决。{:soso_e100:}
作者: aliu_us    时间: 2012-6-8 11:30
要求高的地方,加RS触发器防抖,一般的价格电容就可以了吧。
& n( |! X8 ~% c- l6 G' W& T' G8 P同意二极管是保护的。

RSFF.JPG (56.8 KB, 下载次数: 4)

RSFF.JPG

作者: 星期九    时间: 2012-6-8 19:32
低电触发一般不用,直接触发.高电位触发,就加防斗,一般加104.加电阻更好保护IC.
作者: 羊羊羊    时间: 2012-6-13 08:04
为什么D2,D3不加在R17,R18的下面呢?
作者: meiyaolei    时间: 2012-6-13 08:04
谢谢分享。学习了  ^' i* Z' K; j7 y" k/ E

作者: fanglx0596    时间: 2012-7-16 11:14
为什么D2,D3不加在R17,R18的下面呢?) M" M% g, d- H, B4 B1 G" V
+ U( r4 a# n: m* ]' \% n' p; G
保护管要加在靠近静电击打的端
作者: mayafeng    时间: 2012-7-19 10:22
D2,D3应该是用来处理静电的,按键本来电平就不高,分压后CPU所承受不是很重。主要是key是外接接口,手触有可能有静电,这个会损害CPU
作者: zhangyang008    时间: 2012-7-31 16:47
加点电容,以及软件加入去抖都可以啊。
作者: zjwufan    时间: 2012-8-2 10:27
能用硬件处理的最好硬件处理。
作者: hnnhyhj    时间: 2012-8-17 13:55
支持10楼的
  h* T4 I; R2 a5 \* z- @: ^
作者: pigdragon    时间: 2012-9-17 22:13
很明显么,两个按键的2端应该是接电池的,可能电压高一些,所以需要分压;两个二极管是TVS,防静电的;去抖是在软件里面完成的。
作者: pigdragon    时间: 2012-9-17 22:17
一般讲究的电路都要加TVS,实际用不用得到就两说了。俺一般贴个压敏电阻,不过也要看一下有没有影响周边
作者: greenough    时间: 2012-9-24 11:56
本帖最后由 greenough 于 2012-9-24 11:57 编辑 3 {/ Q9 E9 V% T
8 z) ?# h/ c5 K$ A9 w* F
可以在按键两端并联一个104电容,达到到去抖
作者: xin_515    时间: 2012-9-24 15:19
可以用施密特
作者: xin_515    时间: 2012-9-24 15:19
可以用施密特
作者: 太仓一黍    时间: 2012-9-24 17:57
这个电路看图示意是保护电路。
作者: cc389518    时间: 2012-10-9 08:38
学习了,以前只用软件防抖,今天知道了加104电容也可以防抖,成本低啊。。
作者: zgq800712    时间: 2012-11-25 10:54
这个应该是接长线的按键吧? 那个管子是保护二极管,如一些常用的输入输出接口接BAV99。那个应该是TVS了,防瞬间干扰,TVS的响应时间和功率多比稳压二极管要好。2个电阻分压,也是保护,降低赋值,同时到CPU的IO口47K电阻,这个电阻可以减少冲击电流。    我知道的也就这样差不多了。
3 c( n8 |+ a/ m: T2 s' Q3 z9 j( G! @8 p+ A
主要是防止瞬间冲击,对外接线的东西,多应该有类似的上下冲击嵌位,TVS等。' W* W) m+ B( a" E- t' I0 n3 U, e+ D. T, P
至于防止抖动是软件处理的事情。   
7 s5 D, v) @: t6 x% B& l* i& b不过我做过按键,没有消抖,多没有关系,出来多次触发的也很少,和按键也有关系,有示波器试试吧、

作者: cuizb    时间: 2012-12-8 09:03
硬件RS防抖和软件防抖可以做的比较可靠,104防抖硬件实现简单成本低最好喝软件防抖一起用
作者: Ficeo    时间: 2013-1-11 10:15
学习了。。。感谢各位无私分享
作者: qwrjnb    时间: 2013-3-26 10:47
一般都用软件去抖,谁会用硬件去抖。
作者: iaiping    时间: 2013-3-29 18:57
机械开关如果单纯靠软件去抖的话很难处理的理想,像薄膜按键以及SMT按键,一般都会接103的电容去抖,再加上软件控制,就可以做的很理想了(一般手机上都会采用这种办法)。104的电容对于去抖来讲已经相当大了,要视开关而定是否采用。
作者: wp053341    时间: 2013-3-29 19:08
受教了,以后也加个104试试




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2