> .__________. > | 16F628 | > | | > | RB0 |---------o-------------| MOSFET 1 gate > | | | > | RB1 |---------|-------o-----| MOSFET 2 gate > | | | | > | RA5 | | | > '----------' | | > | |/ o | > | A>--'\/\/\,--| NPN |] Pushbutton N.O. > | R1 |\> o | > | | | > | | | > | (D) | > | | | > | | | > `-----------------o--|<|--' > | 1N4148 > ,--'\/\/\,--' > | R2 > GNDb You're making this way too complicated. Just turn on the internal pullups when you want to read the switches and tie the other end of the switches to ground. This even frees up RA5. (Where did you find such a hairbrain design in the first place?) ***************************************************************** Embed Inc, embedded system specialists in Littleton Massachusetts (978) 742-9014, http://www.embedinc.com -- http://www.piclist.com hint: The PICList is archived three different ways. See http://www.piclist.com/#archives for details.