Picture this - a number of switches, say, eight.
Momentary contact,
normally open switches. And then eight outputs, one for each switch,
TTL level. I want to be able to push one switch and bring [its]
corresponding output high, and have it stay high even when the switch
is released. But, making this more complicated, I only want to be
able to allow one switch to be active at a time. So, say switch four
is pressed, output four is high. Then, switch one is pressed, and
output four goes low, and output 1 goes high. Timing is not
critical.
How much overlap or "dead space" between switch depressions? In
other words, can any two outputs be simultaneously high, even for a
few nanoseconds? If a switch is pressed, can your application
tolerate a brief "nothing is pressed" period of a few nanoseconds
between cancelling the old depression and instating the new one?
Will your application be synchronous (i.e. depressions synchronized
to the transitions of a clock signal) or asynchronous? Would you
rather have your output as a 3-bit encoded binary number?
There are several solutions, depending on your needs.
The solution with the lowest parts count would be a PIC or AVR
microcontroller (might also be the least expensive). My next choice
might be a registered PAL. But if you want to stay vintage, there
are low parts count combinatorial solutions.
Cheers,
Chuck