¿Nuevo reloj digital de tiempo de tierra (red) en caso de retro-moderno reciclado (4 / 6 paso)

Paso 4: Microcontrolador código

Aquí está el código fuente para el reloj en conjunto (.asm) y hexadecimal (.hex), compilado para el PIC16F627A.  El código está bastante bien documentado, pero aquí está una explicación rápida de lo que está pasando en el.

Explicación del código:

Cronometraje:
La relación mágica para convertir tiempo regular al nuevo tiempo de la tierra es de 0,25 minutos neto por 1 segundo (o 1 minuto neto para cada 4 segundos de tiempo transcurrido).  Se calcula con los cocientes 360 grados red por 24 horas y 60 minutos de red por cada grado de la red.

A cuenta de la red, el código utiliza Timer1 incorporado del PIC (TMR1) módulo con un cristal de 32,768 kHz externo para timekeeping.  Para lograr la relación mágica de 1 minuto neto por 4 segundos, podemos utilizar el registro de 16 bits TMR1 con un prescaler de 1:2. (Desborda el TMR1 16 bits 65536 cuentas, cristal funciona a 32768 cuentas por segundo.  65536/32768 = desbordamiento cada 2 segundos.  Sólo tiene que añadir en el prescaler de 1:2 y listo!  Interrumpir cada 4 segundos!)

Pantalla:
El PIC se ejecuta en el oscilador interno de 4MHz.  Se analizan las cinco pantallas de LED de 7 segmentos en un intervalo fijo controlado por Timer0 (TMR0).  Cada vez que se desborda el TMR0, el PIC se cambiará a la siguiente pantalla (multiplexación por división de tiempo).  La clave de división de tiempo multiplexación de displays es escanear como rápidamente como sea posible y a intervalos regulares.  De lo contrario, el ojo percibirá parpadeo en la pantalla.

Tiempo/botones de configuración:
Puesta en hora se realiza mediante dos botones - un botón de incrementos de grados de la red y una red minutos. Los botones son supervisados continuamente por el PIC en el bucle principal del programa.  Para ahorrar pines de I/O, los botones están conectados a lo que normalmente es un pin de salida. Cuando el PIC para el estado de botón, interruptores pin I/O a la entrada y toma una lectura.

Cuando se detecta una pulsación de botón, el programa va a una función de ajuste de tiempo específica a cada botón.  Esta función incrementa la variable de seguimiento de tiempo, al igual que la interrupción del TMR1.  Una sola vez incrementará el paso de un reloj, mientras sostiene que el botón resultará en continuo avance.  Hay una función de retardo en el código debounce la prensa inicial y la sincronización para el avance continuo.

Artículos Relacionados

Reloj Digital de pared-E

Reloj Digital de pared-E

Hola a todos, estas navidades me han dado este bonito reloj de Wall-E pero por desgracia es muy ruidosa y durante la noche era insoportable, así que he pensado de convertirlo en un reloj digital.Paso 1: Abra el reloj digital En el reloj digital cuboP
Diseño de la lógica secuencial para un reloj Digital de aprendizaje

Diseño de la lógica secuencial para un reloj Digital de aprendizaje

Este instructable es para que dos propósitos 1) entender y aprender que los fundamentos de la lógica secuencial 2) utilizan ese conocimiento para crear un reloj digital.Relojes digitales han sido construidos por innumerables aficionados de electrónic
Reloj Digital de madera maciza

Reloj Digital de madera maciza

cómo construir un reloj digital de madera accionado por un atmega168 (arduino) con un detector incorporado y juegos.Primero pensé en hacer esto cuando vi un reloj LED cubierto por una chapa de madera. Me gustó cuando lo vi, hasta que vi el precio. Es
Reloj digital de números romanos

Reloj digital de números romanos

