WBR, Thanks so much. What you state makes complete sense to me. I should be able to fix the routine to account for the current lower limit problem based on your help. I'm still not sure why the result varies approximately a quarter to a half hertz though. Thanks again! Fran > ---------------------------------------- >> Date: Sat, 6 Mar 2010 16:15:37 +1300 >> From: joecolquitt@clear.net.nz >> Subject: Re: [PIC]:How to measure low frequencies with PIC >> To: piclist@mit.edu >> >>> doesn't work below about 1200hz >> >> Fran, here's why (as I see it) >> >> PIC processing speed = 5MHz >> Timer1 can record 65,535 before overflowing >> 16 waves to count >> >> 700Hz = 7,143 cycles @ 5MHz => * 16 = 114,286. Too many for >> your measurement routine. The result is Timer1 = 48750 and TMR1IF >> set (a total of 65536 + 48750). Your s/w can add a 'TMR1IF set' test >> >> Re your observation that ~ 1200Hz is the lower limit >> >> 65,535 / 16 = 4,095.9 cycles per wave = 1221Hz >> >> Using a 2:1 pre-scaler that will extend the lower limit to 610Hz >> >> Your 1/25th Hz precision is still well within spec with a pre-scaler. At >> 4kHz 1/25th of a wave is 10 cycles. A 2:1 pre-scaler reduces this to 5 >> cycles for just one wave measurement. At 512 waves the reduction / >> error is negligible >> >> wbr -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist