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
软件处理这个很容易的啊9 m4 x. E4 m* K5 Y1 q0 h
没必要浪费米在这上面
作者: gs_mold    时间: 2008-9-20 14:05
一般来说, 按键去抖软件很好解决, 不过加上这个硬件分压电路. 更可靠.
作者: DYDXP    时间: 2008-9-23 14:20
原理是啥怎么分析
作者: 38447448    时间: 2008-10-10 11:37
按键应该是高电平有效,不按为低(47k下拉);: I/ }0 _+ d, e# `4 b' ~( S
按下后,D2,D3为稳压二极管,将电压稳住,因此避免了干扰;7 r# Y: i$ p8 S
之后经过两个电阻分压,将电平值降为一半给CPU检测。
, K# ^, m/ W2 n" l- w/ G因此二极管和电阻共同来去抖。% e# A- ?# s8 h; ^
第一次见到这样电路,不知分析对否,请指教。
作者: zsb362123    时间: 2008-10-13 00:10
标题: 个人分析
原帖由 38447448 于 2008-10-10 11:37 发表
1 L4 h5 P% p& B+ y7 x6 j按键应该是高电平有效,不按为低(47k下拉);
" }5 C4 Z0 s( r7 _# `按下后,D2,D3为稳压二极管,将电压稳住,因此避免了干扰;. t3 W0 L9 U; ?9 f, r: P# J
之后经过两个电阻分压,将电平值降为一半给CPU检测。
& _  L, n6 J. s7 O因此二极管和电阻共同来去抖。
( {4 X0 g9 f4 b  `! N3 Z" n, j: X第一次见到这样电路 ...
6 C. d6 A: X. P+ h' S: Z' \# Q
1 ~8 g+ \5 k$ l. h6 N9 [
我认为要更正补充的几点:1、去抖用软件可以解结方便些经济。2、(D2,D3为稳压二极管,将电压稳住)目地是为了保护CPU的I/O口。3、硬件去抖可以在按键并联104左右容量的电容。
作者: zeng606    时间: 2008-10-19 13:28
硬件去抖可以在按键并联104左右容量的电容: h3 O5 K( a1 p2 N$ G' }/ ^) R

; V5 _0 R- e! V( v9 s) {4 \" r4 D一般的电子表行业都是这样解决的@@
作者: 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
有软件,有硬件两种办法:
( a1 ~! _6 s% ?' y/ P+ z软件可能要多算几次....
4 i- l7 a5 d* N" ^! w) u硬件要加电容..........
作者: jiefeng1999    时间: 2009-5-26 20:18
软件解决吧 又没有成本
作者: Juger    时间: 2009-5-27 08:14
软件也是有成本的,不要随便把程序开发人员的工作给磨灭了。。。。
) v0 k& |! U3 w9 M* t7 [0 T不过一般而言软件解决是最简单便宜的$ v: M$ o$ z% K1 `, e7 c$ c# W' I: r1 j! 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
应该没法稳压的,只是考虑按键漏在外面,
1 l2 q% N" D+ s% c有可能会有空气放电和接触放电,
( t# |0 `6 Y) y6 @TVS起保护而已。
作者: logMsg    时间: 2010-2-24 15:30
一般加个小电容,没增加多少成本吧
作者: 风云过    时间: 2010-3-19 14:07
学习学习
作者: 黑狼传说    时间: 2010-3-19 16:03
用软件延时
作者: chrishuiling    时间: 2010-4-2 15:51
小的,对硬件不懂。来些学习学习!
5 o7 R. u- S7 m1 [! q- [+ v0 f谢谢各位!
作者: 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左右容量的电容 : d/ q, q( Y2 R' a/ p
这个简单
作者: qdhd_hai    时间: 2010-5-28 22:32
硬件是并联一只10u电容,软件上去抖比较容易
作者: 热茶    时间: 2010-6-17 23:36
消抖软件就能解决,电路的主要作用个人理解如下1 U% u" F9 l+ Z/ f7 t
1)二极管为ESD抑制无可厚非( g" ?) d6 V- @) I4 U: l
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管也有一定的电容,也具有一定的滤波作用7 b0 d! b. o+ y: a
电压再分压后送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 O0 \4 Z5 X% K' e& q我认为要更正补充的几点:1、去抖用软件可以解结方便些经济。2、(D2,D3为稳压二极管,将电压稳住)目地 ...

9 n1 W, Y( \. L$ w8 I这个电路中二级管主要是起到IO端口的保护作用,去抖动是靠软件来完成的6 o% _* }! `3 W2 Y; L

作者: 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的电容下地就好。
" P; q9 y2 ^: }$ Q
作者: zhouchengxiang    时间: 2011-4-21 06:27
一般都是用软件做去抖处理就OK了!扫描按键的时候发现有按键按下就延时20MS左右
作者: stupidboy    时间: 2011-4-24 21:45
可以使用并接104电容,, M. t6 G4 p/ M# Y/ m& P  w+ j
当然也可以将所有按键通过与门做成一个中断,使系统尽快响应,但这个看你自己系统的需求,对响应要求很高,就采用中断,不是很严格,就采用扫描方式来做咯
作者: 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左右容量的电容
% J  u3 j2 z+ E: f4 k: s% C+ ?
作者: 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+ L& g: @. n4 h7 H3 w0 F
ms去抖动,硬件没采取措施。4 u2 w1 S- }0 F' ^: A! G9 y

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

截图01.jpg

作者: lutianyi    时间: 2011-8-17 13:52
谢谢!理解了
  k9 A5 P; I$ N2 U" @: Z8 \/ S# W
作者: benking    时间: 2011-8-23 10:02
zeng606 发表于 2008-10-19 13:28
) q4 L$ F; Z" @2 V硬件去抖可以在按键并联104左右容量的电容
+ i# Z: H: Q: {1 E! D0 j9 o; O6 S1 `
一般的电子表行业都是这样解决的@@
6 l& ?4 ]/ N! U5 O
电源上和做音响的也多数是这样解决方案。效果还是挺理想 的
作者: mqy1198    时间: 2011-9-26 20:38
软件延时啊* M- F. ~. c0 R, c1 i  g/ M0 }2 h; r- \

作者: mqy1198    时间: 2011-9-26 20:42

9 G% g/ l$ {" x5 ~0 g) u5 [, Z这个怎么分析?
作者: 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触发器防抖,一般的价格电容就可以了吧。
) f; e) a# w9 i  |6 h6 v8 O3 i同意二极管是保护的。

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

RSFF.JPG

作者: 星期九    时间: 2012-6-8 19:32
低电触发一般不用,直接触发.高电位触发,就加防斗,一般加104.加电阻更好保护IC.
作者: 羊羊羊    时间: 2012-6-13 08:04
为什么D2,D3不加在R17,R18的下面呢?
作者: meiyaolei    时间: 2012-6-13 08:04
谢谢分享。学习了# W$ d8 K1 Y; l% }+ M( z

作者: fanglx0596    时间: 2012-7-16 11:14
为什么D2,D3不加在R17,R18的下面呢?
7 e1 T( ^) H8 h8 z
: X& H. L% \4 J: T+ o% f保护管要加在靠近静电击打的端
作者: 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楼的
  b7 J5 D' C9 K" X* s% y
作者: 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 编辑
( ^8 K5 p; n2 m2 a# M" N4 G
7 I# W/ J/ P8 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电阻,这个电阻可以减少冲击电流。    我知道的也就这样差不多了。
" L9 F: i8 R+ j: x3 c0 H: U. Y- T4 S' K. q8 b" T) V* K; S' \* V
主要是防止瞬间冲击,对外接线的东西,多应该有类似的上下冲击嵌位,TVS等。: d3 O8 J0 o* L( e8 h6 P
至于防止抖动是软件处理的事情。   
" Z1 v( Q, _" b" o不过我做过按键,没有消抖,多没有关系,出来多次触发的也很少,和按键也有关系,有示波器试试吧、

作者: cuizb    时间: 2012-12-8 09:03
硬件RS防抖和软件防抖可以做的比较可靠,104防抖硬件实现简单成本低最好喝软件防抖一起用
作者: lyf1050    时间: 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.elecnest.cn/) Powered by Discuz! X3.2