No. You don't have to do that.If I understand you correctly, you are saying that you want TIMER1 to interrupt every 1ms. And you don't think you can clock it to do that with the oscillator being an 8 MHz crystal x 4 PLL or 32MHz.
I don't see the problem. You don't even need the prescalar.
Fosc is 32 Mhz.
TIMER1 is clocked by Fosc / 4 which is 8 MHz.
Load TIMER1 with (65536 - 8000) and it will interrupt after 1 msec. It is tricky to do this continuously because you have to allow for the instruction cycles from when the interrupt occurred to when it is reloaded. But I have done this before on PIC16s and it works just fine.
Configure your timer for capture compare. Have the timer run continuously at 8MHz without ever stopping.
Every time you receive a capture compare interrupt, add 8000 to the capture compare register. Done!
If you want to run at 32MHz, just add 32000 to the capture compare register.


