From: "Lukas Louw"
Subject: Re: Multiple PushButtons
X-Newsreader: Microsoft Outlook Express 6.00.2600.0000
X-MIMEOLE: Produced By Microsoft MimeOLE V6.00.2600.0000
NNTP-Posting-Date: Tue, 15 Oct 2002 20:39:42 GMT
Organization: AT&T Worldnet
Date: Tue, 15 Oct 2002 20:39:42 GMT
Here's the simplest cheapest solution for up to 10 positions, using standard
CMOS ICs It's a rather neat idea that was Published in Elektor sometime in
the dark ages, at least 20 years ago. I've used it in more projects than I
care to remember, audio preamp input selectors, amp load bank selection,
retail store speaker/amplifier demo boards and the like.
All you need is a 4017 CMOS decade counter, a simple clock made up of two
CMOS inverters, and a few momentary NO push button switches.....and a 100K
Tie the 4017 reset to ground.
Tie its enable via a 100K resistor to + supply
Feed the clock into the 4017 clock input
From each output that you want to use, wire pushbutton switch to the 4017
You can use the 4017 outputs , starting a 0, connect buffers for relays,
transistors, transmission gates, whatever.
The circuit operation is pretty simple.
On turnon output 0 of the 4017 goes high (usually anyway, you could get
fancy and add a simple power on reset circuit), all others low.
The 4017 counting function is disabled, as its enable is held high through
When you press any of the buttons connected to one of the other outputs,
that will yank the enable line low, and the 4017 starts counting till it
gets to that output, which will of course pull the enable high, thus
stopping the counting.
A clock frequency of 1KHz works great, and gives instantaneous response
If there is a possibility that the constant running clock could get into
audio signals, you can also gate the clock from the enable pin connection of
If your'e going to drive relays, and need definite break before make, add
AND gates between the 4017 outputs and the relay drivers, driven from a
retriggerable monostable, triggered by the enable signal, to guarantee that
the relay that was on, will drop out before the next one comes in. The basic
circuit is pretty versatile and can be expanded on for other aplications.
Hope that makes sense,