:: I think he was being :: sarcastic with the C I didn't even mention 'c' ! Now it is true that as it stands the algorithm I was talking about counts in seconds, and from this any count or period is possible. A little jiggery pokery by extending the algorithm to possibly 32 bits rather than 24 ought to work. I'm really not interested in trying this out for myself, so someone else will have to prove or disprove the theory. And for anyone who moans about the lack of comments - tough! The information commented is on my website and in the Piclist Archives by the originators of the algorithm. Freq = 6.167 clk = 6.167/ 4 = 0x178676 For a period divide the above further by the period required. tickHi = 0x17 tickMid = 0x86 ticklo = 0x76 add 1 to tick mid, then countdown tickMid until it is zero movf tickmid,F btfsc STATUS,Z decf tickhigh,F decfsz tickmid,F goto end of interrupt movf tickhigh,F btfss STATUS,Z goto end of interrupt tickhigh = COUNTH tickmid = COUNTM ticklow = ticklow + COUNTL btfsc STATUS,C tickmid+=1 ; One second has passed. In 'C' void Interrupt() { if(INTCON&(1<