How to compute Timer1 period?
Two things to recognize:


the timer is an upcounter that interrupts on overflows at which
point you should reload the start of the upcounter.
the frequency is the output of the PLL if you have one configured



= (f_osc / 4)^-1 * prescaler * (65535 - TMR1)
= (16MHz / 4)^-1 * 1 * (1000)
= 250us



Where timer is being used as a 16-bit timer and TMR1 is the value written to TMR1.  I like to specify the preload as a negative number because it's more intuitive than seeing something as less than UINT16_MAX:

#define TIMER1_TIME  (-1000)

void InitTimer1(void) {
  T1CONbits.T1CKPS = 0b00;              // Prescaler is divide-by-1
  T1CONbits.TMR1CS = 0b00;              // Clock source is (f_osc / 4)
  TMR1H = TIMER1_TIME &gt;&gt; 8;             // Load the start of the upcounter
  TMR1L = TIMER1_TIME &amp; 0xFF;
  IPR1bits.TMR1IP = 1;                  // Set to high priority
  PIR1bits.TMR1IF = 0;                  // Clear interrupt flag
  PIE1bits.TMR1IE = 1;                  // Enable interrupt
  T1CONbits.TMR1ON = 1;                 // Turn on the the timer
}

void MyIsr(void) {
  // Reload the start of the upcounter
  TMR1H = TIMER1_TIME &gt;&gt; 8;
  TMR1L = TIMER1_TIME &amp; 0xFF;
}