> OK, I see that retfie resets the GIE. That would mean the initial 'bsf > INTCON,7' is not necessary? No, and it's generally undesirable because it makes the interrupt system 'live'. It would be better for you at this stage to not complicate program flow. As I mentioned, events are recorded in the IFs so you won't be missing anything > Clearing INTF with retfie immediately following will reenable the GIE > to accept the next interrupt? Yes. Although clearing INTF late in the ISR is really only to minimise re-processing of the same event. Individual bottles are far apart on the time-scale of the ISR but the noise that could, and probably will, come from the button is not. So if bottles are coming along at 1 per second, that is the only one event you want to process, not the noise from the button, which does not represent several 'bottles' RETFIE on the 16F is simply RETURN + BSF INTCON,GIE. So you can leave the ISR with RETURN. That means you can process an IRQ without re-enabling interrupts automatically. GIE can be re- enabled at a time of your choosing > We've learned how to do a switch debounce via subroutines so far. > I'm not capable of thinking too far 'outside the box' yet. :-) Here's a debounce routine you may care to have a look at http://www.dattalo.com/technical/software/pic/debounce.html Joe -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist