si lo quieres comprender al 100% empieza por diferenciar lo que es un modulo de un pic y una interrupcion. los modulos son como el timer1, timer2, CCP, Comparadores, USART, etc. etc segun cada pic.
esos modulos necesitan configurarse mediante registros y pueden la mayoría, cierto pre-diseñadas situaciones generar una interrrupcion, una interrupcion que genera el modulo significa que "pare" lo que esta haciendo por hacer lo que le digas dentro de la rutina de interrupción, normalmente se tiene que borrar una bandera(flag) que se genera al interrumpirse el programa, para que se vuelva a habilitar la interrupcion.
para leer los registros (que son totalmente independientes y diferentes a una interrupcion), solamente pones en cualquier parte de tu codigo ya sea el bucle principal, una sub-rutina o la rutina de interrupcion:
Código:
Varia var Byte
Varia=tmr0
tmr0 es un registro y
varia es una variable de 8 bits igual que el registro.
Edito:
y yo tambien pienso que no es necesario utilizar la interrupcion del timer0 para hacer un tacometro.