# Should I consider debouncing my push button?

Considering a +5V battery source, I have a set of input switches. These switches are push buttons which stay closed upon clicking and open upon clicking again.

One side of a switch is connected to the positive side of the battery while the other is connected to a pull-down resistor, 10 kΩ specifically, and my combinational circuit. This circuit contains 74LS-series DIP ICs.

With that set-up should I still consider debouncing my circuit or not?

I'm thinking whether this set-up can affect one of my sequential circuit which send pulses when one input is clicked with the use of XOR gates, capacitors and resistors.

• obviously, that depends on your circuit! So, without you sharing that, it'll be hard to answer. Anyway, it's likely that debouncing is a good idea – but you've probably know that already, else you wouldn't ask here, would you? :) Dec 13, 2016 at 10:41
• Here's a sample of my circuit... dropbox.com/s/48nxpl10crki66p/Drawing1.png?dl=0 Dec 13, 2016 at 11:28
• The output releases a pulse whenever one input is clicked. Without debouncing, will this have erroneous results? Dec 13, 2016 at 11:31
• You copied that circuit from somewhere and didn't quite understand it, right? I'd like to push you in the right direction: what purpose does the third gate, and the resistor and capacitor serve? Dec 13, 2016 at 11:39
• It detects the positive and negative edges from the pulses of the preceding XOR gates. Dec 13, 2016 at 11:42

Yes, you should consider debouncing your push button if the push button does not do this for you.

• Upvoting obvious answer because it's obvious. Not a great answer – but still answers OP's question "should I consider…". Dec 13, 2016 at 10:57
• Upvoting Marcus comment. Obvious comment is obvious. So meta! :-) Dec 13, 2016 at 11:20
• Upvoting @winny .... just because. Dec 13, 2016 at 11:22
• Upvoting winny because recursiveness is recursive. Dec 13, 2016 at 11:39

Generally, if you have a circuit that detects edges and triggers some action (counter, interrupt, etc) then you need to debounce, otherwise every edge of a bouncing switch will be counted.

Some applications simply poll logic level periodically looking for a high or low state. In those cases you might be able to get away without debouncing, but you need to study the specifics of the application.

You should debounce the switches if bouncing on opening or closing would cause trouble. This really should have been obvious.

We don't know what's in the "output" block in your diagram, so we can't say. It looks like you have a edge to glitch converter in front of it. Bouncing switches would therefore cause multiple glitches. Again, only you can say whether that's OK or not.

• Whoever downvoted this, it would be useful to explain what exactly you think is incorrect, misleading, or badly written. I still believe this answer is correct. Dec 15, 2016 at 11:37