Barry King wrote: > No. writing to TMR0 register does not change the prescaler > assignment. It does _clear_ the prescaler register to 0, which > means that the clock cycles since rollover are discarded. Exactly > how many cycles are "missed" depends on how many cycles your > interrupt routine uses. Leads me to the conclusion that this (using the TMR0 register to count by a factor other than 256 by pre-loading it at each interrupt) is a procedure doomed to misery. Whether using the prescaler or not, you will always have uncertainty (if only due to the uncertainty of at least one cycle in the interrupt service) in the count. IF you need a programmable ratio divider, you really want to use a device designed for that purpose - TMR0 on the PIC is *not*. It is generally much easier to select a crystal frequency to suit the timing interval you need. In fact, careful consideration of the *purpose* of the timing interval may reveal that you don't need precision on each interval but long-term precision instead. And, even if you have other tasks to be performed, it may often be the case that an odd timing interval is far more easily implemented by a cycle-counting loop, added to a known execution time (isochronous code) to perform those other tasks. -- Cheers, Paul B.