> > 4MHz PIC has an internal cycle time of 1uS > > So thats 5000Hz or 200uS between edges If you're using IntRC, be aware it varies with Vcc and temperature (In fact an 18F452 with R = 3k3 will swing between 600 - 550MHz, peaking at !! 750MHz !! with just 2.5V Vcc ! Check out Fig 23-14 of DS39564B. Oh, if only it did......) There have been a few threads about RPM meters for car engines, might be worth looking up > If you're getting that much resolution, then throwing most of it away If this were a frequency meter you might be switching between two methods to get the best accuracy - for low frequencies, measure the period directly - for high frequencies, sample and average 'low' and 'high' are relative to the PIC's speed If the 5000Hz is the average and you're happy to have a 1Hz update, perhaps - count all the pulses and calculate at 1Hz - count with T0CKI and compare TMR0 rollover time with another timer, using this as data for a moving average, updated at around 20Hz (TMR0 = 8-bit) that's calculated and displayed at 1Hz Use maths (slower, probably better resolution) or, as Dave suggested, a lookup table (faster, but can be a pain to set up and change) -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist