Paso 4: Cambio de registros
Justo en este momento tenemos tres valores:-
minFivesBar1 (8 bits utilizados para LSB de la segunda fila)
minFivesBar2 (3 bits utilizados para el MSB de la segunda fila)
minBar (4 pedacitos usados para la primera fila)
Ahora solo quiero utilizar 3 registros de cambio, por lo que es necesario combinar minBar y minFivesBar en el mismo registro, que afortunadamente es fácil de hacer.
Archivo gire el minBar 3 veces y añadir al registro.
es decir
Esto deja una última posición en el registro de 8 bits y que utilizará para el segundo pulso y ejecutado por determinar donde los segundos es par o impar y luego agregando 128 el archivo según sea necesario. El código parece algo así como...
Mientras escribía esto no parece correcto por lo que al final verificar no sólo si el número era aún pero también si (y) mayor que 128.
Las horas otra vez deberemos, en primer lugar dividir por 5 y trabajar el módulo esto le dará los dos números, entonces como antes de la "corriente" total y luego store los dos valores de 4 bits en uno registro por archivo de rotación un valor 4 veces así que ocupa el MSB 4 y sumarlo al número que está en los 4 LSB.
El comando para conducir el registro serial 595 es muy fácil y requiere 4 argumentos.
que pines para datos
que pin usar reloj
Si desea enviar MSB LSB primero
Envío de datos.
Una vez que el comando se ha ejecutado los datos entonces necesitan engatillarse estableciendo la clavija de enganche pertinentes bajo luego alta.
Ajuste
No estaba muy seguro de cómo iba a ajustar este reloj cuando empecé a construir, pero luego decidí que ya tenía suficiente repuesto entrada tengo 4 botones y cambiar y generar una rutina de sub para el RTC dependiendo de que se presiona el botón. También he realizado un reloj GPS que puede ser usado para comparar la RTC
GPS y correcto como requerido (pero eso es para otro instructivo!)