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
软件处理这个很容易的啊
& V9 U( r8 R9 Q" J+ @没必要浪费米在这上面
作者: gs_mold    时间: 2008-9-20 14:05
一般来说, 按键去抖软件很好解决, 不过加上这个硬件分压电路. 更可靠.
作者: DYDXP    时间: 2008-9-23 14:20
原理是啥怎么分析
作者: 38447448    时间: 2008-10-10 11:37
按键应该是高电平有效,不按为低(47k下拉);
3 N, e! l: @" \) U- ~按下后,D2,D3为稳压二极管,将电压稳住,因此避免了干扰;
6 N8 @! _+ p8 }) K& G% H5 U之后经过两个电阻分压,将电平值降为一半给CPU检测。8 S7 i( V, M- J7 L+ l
因此二极管和电阻共同来去抖。- u- h' ]1 M& }1 g
第一次见到这样电路,不知分析对否,请指教。
作者: zsb362123    时间: 2008-10-13 00:10
标题: 个人分析
原帖由 38447448 于 2008-10-10 11:37 发表 4 U& _$ c& p4 q4 U; v
按键应该是高电平有效,不按为低(47k下拉);
3 _' r$ e: s; A8 R按下后,D2,D3为稳压二极管,将电压稳住,因此避免了干扰;; G1 {% d2 i$ l# Q2 p
之后经过两个电阻分压,将电平值降为一半给CPU检测。' E! P7 w1 l, h
因此二极管和电阻共同来去抖。% E4 |! U: n# ]# r* B
第一次见到这样电路 ...
. a8 G0 @# D6 F9 |1 `9 }2 K

3 \7 t& ?3 p- [: l3 `9 E& M$ ?) B1 h我认为要更正补充的几点:1、去抖用软件可以解结方便些经济。2、(D2,D3为稳压二极管,将电压稳住)目地是为了保护CPU的I/O口。3、硬件去抖可以在按键并联104左右容量的电容。
作者: zeng606    时间: 2008-10-19 13:28
硬件去抖可以在按键并联104左右容量的电容" G8 {+ l. W+ f9 _! U
; L' U# ?" c$ v, y' [. k( T& E
一般的电子表行业都是这样解决的@@
作者: 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
有软件,有硬件两种办法:
2 z1 E7 I: }( z; ]. O) d软件可能要多算几次....  D& G) w) X8 O( k- L8 g
硬件要加电容..........
作者: jiefeng1999    时间: 2009-5-26 20:18
软件解决吧 又没有成本
作者: Juger    时间: 2009-5-27 08:14
软件也是有成本的,不要随便把程序开发人员的工作给磨灭了。。。。
7 a' e. s0 M! b' s不过一般而言软件解决是最简单便宜的
2 H3 T) @! y, G1 \  G" @/ t! ^我的做法是对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
应该没法稳压的,只是考虑按键漏在外面,  ^& P( r9 k8 T7 Y0 l2 S/ x
有可能会有空气放电和接触放电,
) s- r+ v& Y" u4 }TVS起保护而已。
作者: logMsg    时间: 2010-2-24 15:30
一般加个小电容,没增加多少成本吧
作者: 风云过    时间: 2010-3-19 14:07
学习学习
作者: 黑狼传说    时间: 2010-3-19 16:03
用软件延时
作者: chrishuiling    时间: 2010-4-2 15:51
小的,对硬件不懂。来些学习学习!- D$ P! K. w) [+ I
谢谢各位!
作者: 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左右容量的电容
" g, {! F2 T. N4 m( f! H这个简单
作者: qdhd_hai    时间: 2010-5-28 22:32
硬件是并联一只10u电容,软件上去抖比较容易
作者: 热茶    时间: 2010-6-17 23:36
消抖软件就能解决,电路的主要作用个人理解如下
9 f( Q- J2 ]/ i5 S4 b5 {1)二极管为ESD抑制无可厚非* V8 K3 V* [4 y
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管也有一定的电容,也具有一定的滤波作用& w+ l/ ?* T" F# w4 @/ i) H1 T
电压再分压后送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 / r# l8 f# l& U, p5 |' ~' b  \
我认为要更正补充的几点:1、去抖用软件可以解结方便些经济。2、(D2,D3为稳压二极管,将电压稳住)目地 ...

+ c7 q) d: w& M2 V- A$ o这个电路中二级管主要是起到IO端口的保护作用,去抖动是靠软件来完成的9 ^, g  D7 S2 k2 X5 z

作者: 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的电容下地就好。6 W: i9 q# ]! k/ m3 a

作者: zhouchengxiang    时间: 2011-4-21 06:27
一般都是用软件做去抖处理就OK了!扫描按键的时候发现有按键按下就延时20MS左右
作者: stupidboy    时间: 2011-4-24 21:45
可以使用并接104电容,8 N; f- b7 _% t0 H
当然也可以将所有按键通过与门做成一个中断,使系统尽快响应,但这个看你自己系统的需求,对响应要求很高,就采用中断,不是很严格,就采用扫描方式来做咯
作者: 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左右容量的电容
/ m0 T( [+ e+ q8 x5 p3 g" u
作者: 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
  m1 m. M# }" \- S- o, oms去抖动,硬件没采取措施。
0 r5 C4 I0 Y( r; m

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

截图01.jpg

作者: lutianyi    时间: 2011-8-17 13:52
谢谢!理解了& x3 X& {3 X, R% X) ~" [6 S7 I3 d

作者: benking    时间: 2011-8-23 10:02
zeng606 发表于 2008-10-19 13:28
! E8 U; f4 F& a硬件去抖可以在按键并联104左右容量的电容
" a9 J/ n- [7 L7 c" @" x# i3 K2 h  w0 v" E
一般的电子表行业都是这样解决的@@

( H2 F) k$ D7 e3 z3 e. Q! D电源上和做音响的也多数是这样解决方案。效果还是挺理想 的
作者: mqy1198    时间: 2011-9-26 20:38
软件延时啊* C# |4 o) U- G

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

8 _9 ^- Y& @+ Y这个怎么分析?
作者: 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触发器防抖,一般的价格电容就可以了吧。6 j3 k. ?' _0 q! s
同意二极管是保护的。

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
谢谢分享。学习了
9 a. y3 ?2 w& c; ]/ R- X1 I
作者: fanglx0596    时间: 2012-7-16 11:14
为什么D2,D3不加在R17,R18的下面呢?
/ R- h* _* ~/ ]8 |
: V, L) i, i( u8 m保护管要加在靠近静电击打的端
作者: 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楼的
  \5 ?8 T" C3 m  O- e, \. l
作者: 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 编辑 # e5 f" F, p6 O$ y% t

$ k3 g9 c! ]5 X- h5 N# v3 E. @: z可以在按键两端并联一个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电阻,这个电阻可以减少冲击电流。    我知道的也就这样差不多了。( `% j* V' F2 q$ p3 e! y2 \$ X+ V
. I& w9 s* y. f
主要是防止瞬间冲击,对外接线的东西,多应该有类似的上下冲击嵌位,TVS等。3 `& ]* j' N6 R. _9 y/ L; A# G
至于防止抖动是软件处理的事情。   
7 E  k: c, w- r; i7 Z; z6 e, C不过我做过按键,没有消抖,多没有关系,出来多次触发的也很少,和按键也有关系,有示波器试试吧、

作者: 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