Hi Bryce, Welcome to the PIC list! Like Jinx said, I think you just need to reload the counter directly. Do it as soon as possible after the interrupt to minimize timing errors. TMR1 increments at 1/4 Fosc, with 20MHz XTAL that's 5MHz so you should be able to get 200ns resolution. Don't know how much to allow for interrupt latency. Try some code like this:- interrupt void int_routine(void){ if(TMR1IF){ TMR1H = 0xEC; TMR1L = 0x77; TMR1IF = 0; count++; } } Brent Brown Electronic Design Solutions 16 English Street Hamilton, New Zealand Ph/fax: +64 7 849 0069 Mobile: 025 334 069 eMail: brent.brown@clear.net.nz -- http://www.piclist.com hint: To leave the PICList mailto:piclist-unsubscribe-request@mitvma.mit.edu