Paso 5: programación
Puesta en marcha:
Cuando se enciende el microcontrolador lee el reloj y se asegura de que el reloj corre a poco ajuste 7 de registro 0 (osciloscopio permiten poco) a 0. Como indica la hoja de datos, esto es necesario porque no se define el estado inicial de encendido de los registros.
Entonces el primer alarmtime necesario es leer de la memoria y almacenado en las variables apropiadas.
Principal sub lazo y alarma:
Después de esto el programa entra en su bucle principal. Cada segundo el microcontrolador lee el reloj y lo compara con los datos de la memoria. Cuando hay un partido el programa va a la subrutina de alarma.
En la subrutina de alarma que el programa decide qué tambor debe girar dependiendo del día de la semana y después de lo hace avanzar 3 pasos. Cuando el movimiento se hace suena una alarma y sólo se detiene cuando hay una interrupción en uno de los 2 botones.
Después de que la alarma se detiene, el sistema lee el siguiente alarmtime de la memoria y vuelve a su bucle principal.
Configuración:
En modo configuración, se utilizan 2 botones para ajustar toda la máquina. Ambos botones son interrupciones y cada vez que se presionan el valor de su variable aumenta en 1.
La variable de uno de los botones le indica al sistema qué datos deben establecerse y la otra variable da el valor. De esta forma que podemos configurar todo con sólo 2 botones.
Después de ajustan todas las variables, el microcontrolador escribe todo en el reloj y la memoria y vuelve al bucle principal.