Jason Wolfson wrote: > > Does anyone have any clever, low parts count > methods of multiplexing 3 pushbuttons onto > 2 port pins? Just ideas: 1. First PIC pin (in output mode) clock a shift register with running "0" or "1". Shift register switch the keys. To eliminate the additional switches apply shift register with open collector outputs. First PIC pin (in input mode) read the out of 1-st cascade of the shift register to detect situation when scan impulse placed in first position. (clocking and reading through the one pin require additional elements such as resitors and transistor(or diode) ) Second PIC pin read the keys level. 2. First PIC pin through simple low-pass RC filter connected to data input of shift register and directly connected to clock input of register. To write "1" to register send the following pulse: (shift register have to be fall_clocked) +--------------+ | V -+ +---- To write the "0" to register send another pulse: +--+ | V ----------------+ +- Due to that trick you have ability to write any information into shift register. Second PIC pin read the keys level(the same as in 1-st idea). But i think will be much easy to add third PIC pin and scan keys directly. WBR Dmitry.