Almost OT: Pushbutton switch latching

dwight elvey dkelvey at hotmail.com
Fri Dec 7 00:06:49 CST 2007






> From: ian_primus at yahoo.com
>
> I guess I should have been more clear... And everyone
> has brought up some good points. I initally didn't
> think about the initial power-up setting, but in this
> application it doesn't much matter - I guess
> defaulting to none pressed (or #1 pressed, even
> better) would be good. I don't intend to press two
> switches at once, but if it were to happen, it doesn't
> much matter - either one could take priority. I'd
> rather not have more than one select output active at
> a time, but it's not a huge problem if it happens.
> Timing is totally non-critical. Two outputs can be
> active for a tiny period, no outputs active during
> switching is fine. The idea is to simply control some
> CBT3244A bus switching chips to switch some analog
> signals. I want to avoid having each chip controlled
> by a toggle on/off switch, because then in order to
> change signals you would have to manually turn off
> one, and turn on the next.
>
> 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
> anyway?
>

Hi
 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,
7404s.
 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.
Dwight

_________________________________________________________________
Connect and share in new ways with Windows Live.
http://www.windowslive.com/connect.html?ocid=TXT_TAGLM_Wave2_newways_112007


More information about the cctalk mailing list