I see a lot of text on the internet and here telling us how to de-bounce a switch, in my case a push button. But I have tried all these circuits and I find that nothing other than a 555 monostable worked for me so far.
This is why I ask that you only answer if your knowledge is practical, not textbook, not hear-say, only if you have done it either recently or often enough that you have experienced the difference between theory and practice!
I have tried RC with inverter and that doesn't work except with Schmitt-trigger inverter (and I guess then Schmitt trigger buffer too), but even that not 100% reliably (I would say one extra triggering in about 100.)
My test setup is without a storage scope, just a 74LS161 counter and 4 LEDs hooked up.
My preferred solution is an S-R-latch, with 2 NAND gates (74LS00), but I had no luck whatsoever with that, regardless whether I tied the switch to high or to ground.
One thing nobody seems to mention is the darned make-before-break variety of push-button switches. Those are a total non-starter. But now that I just came home with 2 more buttons, tested and found them to be break-before-make, hooked them up to my DYI S-R-latch and I still get salves of up to more than 16 counts! Rarely, but I can't count a set of 16 without at least one double trigger.
Why am I the only one who has such bad luck? I show you my breadboard photos if you don't believe me. I put it on YouTube.
This is why I don't trust any theoretical answers, I built every circuit in the book(s) and can testify for several of them they totally and utterly fail right out the barn. I think most people who write about this don't actually have the experience.
So far RC with Schmitt-trigger is the only thing I could get working at 99% reliability, but not better, and I don't want the monostable, I really want the S-R latch (push - S, release - R).
UPDATE: people want to see schematics, so here is what I am now targeting. I have built all other circuits I could find. I will try the RC again from one of the answers. But for the SR-latch it's this:
simulate this circuit – Schematic created using CircuitLab
I have three different types of double throw buttons, all I can get my my hands on, and one is MBB, doesn't work, the other is one of those with a little lever, like a morse code switch, supposedly extra precise, but nope, it bounces back and forth. The other is a button like the first but BBM -- at least most of the time.
I find that the double throw buttons are all bad. The third one is the best, but still it has horrible bouncing around, because when I hold it just right it can even do a MBB action. So, that may be the problem I am having. I just can't get a decent switch.
This means, for me the SR-latch trick is out, a no-go.
I need to use a single throw button then and try again with RC. I will work off the other answer below and report back.
UPDATE: I see a lot of negative ratings, but I don't care! I am here representing the experimental truth of the matter and not text book. Yes, we are on breadboards but these things do not work.
It probably has to do with the fact that the double throw buttons are all bad, at least in micro-switch format, they bounce around like crazy, make-before-break and apparently also bouncing between the two sides. The only circuit that I can use to do an push-release action with <10% glitch rate is the one I have described here:
Is it possible to use just a capacitor to debounce a button?