(after carefully checking there's no SPDT in sight) > Can someone please give me a small checklist of what > it takes to detect the press of a button? Include setup of > port, pullup conditions,wiring, bit testing, etc. Bank1 - set trisb bit4 to 1 for input Test PortB,4 in Bank0 - even banks are port, odd banks are tris Pulldown to Vss, pushbutton to Vcc or pullup to Vcc, pushbutton to Vss Wires as short as possible, add a buffer/driver for over, say, 1m but that may depend on the value of the resistor, quality of wire, environmental noise etc. Adding an RC network will help filter any noise from the pushbutton. Put a high (compared to the R, eg R=10k, discharge=100k) value resistor across the C to discharge it after the push- button is released > btfsc PORTB,4 > call rb4on > return should be OK for checking the default state if using a pulldown With a pullup and grounded pushbutton you'd change the test for default to btfss If you've just the one pushbutton you might consider RB0/INT -- http://www.piclist.com hint: To leave the PICList mailto:piclist-unsubscribe-request@mitvma.mit.edu