I'm using a 16C74 to do a project where I get the sanitized version of a real world signal as the input to RB0 (external interrupt). Because this signal can be noisy, I can receive several edges from one event. To filter out the extraneous pulses, I decided to disable the external interrupt and run timer0 for one cycle at maximum scale (gives me a 32msec window where I can ignore edges). In the interrupt handler for timer0, I turn it off, and make INTE=1 again. (I'm using timer1 and timer2 for other things already). Now this setup works ... most of the time. Every once in a while (probably 15 - 20 seconds), I miss a timer0 interrupt. Which means that I never reenable RB0, and miss a bunch of legitimate edges. My data collection routine runs every 8 seconds so when it notices that no edges have been detected since the last time, it reinitializes and I carry on. However, it would be better if this didn't happen at all. Has anybody else ran into this kind of thing? Any suggestions as to what I could try? I could just allow all interrupts and filter them after the fact, but I'd rather just not process the interrupt in the first place. thx rick