Why not approch the problem from a different angle and use the edge triggered interupt...... Use the timer to give you a "window" of say .5 sec and use the inturupt to read another register incremented by the inturupt triggered by the edge dectection. This way you can count the number of pulses in a given time frame. Using this method also free's up you main program loop to do things like update the LCD display Etc. Cheers Peter .......... Mailto:efoc@cyberstop.net +=================================+ | Listen to the Nothing, child, | | Listen to the Don'ts | | Listen to the Never Haves | | The Shouldn'ts, and the Won'ts | | | | Listen to Impossible | | then listen close to me: | | | | Anything can happen, child, | | ANYTHING can be. | | | | Poem by Sal Silverstein | +=================================+