Hola Sergio, a ver si lo explico bien y resumido:
Por una parte, el registro cuenta1 se va incrementando con cada interrupcion del TMR0, independientemente de la rutina donde esté el programa y siempre que esté habilitado
Por otra parte y ya en la rutina de giro a izquierdas: (explicacion solo de los calculos de tiempo):
1º se comprueba si el valor de cuent1 a llegado a 256. Si es que no, pues salimos del programa y esperamos a que llegue al valor de cuenta1=255
2ºSi ha alcanzado ese valor entonces, el valor de cuenta1 lo resteamos cuenta=0 y ademas aumentamos el segundo contador cuenta2. en ese momnto y segun los calculos iniciales:
tmr0 con el valor de 61 y que con preescaler de 256 tendríamos una interrupción cada 49,92ms.
- En tu captura el registro conta1 ha contado 255 veces luego de momento tenemos=49,92msg por 256 veces tenemos un tiempo parcial acumulado de 12.779,52msg=12,77952
3º Como no llegamos al tiempo que necesitamos, el registro cuenta1.
4º A continuacion comprobamos si ese registro ha llegado al valor final de la cuenta y si no lo ha alcanzado entonces como hemos reseteado el registro cuenta1, empieza otra vez a contar desde 0 hasta 255, momento en el cual una vez alcanzado se repite la accion, incrementando el registro cuenta2 otra unidad.
De esta manera cuendo el registro cuenta 2 haya alcanzado el valor 2(por ejemplo) habrá transurrido un tiempo de 2 veces el tiempo de cuenta1 es decir 2 veces 12,77952s (valor indicado en el punto anterior) y por tanto tendriamos ya unos 25sg. aproximadamnete.
5º Se vuelven a repetir los pasos 1 a 4, hasta que se alcance el valor del registro cuenta2. En ese momento lo que se haria seria incrementar un tercer registro cuenta3 repitiendose todo el proceso, pero en este caso se resetearian los registros cuenta1 y cuenta2 antes de empezar la nueva cuenta para que el registro cuenta3 se incremente y legue al valor calculado.
Respecto al TMRO efectivamente en un principio se cargo con el valor de 61 y es el que utiliza para realizar la cuenta de las interrupciones. Y ese valor SI se carga en un registro del TMRO porque el TMRO es un registro que cuenta de manera ascendente.
No se si es eso a lo que se refiere tus preguntas, básicamente es incrementar una serie de registros de manera escalonada hasta llegar al valor deseado.
Si no eso tus preguntas dimelo y trataremos de que lo entiendas.
En el doc te he dejado algunas correciones casi al final y te las he puesto en rojo. Tambien te adjunto solo la rutina del giro a izquierdas.
Fermin