I get 66.18msec intervals. I'd like to bring that down to 65msec.

MultiCalc says 536 decimal pre-load gives 65mSec (32MHz, 16bits, 1:8)

How do you store 536 in TMR1H and TMR1L?

I manually get this in binary for 536:
00000010 00011000

In decimal, that gives 2 24.

Code:
#CONFIG
    __config _CONFIG1, _FEXTOSC_OFF & _RSTOSC_HFINT32 & _CLKOUTEN_OFF & _CSWEN_OFF & _FCMEN_ON
    __config _CONFIG2, _MCLRE_ON & _PWRTE_OFF & _LPBOREN_OFF & _BOREN_ON & _BORV_LO & _ZCD_OFF & _PPS1WAY_OFF & _STVREN_ON & _DEBUG_OFF
    __config _CONFIG3, _WDTCPS_WDTCPS_11 & _WDTE_OFF & _WDTCWS_WDTCWS_7 & _WDTCCS_LFINTOSC
    __config _CONFIG4, _WRT_OFF & _SCANE_available & _LVP_OFF
    __config _CONFIG5, _CP_OFF & _CPD_OFF
#ENDCONFIG

include "I:\Project_v2\PBP\PBP_Includes\DT_INTS-14_16F18877.bas"
include "I:\Project_v2\PBP\PBP_Includes\ReEnterPBP.bas"
ASM
INT_LIST  macro    ; IntSource,        Label,  Type, ResetFlag?
        INT_Handler    TMR1_INT,  _ToggleLED1,   PBP,  yes
    endm
    INT_CREATE               ; Creates the interrupt processor
ENDASM

DEFINE OSC 32
ANSELA = %00000000
ANSELB = %00000000
ANSELC = %00000000
ANSELD = %00000000
ANSELE = %00000000
TRISA = %00000000                       
TRISB = %00000000                       
TRISC = %00000000                         
TRISD = %00000000                        
TRISE = %00000000

T1CON = %00110001                                   ' 1:8 Prescale, Enables Timer1
'   bit 7-6 Unimplemented: Read as ‘0’
'   bit 5-4 CKPS<1:0>: Timer1 Input Clock Prescale Select bits
'        ---->  11 = 1:8 Prescale value
'               10 = 1:4 Prescale value
'               01 = 1:2 Prescale value
'               00 = 1:1 Prescale value
'   bit 3   Unimplemented: Read as ‘0’
'   bit 2   SYNC: Timer1 Synchronization Control bit
'                   When TMR1CLK = FOSC or FOSC/4
'                       This bit is ignored. The timer uses the internal clock and no
'                       additional synchronization is performed.
'                   When TMR1CS<1:0> = (any setting other than FOSC or FOSC/4)
'               1 = Do not synchronize external clock input
'               0 = Synchronized external clock input with system clock
'   bit 1   RD16: Timer1 On bit
'               1 = All 16 bits of Timer1 can be read simultaneously (TMR1H is buffered)
'               0 = 16-bit reads of Timer1 are disabled (TMR1H is not buffered)
'   bit 0   ON: Timer1 On bit
'        ---->  1 = Enables Timer1
'               0 = Stops Timer1 and clears Timer1 gate flip-flop

T1CLK = %00000001                                   ' FOSC/4 Timer1 Clock
'   bit 7-4 Unimplemented: Read as ‘0’
'   bit 3-0 TxCS<3:0>: Timer1/3/5 Clock Select bits
'               1111 = LC4_out
'               1110 = LC3_out
'               1101 = LC2_out
'               1100 = LC1_out
'               1011 = TMR5 overflow output(3)
'               1010 = TMR3 overflow output(2)
'               1001 = TMR1 overflow output(1)
'               1000 = TMR0 overflow output
'               0111 = CLKR output clock
'               0110 = SOSC
'               0101 = MFINTOSC                     ' 1.05msec @ 32MHz with no preload
'               0100 = LFINTOSC                     ' n/a
'               0011 = HFINTOSC                     ' 16.56msec @ 32MHz with no preload
'               0010 = FOSC                         ' 16.54msec @ 32MHz with no preload
'        ---->  0001 = FOSC/4                       ' 66.18msec @ 32MHz with no preload
'               0000 = TxCKIPPS

    TOGGLE PortB.4
    TMR1H = 2 : TMR1L = 24
'    TMR1H = 4 : TMR1L = 161
    PIE4.0 = 1                                  ' Activates Timer1

Main:
    TOGGLE PortB.5                              ' Heartbeat
GOTO Main

ToggleLED1:
    PIE4.0 = 0                                  ' Stops Timer1
    TOGGLE PortB.4
    T1CON.0 = 0                                 ' Resets Timer1 gate
    T1CON.0 = 1
    TMR1H = 2 : TMR1L = 24
'    TMR1H = 4 : TMR1L = 161
    PIE4.0 = 1                                  ' Restarts Timer1
@ INT_RETURN

TMR1H = 2 : TMR1L = 24 gives 65.6mSec intervals according to Logic.


I have to use TMR1H = 4 : TMR1L = 161 to get 65.05mSec (after a lot of trial and error).

I must be doing something wrong...?