Un reloj Digital de números romanosVerlo en acción en las películas de quicktime adjunto!Hay muchas maneras de visualizar el tiempo en análogo y digital, pero uno nunca visto por la mayoría es un reloj digital de números romanos. He creado uno con la
Modelo de vuelta de reloj digital de "Johnny 5" alrededor de películas de la década de 1980

Modelo de vuelta de reloj digital de "Johnny 5" alrededor de películas de la década de 1980

Número 5 está vivo!Que ha derecho 1980 bozos. Me trajo el Sr. Johnny 5 regreso a la vida en este divertido nuevo instructable. Si usted sabe cualquier cosa sobre número 5, lo recordará como un robot grado ingenioso, amable, militar que es más humano
Reloj Digital Barebone rev2

Reloj Digital Barebone rev2

Hola chicos...Aquí le damos un seguimiento para el proyecto reloj digital que he publicado hace un año. No he considerado la deriva del módulo RTC! He encontrado la deriva que más pasado 1 minuto RTC para cada 21 días, que es enorme. Esto es ya despu
Completo reloj Digital con Sensor de presencia (RTC - alarma - PIR - temperatura - humedad - punto de rocío)

Completo reloj Digital con Sensor de presencia (RTC - alarma - PIR - temperatura - humedad - punto de rocío)

HolaYa he hecho algunos proyectos de relojes digitales con Arduino como pantallas LED y LCD, pero este es más especial porque he introducido una novedad con un sensor de movimiento (PIR).Ver VIDEOCaracterísticas principalesPIR (Sensor infrarrojo de p
Nintendo Game Boy se convirtió en un reloj Digital

Nintendo Game Boy se convirtió en un reloj Digital

En este instructable te voy a mostrar cómo hice mi propio reloj digital temática de videojuegos retro de un viejo roto a Nintendo Game Boy.Lo que necesita; Un viejo roto Nintendo Game Boy no le importa cortar, barato reloj despertador digital sobre e
Reloj digital Numechron

Reloj digital Numechron

Mi diseño de reloj Digital Numechron fue inspirado por el reloj digital Pennwood modelo 1364. Relojes de este tipo se originaron en la década de 1930 y fueron construidas hace muchos años por las empresas Pennwood y Lawson en muchos diversa madera, m
Reloj Digital DIY

Reloj Digital DIY

¿Has sido realmente aburrido y necesitaba diversión proyecto DIY para hacer? Bien, ¿has pensado en hacer un reloj digital, impresionante y super que usted realmente puede decir la hora con? Así que realmente debe seguir estos pasos impresionantes. ¡Q
Gran reloj Digital 7 segmentos

Gran reloj Digital 7 segmentos

usando sólo 2 condensadores, resistencias de 3, 4 gran Display de siete segmentos, 1 xtal, 2 interruptores y 1 microcontrolador PIC, se puede construir este circuito Reloj Digital Led.puede utilizar ánodo común o display de cátodo común, sólo tienes
Reloj digital personalizado de madera y Jeep VIC

Reloj digital personalizado de madera y Jeep VIC

fue currican mediante el depósito de chatarra en la habitual sección de Jeep un tiempo atrás y me encontré con el Grand Cherokees. He visto que casi cada uno de ellos todavía tenía la información del vehículo centro de pantalla todavía en ellos. Vist
Reloj Digital casera de TTL circuito 24 horas

Reloj Digital casera de TTL circuito 24 horas

después de tomar una clase de intro-nivel EE en mi local community college me decidí a hacer un reloj digital con ICs básicas y displays de 7 segmentos. Las imágenes anteriores muestran el proceso de elaboración a lo largo de un mes.Fácilmente se pue
Caja del tejido y Reloj Digital Mash-Up!

Caja del tejido y Reloj Digital Mash-Up!

Bueno, aquí es una digital caja de reloj y tejido... PURÉ PARA ARRIBA!!!!!!* dun dun dun!!!!!! *de todos modos...Tengo un reloj digital en destino para $5,00 (+ IVA por supuesto), y lo tuve por mucho tiempo.Pero muchos Instructables me inspiró para h