Bueno así por encima comento el archivo fuente, los hago siempre "todo en uno", chip y especificación de funcionamiento, asignación de pines hardware, registros y variables también valores por defecto al arrancar.
Una vez en el código lo primero es la RSI rutina de servicio a las interrupciones, que hace lo que su nombre indica, después se cargan registros y se establecen los parámetros con los que se va a funcionar.
En bucle es donde esta el lazo principal del programa, y cuyo flujo es modificado según el evento que se produzca, una pulsación, una interrupción o por un reed por ejemplo, al final están las rutinas que mas utilizo, entre ellas la weep que es la encargada de escribir en la eeprom, excepto las de Microchip, las demás son creadas por mí.
Este archivo es solo para su uso con fines didácticos.