With Timer1 configured for 16-bit read/write, you need to write to TRM1H
first, then write to TMR1L.
So change;
TMR1L = 0 ' clear TMR1 low
TMR1H = 0 ' clear TMR1 high
To;
TMR1H = 0 ' writes to TMR1H buffer
TMR1L = 0 ' writes TMR1H 'buffer' to TMR1H register & writes to TMR1L
Bookmarks