> My fosc is 32 MHz. > By using a 32 bit prescaler i get 1MHz I think you mean divide by 32. And your instruction clock rate is only 8MHz, not 32MHz. A /32 pre-scaler reduces this to 250kHz (= 4us per count) > I let the timer fire an interupt on overflow and reload it with 0xffff - > 0x3E8 So, your count rate is 250kHz and you're loading Timer0 with -1000d = a rollover rate of 1000*4us = 4ms, or x4 the time you expected > But this give the wrong result. Instead if I change the prescaler to 4 > the timing is OK I'm not sure if I've missed something in your description : A /4 pre-scaler puts the count rate at 2MHz = 0.5us/count. 1000 counts would = 0.5ms. It would appear to me that a /8 is needed to produce a 1MHz count rate = 1ms from a 1000 count -- http://www.piclist.com hint: PICList Posts must start with ONE topic: [PIC]:,[SX]:,[AVR]: ->uP ONLY! [EE]:,[OT]: ->Other [BUY]:,[AD]: ->Ads