Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Switch Debounce - Flip-Flop

221 views
Skip to first unread message

Chip Kent

unread,
Jan 8, 1998, 3:00:00 AM1/8/98
to

I'm designing a circuit using 4000 Series CMOS. I need to debounce a switch
in the circuit. Can anyone please provide me with a schematic for
debouncing a switch using a 4000 series flip-flop? Or is there a simplier
way of doing it? Thanks alot.

Fred E. Davis

unread,
Jan 8, 1998, 3:00:00 AM1/8/98
to

The classical approach is a cross-coupled NAND (4011) or NOR (4001) RS flip
flop. Surely you've seen this before?


Mark Hennessy

unread,
Jan 8, 1998, 3:00:00 AM1/8/98
to

Fred E. Davis <FED...@worldnet.att.net> wrote in article
<6936hh$u...@bgtnsc01.worldnet.att.net>...

This requires a double-throw switch. An easier way is to use an RC network
and a Schmitt trigger (eg 40106 hex schmitt inverter). I've found this
works perfectly for user panel switches...

---*-------- +ve
:
/
\ R: 10-100K
/ :\
: 40106 : \
: : \
*-----------*----------------: O----
: : : /
: : : /
/ : :/
\ 100R :
/ === C: 0.1-1uF
: ---
o :
\ Switch :
\ :
o :
: :
---*-----------*-----------------------

