Algunas de las cosas que veo:
T1CON = 0x80; //Initialize Timer Module
0x80 ??? justamente ese bit no afecta en nada... Le pondria 0x00 si quisera poner a 0 los preescaler y apagar el Timer.
TMR1IF = 0; //Bandera TMR1IF a 0
TMR1ON = 0; //Apagar temporizador
A no ser que te pusiste a definir cada uno de los pines, podrias haber realizado:
T1CONbits.ON = 0;
El mismo nombre del registro + "bits" y eso es una estructura que cuando pones el punto te aparecen todas las opciones.
Otras cosas del Timer.
Pienso que seria correcto el activar RD16 (T1CON) asi TIMERH se guarda al momento de leer y poder leer correctamente.
Tambien te olvidaste setear la entrada correcta de reloj.. Me refiero al registro T1CLK, Para 0000 que es el reset, tenes que el reloj se alimenta por un pin externo del PPS, para 0001 tenes que es Fosc/4, que a 4Mhz es 1us cada pulso si no tenes preescaler y creo que eso es lo que buscas.
--------------------------------------------------------
Y luego 50ms entre lecturas, vos tenes que pensar que vas a estar actualizando el LCD cada 50ms, y eso si es una locura,, al menos para probar ponele 500ms