all depends on your clock speeds for delays...but this seems to work for me DEBNC macro port,bit btfsc port,bit ; Is the Button Pressed? goto $+8 ; No..so skip past this debounce movlw 0xFF movwf Dlay decfsz Dlay,1 goto $ - 1 ; wait for delay btfss port,bit ; If the button is active...wait if the button is still active goto $ - 1 ; wait for it to become inactive endm _________________________________________________________________ Chat with friends online, try MSN Messenger: http://messenger.msn.com -- http://www.piclist.com hint: To leave the PICList mailto:piclist-unsubscribe-request@mitvma.mit.edu