I usually arrive at the RC values emperically depending on the type of
switch - I'm currently playing with the UniMec series switches, and found
they work with R=10K and C=0.1uf (ie 1mS!!!), but in the final design I
shall play safe with a TC nearer to 50-100mS. Cheap tactile switches found
in modern domestic kit can bounce badly requiring times long enough to be
noticable... I use the 100R resister to prevent spikes causing problems
(can happen if a number of switches are on a panel separate from the
schmitts, and the C's are located near switches)

Hope this helps...

Mark Hennessy

Bert Douglas

unread,
Jan 8, 1998, 3:00:00 AM1/8/98
to

A good place to find this kind of basic digital
design information is in Don Lancasters
TTL and CMOS cookbooks. I believe
you can still buy these from him at
www.tinaja.com or something like that.

I grew up reading those books as a teenager.
Don will always have a special place in my heart.

Winfield Hill

unread,
Jan 8, 1998, 3:00:00 AM1/8/98
to

Fred E. Davis at FED...@worldnet.att.net says...

> On Thu, 8 Jan 1998 12:21:56 -0600, "Chip Kent" <lau...@mcs.net> wrote:
>
>> I'm designing a circuit using 4000 Series CMOS. I need to debounce a
>> switch in the circuit. Can anyone please provide me with a schematic
>> for debouncing a switch using a 4000 series flip-flop? Or is there a
>> simplier way of doing it? Thanks alot.
>
> The classical approach is a cross-coupled NAND (4011) or NOR (4001)
> RS flip flop. Surely you've seen this before?

Or using the R-S inputs of a left-over D or JK flop. Or using one
resistor for positive feedback with any type of non-inverting gate
or pair of series inverters (like the rest, this uses a SPDT switch
or pushbutton, but has the benefit of only requiring one wire from
the panel). BTW, All this and more detailed in AoE chapters 8 and 9.

--
Winfield Hill hi...@rowland.org
Rowland Institute for Science
Cambridge, MA 02142


Don Lancaster

unread,
Jan 8, 1998, 3:00:00 AM1/8/98
to


Chip Kent wrote:

> I'm designing a circuit using 4000 Series CMOS. I need to debounce a switch
> in the circuit. Can anyone please provide me with a schematic for
> debouncing a switch using a 4000 series flip-flop? Or is there a simplier
> way of doing it? Thanks alot.

Circuits are in the CMOS Cookbook.

--
Many thanks,

Don Lancaster

Synergetics Press 3860 West First Street Box 809 Thatcher, AZ 85552
Voice phone: (520) 428-4073 email: d...@tinaja.com
Visit my GURU's LAIR web site at http://www.tinaja.com

Know your acronymns: url = utterly rancid location
net = not entirely true
www = world wide wait

LShaping

unread,
Jan 8, 1998, 3:00:00 AM1/8/98
to

> The classical approach is a cross-coupled NAND (4011) or NOR (4001) RS
flip
> flop. Surely you've seen this before?


I use the CD4093.

Michael F. Coyle

unread,
Jan 9, 1998, 3:00:00 AM1/9/98
to

Fred E. Davis <FED...@worldnet.att.net> wrote in article
<6936hh$u...@bgtnsc01.worldnet.att.net>...
> On Thu, 8 Jan 1998 12:21:56 -0600, "Chip Kent" <lau...@mcs.net> wrote:
>
> >I'm designing a circuit using 4000 Series CMOS. I need to debounce a switch
> >in the circuit. Can anyone please provide me with a schematic for
> >debouncing a switch using a 4000 series flip-flop? Or is there a simplier
> >way of doing it? Thanks alot.
>
> The classical approach is a cross-coupled NAND (4011) or NOR (4001) RS flip
> flop. Surely you've seen this before?

If you use the 4043 or 4044 Quad RS Latches, you can debounce 4 SPDT switches
with one IC package and 8 resistors.

The Motorola MC14490 will debounce 6 SPST switches. It requires only one small
capacitor (for built-in oscillator) and contains built-in pullup resistors. A
bit on the expensive side, though.

- Michael


Leon Heller

unread,
Jan 9, 1998, 3:00:00 AM1/9/98
to

In article <6935jh$7de$1...@Nntp1.mcs.net>, Chip Kent <lau...@mcs.net>
writes

>I'm designing a circuit using 4000 Series CMOS. I need to debounce a switch
>in the circuit. Can anyone please provide me with a schematic for
>debouncing a switch using a 4000 series flip-flop? Or is there a simplier
>way of doing it? Thanks alot.
>
>

A Schmidt trigger, cap. and resistor is another way. A diode across the
cap. is a good idea, to discharge it when the power is off.

Leon
--
Leon Heller: le...@lfheller.demon.co.uk http://www.lfheller.demon.co.uk
Amateur Radio Callsign G1HSM Tel: +44 (0) 118 947 1424
See http://www.lfheller.demon.co.uk/dds.htm for details of my AD9850
DDS system - schematic and software.


ed ngai

unread,
Jan 10, 1998, 3:00:00 AM1/10/98
to

Alexander Stoll wrote:
>
> On Thu, 8 Jan 1998 12:21:56 -0600, "Chip Kent" <lau...@mcs.net> wrote:
> {I'm designing a circuit using 4000 Series CMOS. I need to debounce a switch

> {in the circuit. Can anyone please provide me with a schematic for
> {debouncing a switch using a 4000 series flip-flop? Or is there a simplier
> {way of doing it? Thanks alot.
> {

hi, here's goes, i'm gonna try some ascii art...

/
+-------------* *----------+
| |
| |
| |\ |\ |
+----| \0------| \0---------+
|/ |/

4000 series you say ? Harris?

ed

Spehro Pefhany

unread,
Jan 10, 1998, 3:00:00 AM1/10/98
to

Leon Heller <le...@lfheller.demon.co.uk> wrote:

> A Schmidt trigger, cap. and resistor is another way. A diode across the
> cap. is a good idea, to discharge it when the power is off.

A series resistor to the CMOS input is a better idea, IMO.

--
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Spehro Pefhany "The Journey is the reward"
sp...@interlog.com
Fax:(905) 332-4270 (small micro system devt hw/sw + mfg)
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=


Alexander Stoll

unread,
Jan 11, 1998, 3:00:00 AM1/11/98
to

On Thu, 8 Jan 1998 12:21:56 -0600, "Chip Kent" <lau...@mcs.net> wrote:

{I'm designing a circuit using 4000 Series CMOS. I need to debounce a switch
{in the circuit. Can anyone please provide me with a schematic for
{debouncing a switch using a 4000 series flip-flop? Or is there a simplier
{way of doing it? Thanks alot.
{

Actually, straight debouncers are bo-ring. How about a debounced SPST
push-on/push-off circuit? Glad you asked!

Need:
2x inverters or schmitt triggers (2/6 of hex package), "A" and "B"
1x 1M res
1x 10M res
1x 10nf cap (that's 0.01uF like duh)
1x your favorite N.O. pushbutton switch

Circuit kinda-netlist:
n1) invA.output, 1M.1
n2) 1M.2, invB.input, switch.1
n3) switch.2, cap.1, 10M.1
n4) 10M.2, invB.output, invA.input
gnd) cap.2

A nice bistable circuit: the switch ties the cap directly
to invB.input to toggle the HI/LO states, and the 1M
provides solid feedback to prevent oscillation with the
switch closed. When the switch is opened, the cap is
charged through 10M to set the next-push state. Neat!
The only issue is the refractory time for the cap's
settling to the toggle voltage. This limits toggle freq.
Play with the values as needed.

On powerup, invA.output *usually* starts LO, invB.output HI.
Push the switch to toggle between on/off states.

This is an old circuit, but just thought it needed airing again.
It is extremely reliable in production and cheap too.
---------------
Alexander Stoll
yal...@seanet.com (no-spam reply? remove the initial "wye"))

Alexander Stoll

unread,
Jan 12, 1998, 3:00:00 AM1/12/98
to

On Sat, 10 Jan 1998 01:36:05 -0800, ed ngai <en...@sprintmail.com> wrote:

{Alexander Stoll wrote:
{>
snip
{hi, here's goes, i'm gonna try some ascii art...


{
{ /
{ +-------------* *----------+
{ | |
{ | |
{ | |\ |\ |
{ +----| \0------| \0---------+
{ |/ |/
{
{4000 series you say ? Harris?
{
{ed

Nope. I had hoped to avoid such, but:


+--------o<|-------+
| |
\ |
/ 1M |
\ |
/ |
| |
+--------|>o-------+
| |
| \
| / 10M
| \
| switch /
| _o_ |
+------0 0---------+
|
=== 10nF
|
--+--
--- (gnd)

0 new messages