Almost OT: Pushbutton switch latching
M H Stein
dm561 at torfree.net
Fri Dec 7 18:29:23 CST 2007
Date: Thu, 6 Dec 2007 22:06:49 -0800
From: dwight elvey <dkelvey at hotmail.com>
Subject: RE: Almost OT: Pushbutton switch latching
> From: ian_primus at yahoo.com
> The main thing I'm trying to achieve is simplicity.
> Nothing fancy. No PIC's, no microcontrollers, etc. I
> initially thought of using flip flops and a bunch of
> inverters to reset all the non-selected flip flop, but
> couldn't work out in my head a good way to do it... I
> hadn't taken switch debouncing into the equation - but
> aren't flip flops commonly used to debounce switches
The simplest method would be to use the cross coupled
nands as another described. For 8 inputs, you'll need
4 ea 7400's to make the nand latches. You'l need 8 ea 8 input
nands ( forget the 74 number ) and 3 of the hex inverters,
For each switch wire one lead to ground. Wire one lead
to a 4.7K pullup resistor and one of the free inputs to the
cross coupled nand pair. Also wire that switch lead to
7 of the 8 input nands ( not the one on this switch circuit. ).
On the remaining free inputs to the cross coupled nands
pair, wire an inverters output. The input of the inverter
goes to the output of the 8 input nand that wasn't one of the
7 connected to this switch.
Repeat this for each of the 8 switches.
If the active level is to be 0 when selected, you can save
one inverter IC. If it needs to be active high, you need the
inverter. in either case, you need to connect to the nand
that has the inverter to the 8 input nand. This will ensure
that multiple switches won't select anything until only
one is selected.
On the 8 input nand, you'll notice that one input isn't
connected. This can be used to reset. Tie all together
with a 1K resistor to +5. Place a diode across this such
that the band is on the +5 ended.
Add a 10uf tantalum to this net with th plus on the
same net and the negative to ground.
This will reset all on powering up. If you want to
one of the outputs to come on when powering up,
you can add a similar capacitor, resistor and diode
circuit to the desired input switch lead. You'd need to
remove the common input to the 8 input nand and
tie it to +5 as well.
I like this better than using some other clocked method
because if multiple switches are selected at the same time,
non will select but when the last switch is still selected,
that output will go active.
There are no ambiguous states and no oscillations. The switches
are debounced as well.
15 ICs and a dozen discretes is "the simplest?"
I think some simpler circuits have been suggested...;-)
As a matter of fact, if you add a diode & cap per switch you could do
the job with 2 IC's for each 8 PBs (7430 & '573 (or 2x'75 if you need
More information about the cctalk