Allegria ! el relojero loco está de vuelta !!
El título es deliberadamente provocativa, ya que habría sido:
I DISPLAY A MATRICE: HW SW TÉCNICO Y USO
Esto se debe a lo que voy a describir es la pantalla de matriz de puntos 8×8 (7×5 8×5) tratando de comprender los métodos tanto de hardware como de software para su uso. Por esta produje algunos prototipos (fueron estas estado de la técnica) relojes digitales que usan sólo estas matrices. Se afirma que las características de HW son casi idénticos (sólo cambia el pasador) tanto el ánodo común de que el cátodo común. Así que antes de entrar específicamente en’ basándola en un video para mostrar algunos de estos prototipos.
nótese bien: para visualizar vídeos: el destino clic sul enlace: se abrirá un cuadro de diálogo que le pregunta si desea abrir o guardar el archivo. Los vídeos pueden verse con Windows Media Player o similar para archivos WMV.

Este video demuestra cómo una simple matriz 8×8 Puede mostrar un reloj “RAIL”. Si hubiera pensado en el tiempo cuenta atrás en lugar de la ya presentada en otro artículo mío !

En este video, los valores de reloj individuales se visualizan punto por punto: la secuencia muestra la formación de los valores a partir de la izquierda con las decenas de horas y luego a seguir hasta el minuto. La segunda exploración se visualiza por un tercer LED / píxel desde la izquierda en la pantalla.

grandes caracteres que componen las horas, los minutos y los segundos para desplazarse de derecha a izquierda de forma indefinida. Teniendo en cuenta el tiempo necesario para la formación del carácter, se pierde alrededor 2/3 segundos entre el completo y la pantalla subsiguiente.

En este último vídeo de un reloj “en las palabras”. En este caso no utilice una pantalla de matriz de puntos, pero un dispositivo en particular: la DL2416T. Se trata de una pantalla “inteligente” compuesto 4 dígitos con múltiples segmentos que pueden mostrar números, letras y algunos caracteres especiales. este dispositivo, ahora obsoleto, Ahora está disponible en versiones actualizadas, pero por desgracia, bastante “querido”. Los que están en mi posesión derivan de la canibalización de algunas impresoras matriciales de los años 80/90. Como se puede ver en el vídeo, esto se terminó el único prototipo (PCB con la pantalla y la parte “principal” con micro Arduino_Nano y la electrónica de control).
CARACTERÍSTICAS DE pantalla de matriz
En Internet hay muchas imágenes y ejemplos sobre el uso de estas matrices: Ellos pueden ser una ayuda para su uso específico appronfondire. Sin embargo, muchos ejemplos son superficiales y, en mi opinión, no exhaustiva. Entonces, ¿qué voy a describir es sólo el resultado de los estudios y experiencias personales. Cualquier referencia es pura coincidencia.
En la siguiente figura se puede observar: la pantalla 8×8, el módulo que alberga tanto la pantalla de su controlador (MAX7219), el diseño lógico asignado y gestionado por boceto, y, finalmente, la asignación de pines de la matriz en el módulo. L’ alojada en la orientación del módulo de visualización tiene una única posición (8 derecho y el pin 8 a la izquierda) por lo que si se coloca boca abajo, obviamente, no se encenderá correctamente. A partir de la cuarta cifra puede verificar la asignación de la clavija de pantalla con los del controlador (MAX7219), por lo tanto, se puede deducir que son los cátodos (Yo llamaré “DÍGITO“) y cuáles son los ánodos (Yo llamaré “SEGMENTOS“). La pantalla en cuestión es el cátodo común.
La razón por la que llamé los cátodos “DÍGITO” y ánodos “SEGMENTOS” Se trata de la forma en que se gestiona desde el hardware o el software, la pantalla y el controlador asociado. Estas pantallas pueden ser comparados con la pantalla 7 segmentos + 1 definida como “UN”, “segundo”, “do”, “re”, “mi”, “F”, “GRAMO”, “DP” (punto decimal o octavo segmento). cada columna 8 LED / pixel de la matriz (véase la tercera cifra) Puede ser una pantalla 7+1 segmentos y a continuación, una matriz se puede comparar con una cadena de 8 pantalla segmentada. Para encender un LED único / pixel es suficiente para aplicar el pasador “cátodo” de la columna a tierra y la clavija “ANODO” el segmento solo a un valor lógico “1” (+5V caída a través de R). mi’ claro que con el fin de formar un carácter o un número es necesario encender llevado / píxeles de acuerdo con un formato predeterminado al mismo tiempo, (Persistencia del'immagine al ojo): o utilizar multiplexación. No tiene sentido para conectar dígitos y segmentos (8+8 alfiler) a las salidas de un microcontrolador (con resistencias obviamente caen) y complicaciones innecesarias programáticas.
En mis proyectos siempre solía pensar que la “Principe” de “registro de desplazamiento” porque con solamente 3 pin capaz de conducir una cadena de 8 matrices conectados en cascada entre sí o 8 una pantalla 7 segmentos. Con una limitación (A continuación, veremos que no es) : sólo los módulos “cátodo común”. este chip (bajos costes si un módulo con gran parte de la pantalla vale la pena 1,5 un 5 euro) es el MAX7219. Las principales características:
- 3 PIN para la conducción (CARGA / CLOCK / DATA_IN).
- multiplexación integrada.
- regulable programado.
- Pin DATA_OUT para conectar otra pantalla.
- Gestiona indistintamente tanto a la visualización de segmento que las matrices.
- 7 Para la operación y los controles 8 per i dígitos.
- Limitación de brillo, incluso desde el exterior con la recortadora.
Cómo usar y programar el chip MAX7219
El uso de este chip ahora para todos los proyectos relacionados con la gestión de la pantalla es una matriz o matriz de LED segmentados también para RGB. Acerca de RGB LED poco publico el “ESTRELLA DE LA NAVIDAD” aunque no es la temporada !. Profundizamos luego con el chip y el PIN de los diversos registros:

DG0 / DG7 conducir los cátodos de la pantalla, SEG_A / SEG_DP Volar los ánodos de la pantalla. Per i mostrar una matrice DG0 / DG7 Se refieren a las columnas mientras SEG_A / DP Se refieren a la columna de LEDs individuales / pixex. L’ asignación de segmento / LED y su valor binario se debe configurar en el registro “DATOS” teniendo en cuenta que el bit “DP” valle 128 (0x80). el pasador DE Es en relación con los datos de entrada , alfiler Cargar / Cs seleccionar el chip, alfiler CLK proporciona un reloj y, finalmente, el pasador DOUT Es lo que permite la conexión en cascada de otro chip para un máximo de 8. última horquilla “LO PUSE “para ajustar el valor de brillo mediante la conexión de un R 10K (uno un condensador de ajuste) al polo positivo.
Vamos a ver los registros:

Uso y significado de los registros individuales:
- Registro 0: poner a “0x00” Sólo sirve para mostrar en las cadenas. (0VVER sin funcionamiento de la indicación específica).
- registros 1/8: Estos son los registros que se ocupan de los segmentos individuales para el encendido de segmentos individuales (ver REGISTRO formato de datos).
- Registro 9: Decode_Mode: Se necesita chip para ver si se utiliza el código BCD o ninguno.
- Registro 10: Cambiar brillo. valor a 0 un 15. Con un valor de cero no va a salir de la pantalla, pero su brillo mínimo. Puede hacer que los efectos luminosos con lo que este registro de 0 un 15 de una manera progresiva y cadenciosa.
- Registro 11: límite de exploración: de hecho, debe indicar cuántos dígitos se escaneó: una mesa en la ficha técnica se muestran los valores que se asignarán.
- Registro 12: modo de funcionamiento (Apagar). Alternando el valor de este registro (la 0x00 un 0x01) Usted se obtienen mediante el encendido o apagado de la pantalla (sin perder ningún valor actual). Se puede ayudar a crear el efecto de parpadeo alternando los dos valores medidos camino.
- Registro 13/14: no.
- Registro 15: Device Test: se obtiene el encendido de todos los LEDs conectados.
Básicamente para ejecutar un comando específico, por favor envía al chip 2 byte: la dirección del registro y el valor que debe asumir en función de la misma orden: por ejemplo, normalmente se inicia debe enviar la secuencia: “0C00“.
El software de gestión
Esta es la parte más interesante: cómo manejar estas pantallas. En la red, obviamente, se pueden encontrar numerosos ejemplos y bibliotecas y al principio me había descargado algunas de estas bibliotecas: LEDCONTROL mi LEDCONTROLMS y utilizado para las primeras pruebas . No estoy satisfecho son válidos, pero pesonalmente por eso he desarrollado mi beneficio de una “sui generis Biblioteca” capaz de gestionar tanto el cátodo pantalla ANODO domune. definí “sui generis” porque no estaba escrito en las líneas, pero es en realidad un archivo (.ino) que contiene todas las funciones necesarias y aplicado tanto para matrices que para 7 segmentos. mi’ basta con incluir este archivo en el boceto y luego hacer las llamadas. (Me reservo el derecho de convertir este archivo en una biblioteca real). Como las palabras iniciales de este artículo se refiere a las matrices vemos cómo se pueden manejar.
En primer lugar, debe definir el número de matrices debe ser entendido: uno o más. Si por una sola matriz, no hay problema en particular, cuando se trata de más de un connetterne deben aprobarse o una placa de circuito impreso o hacer conexiones de vuelo. Vemos esta figura:

La primera matriz está conectado a la micro con el perno clásico CARGA / DIN / RELOJ: lo que si es la única necesidad nada. A partir del segundo y siguientes conexiones CARGA / CLK están conectados entre sí, pero la segunda matriz (o el tercero y así sucesivamente) su DE Está conectado a DOUT de la matriz anterior. mi’ tarea del software de destino correctamente matrices. (Recuerde que el registro “cero” ?) . El uso de este pequeño módulo facilita las conexiones:

Las entradas son los observados antes y el pin de salida son VCC, GND, CARGA, CLK, DOUT. Para el prototipo de reloj de deslizamiento o en cascada, solía 4 mostrar alojados en este pcb:

A la izquierda de la clavija de entrada principal, en la parte inferior derecha de la patilla de salida para conectar cualquier otras matrices. El espacio de cada módulo está limitada por los rectángulos en rojo. No se pierda el pasador VCC y GND.
Estamos una vez dicho esto que hacemos los primeros pasos para la gestión. Las primeras operaciones se lleven a cabo en “preparar” de cualquier bocetos son: (de aquí en adelante para “DISPOSITIVO” identificar el chip y “MONITOR” los dígitos individuales o columnas de la matriz). Todas estas operaciones deben realizarse para cada “dispositivo” presente. Cabe señalar que cuando el sistema es, en la mayoría de los casos, que tendrá una auto-prueba del chip que se encenderá todos los LED de los cuales puede ser una buena idea para llevar a cabo estas operaciones antes que cualquier otro de lo contrario tendrá la persistencia de los LED iluminado.
- Asignación de contactos del chip de micro como salida.
- Hacer que el apagado para inicializar el chip.
- Ajuste el brillo.
- Se establece en la codificación.
- Ajuste el modo de prueba.
- establecer el “Límite de exploración”.
Todas estas operaciones se gestionan a través de una función en mi biblioteca definida como “Led_MX_Init” que pone en marcha los pasadores, realiza la inicialización y asigna el método “CÁTODO” la “ANODO” común. Para mayor comodidad para la depuración de esta biblioteca también añadí (a través de bandera en el init) La capacidad de ver salida en serie de los valores para ser enviados a los registros. Para el desarrollo de la biblioteca he implementado un esquema que, de serie, establecer un diálogo a través de un menú que permite la ejecución de todas las funciones de la biblioteca para ambas matrices para la visualización 7 segmentos.
Yo había especificado que el chip sólo puede gestionar el cátodo común de visualización: cierto hasta cierto punto, ya que también puede utilizar los ánodo común, pero las siguientes medidas:
- Un nivel de HW: invertir las señales DG0 / DG7 interponiendo un INVERTER HEX (74LS04). De esta manera ÁNODOS llega al valor lógico correcta.
- A SW livello: activar la bandera “ACMODE” la función INIT en la biblioteca. En la presencia de esta funciones de activación que gestionan los leds / pixel invertir el valor pasado a través de la’ función especial (Led_Value = ~ Led_Value;).
- En el estado de’ biblioteca de arte utiliza esta función sólo para la exhibición 7 segmentos.
Veamos ahora específicamente para cada uno de los primeros prototipos de reloj describen los métodos y trucos utilizados en el desarrollo de la misma. Como se trata de relojes, es evidente que necesitamos una RTC desde la que leer la hora y la fecha. No hay especificaciones particulares: se puede utilizar DS1307 la Ds3231 o el PCF8583 (vetusto modelo). Las únicas diferencias son la lectura de registros y método de decodificación. Por cierto yo no usar cualquier biblioteca para la gestión de estos RTC: Puedo acceder directamente a registrarse con las funciones de la biblioteca “cable“.
El reloj binario: Este es el más simple de todos los demás. El boceto gestiona un dispositivo (matriz 8×8) y después de la inicialización del dispositivo y comprobar el correcto funcionamiento del RTC, realiza un bucle en la función de “lazo” la lectura de los registros de los valores de tiempo de RTC, acta,segundo,día, mes. Como se forman estos valores “BCD” (las horas 12 Son en binario 0001 0010) sin decodificación no es necesario para su visualización. Volvamos atrás: Dije que la matriz puede ser visto como un conjunto de 8 pantalla en la que cada columna representa el 8 segmentos (7+1) cuya codificación se le asigna en el registro 1 para la columna 1, 2 para la columna 2 (y así sucesivamente para las otras columnas) respetando la codificación impuesta por el chip (ver figura “registrar los datos“). Así que el truco es: para cada columna de selección y luego se carga el valor “famosas 12 horas” Se asignan de la siguiente manera:

Y así sucesivamente para todas las demás columnas. Y la máscara cubre los bits cuya visualización no es necesario. Es entonces para controlar la columna de la viruta por columna (de 1 una 8 pero sólo si el concreto 1, 2, 4, 5, mi 7) y esto proporciona la función de biblioteca “LEDMTX_Setcolumn” que proporcionan el número de dispositivo, el número de la columna y su valor.
El reloj de deslizamiento: Esto es más complejo que el anterior, pero no complicado y es el único motivo’ algoritmo que determina el deslizamiento de los valores. Cabe en este contexto otro archivo (Led_Tabel.ino) que es en forma de arrays, ¿cuáles son las configuraciones binarias que deben asumir las columnas individuales para la representación de un carácter numérico (nueve a cero) para ambas matrices para la visualización 7 segmentos. Ahora bien, si estas pantallas de la configuración se determina y sin ambigüedades, para matrices que tiene una rejilla disponible de 8×8 LED / píxel se convierte en la libre elección de los desarrolladores para configurar los diversos números como la mayoría agrada.
He aquí un ejemplo: para pantalla segmentada el cero número tiene la siguiente configuración: 0111 1110. Cualquier punto decimal (segmento “DP“) Puede insertarse conduce a “1” mordía 8 o habilitando la bandera en la función apropiada. Así que un byte para cada número y la función que realiza la pantalla a la que apunta la matriz como una función del número. (punta cero del primer byte de la matriz, la segunda, y así sucesivamente).
Diferente es el sistema de matrices: De hecho, para el mismo número que se necesita también 8 configuraciones, a saber, un byte para cada columna. El mismo número cero se define como sigue: “0,60,98,82,74,70,60,0“. Los valores se expresan en decimal y la configuración es una elección personal. De ello se deduce que la función que muestra el número debe apuntar al primer byte de cada serie * 8 (“0” * “8” = “0” y señalando el primer byte; “1” * “8” = 8 y señalando el primer byte que configura el número uno). A continuación, la columna / columna hace que la visualización. La figura a continuación es un ejemplo de cómo pueden estar compuestos de los personajes en la cuadrícula 8×8.

Habiendo dicho esto, vemos lo que es el algoritmo ideado por mí, para mostrar los valores de un reloj deslizando de derecha a izquierda de la columna por columna. Deslizante está en 4 dispositivos para un total de 4*8 = 32 columna: A continuación, crear una matriz de 32 columna. Omito la parte inicial de la instalación (RTC, init del 7219 etcétera) y luego en el ciclo “lazo” hacer:
- La lectura de los registros de RTC
- La decodificación de los valores horas, minutos y segundos a fin de obtener los valores individuales de las decenas y unidades. Estos valores se utilizan para señalarle en el comienzo de la tabla de caracteres de los grupos individuales 8 byte.
- A partir del valor de las decenas de horas una rutina extrae el byte relativa por byte desde la configuración de la tabla y se inserta en la posición 32 array el valor extraído de una en una. Comience en este punto la matriz de exploración desde la posición “cero” muestra el contenido de la primera columna del primer dispositivo a la izquierda y continúa durante 32 posiciones (Los dispositivos son 4 conectados en serie). Una vez que esta exploración es que se desplaza a la izquierda por una posición a lo largo de la matriz, y el ciclo comienza de nuevo con el siguiente byte de configuración. Cuando se termina el ciclo 8 bytes que continúa con las unidades de horas hasta’ de la segunda unidad con el mismo sistema. Se obtiene así el efecto de deslizamiento. Pero entre las lecturas de la otra’ RTC y su pantalla completa se pierden 2/3 segundos por ciclo.
En este punto entra en juego un aspecto aún no se cuenta en el tratamiento de visualización. Como dije los dispositivos son 4 conectados en serie. Entonces también para dirigir todo el dispositivo (de principio a fin) sabiendo que cada comando se compone de 2 byte (Dirección / valor) Necesitamos enviar un conjunto de bytes igual al número del dispositivo en el que los valores objetivo y comandos:
O si el dispositivo es el cuarto secuencia es la siguiente: “0000 0000 0000 xxxx“. (Si el dispositivo fue la primera secuencia haría: “xxxx“)
Paloma: “0000” Es el código de OPERACIÓN NULL, “xxxx” es el comando que se enviará a la cuarta dispositivo (primera a la derecha). Pero la serialización del cuarto grupo de bytes (en la práctica la última). El chip recibe la primera 4 pero desde bytes en el ciclo también recibe posterior a cero, deslizando los distintos bytes de un dispositivo. A todo esto proporciona una función específica mediante la lectura de una tabla (preparado para 8 dispositivo) yo 4 obviamente, los valores a partir de la última. mi’ Pero la misma función que determina basa en el número de dispositivo para enviar muchos bytes.
Lo sentimos, pero es más fácil que hacer que decir. Espero haber sido claro, pero PRECAUCIÓN todo es relativo a la primera posición del dispositivo al que está asignado el número de 1.
El reloj en cascada: Aquí estamos más complejo, desde el punto de vista de la implementación, esos persentati hasta ahora. Confieso que he tenido algunos problemas en la construcción del algoritmo correcto para lograr el efecto que se vio en la película. Saltarse también aquí las operaciones estándar que se realizan en “preparar” para ir directamente al método de la invención. A continuación, el ciclo “lazo” Comenzar a leer los valores RTC, convirtiéndolos en de horas y minutos docenas, unidades de horas y minutos. Los segundos se visualizan mediante el parpadeo en el tercer dispositivo de izquierda, lED “DP” de la primera columna en función del valor del bit “1” segundo. De la película puede ser vista como un principio todas las matrices se configuran con los valores, mamá, cada matriz cambia sólo si el valor que se debe mostrar cambios en comparación con la anterior. Si cada valor leído de la RTC (decenas de horas o minutos, unidades de horas o minutos) cambia, a continuación, la actualización de su pantalla se activa. por lo que cada 60 segundo (“hacia” ya que la pantalla completa de una matriz ocupa un poco de tiempo) Se actualiza los minutos u horas, etc.. Para conseguir el efecto “cascada” de los LEDs individuales de cada columna que tiene que ser tomado de la tabla (Se produjeron tres para que pueda cambiar la fuente de datos) la de un solo byte (primera-octava) y comienza a parpadear el primer LED (poco 1) por 15 Sra, y luego continuar con el segundo pero hacerlo de manera que dicho anterior LED permanece encendido (de acuerdo con la configuración del carácter). La bytes cero se omite. El ciclo se repite hasta la finalización de los ocho bytes. Cuando este ciclo se pasa al siguiente carácter hasta la finalización. yo 15 retraso ms entre un flash y el otro son un compromiso entre velocidad de ejecución y efecto deseado. Claramente, el parpadeo de los segundos no será exacta, especialmente si cambian al mismo tiempo, la hora y el minuto.(la 23.59 un 00.00).
No es fácil describir este mecanismo, mí mismo incluso después de haber producido y modificar mediante la adición de parámetros variables, Casi no puedo ricomprenderlo (!!!). Si usted es un principiante en la programación, las rutinas están suficientemente comentados de entenderse.
El reloj de voz: Y aquí está la’ pasado (esperando, mientras tanto, para no tener que aburrido). También quería hablar de esto con el fin de hacer una comparación entre los diferentes módulos de pantalla: en este caso, sacó del cajón de las cosas viejas, pero aún completamente funcional, es el DL2416T una pantalla en particular hoy reemplazado por DLR2416. Por desgracia, este último es caro.
La diferencia entre los dos modelos podemos ver que con esta cifra:

La primera consiste en 4 pantalla segmentada (14 si no he contado mal) mientras que la segunda es una matriz de 7×5. Las características de visualización de éstos, compatibles ya que ambas funciones de los terminales, Pueden resumirse como:
- 4 dígitos individualmente direccionables (“00”, “01”, “10”, “11”).
- Dispositivos direccionables individualmente (dos pasadores de selección)
- borrable de forma individual.
- Conjunto de caracteres especiales, alfanumérica y numérica.
- Gestión automática de multiplexación.
- comida 5 un máximo de 6 V.
- Gestión del cursor
- Otras características en la ficha técnica de cada.
En la siguiente figura válida para los dos modelos, el pasador de conexión:

comprobamos: 2 pines para la selección (CE1 / 2), 2 pines para la gestión del cursor (CUS,SEÑAL), dos pasadores para la selección de dígitos (A0 / A1), alfiler CLR cancelación, alfiler BL para el apagado sin pérdida de valores (útil para el blincaggio), 7 alfiler (D0 / D6) para ENTRADA DE DATOS, Por último, el pasador NOSOTROS para la redacción del valor. Una transición alto-bajo-ALTO permite la escritura de lo establecido. experimentado valor óptimo: 5nos.
a continuación, la complejidad de la conexión a dos pantallas (como en el prototipo), Tenía que producir una placa de circuito impreso como éste:

He diseñado un circuito como dijo PCB sólo sirve la carcasa de las dos pantallas por pasadores de conexión en paralelo D0 / D6 y llevando a conectarse a “principal” i pin A0 / A1, NOSOTROS, CL1, CL2, BL1, BL2. me pin CUS mi SEÑAL en este contexto que no se utilizan y se ajustan a valores por defecto (nivel lógico “0” mi “1”). Una nota particular se refiere al pin CL1 / 2 mi BL1 / 2: de acuerdo con la hoja de datos para la cancelación de una pantalla o su abblencamento somos independientes de la selección de la misma pantalla: no puede ser (pero es una opción) conectado en paralelo si desea eliminar o desactivar la sola pantalla. Lo que esperaba más adelante en el software. Aquí en lugar de la placa de circuito impreso en la tarjeta principal para la micro Arduino_Nano y los dos 74HC595.

Vamos a pasar a continuación al corazón del prototipo.
Está claro que, dado el número de conexiones (6 por entrada de datos i) mi 9 para los comandos, Ellos se quedaron todos los pines ARDUINO (Uno o Nano para ser dejando de lado la Mega etc.), por lo que necesitamos un enfoque diferente, como puede verse en este diagrama de circuitos:

En el gráfico podemos ver 2 74HC595 (registro de desplazamiento) donde en el primero que se definen en las salidas de pin D0 / D6 en relación con la entrada de datos de la pantalla mientras que en el segundo se definen el pasador de comando: Cuando / A1, CL1 / 2, BL1 / 2, CE1 / 2. Los dos chips están conectados en cascada y de acuerdo con las reglas del registro de desplazamiento (recibir datos en serie para transmitir en paralelo). señal QH que se conecta a la entrada de datos el segundo.
El esquema está relacionada con la primera versión en la que no es estrictamente necesario para separar las señales OE, LA, CLK debido a que tarda la señal es de forma individual OE que controla la salida Soporte / Q7 (de lo contrario, están en alta impedancia). mi’ Sin embargo mi elección la separación de señales. la señal SEÑOR (reinicio maestro) Sirve para restablecer el chip. El pasador de mando están conectados al pin de Arduino; la señal “NOSOTROS” Es independiente del resto y se atribuye a otro pin micro.
En cuanto a los chips 7219 Puede definirse “inteligente” porque además de la función de registro de desplazamiento, necesitará de comandos para la activación de funciones, yo 74HC595 ellos son “estúpido” porque se limita sólo a la recepción de los bits en serie y si estos son > 8 pasar bits sucesivos a la siguiente de chips, y así sucesivamente. Tomando ventaja de este sistema, el algoritmo para controlar la visualización individual puede consistir en:
- Enviar a un chip de la 8 los bits relacionados con la configuración carácter (8 semper bits cero).
- Enviar a la siguiente ficha del bit de control para seleccionar la configuración de la pantalla y su dígito; operaciones, estos, llevado a cabo en secuencia.
- Estabilizar las señales que permiten la’ OE los dos chips.
- la señal del interruptor “NOSOTROS” para la escritura real en la pantalla.
mi’ claro que tener que escribir sobre 8 dígito (2 por pantalla 4 dígito) sigole las letras que componen el texto completo (ya que puede haber visto la película) necesario determinar la secuencia precisa de comandos y el carácter para ser enviado . En este sentido he construido la siguiente tabla.

A medida que lea esta tabla ?. ejemplo: que desea cargar la pantalla “1” dígito “0” con un carácter: a continuación, se le envía a la primera chip y el valor del carácter de acuerdo con el chip valor decimal “62“. El bit de salida diseño (Q0 / Q7) Corresponde a las señales A1 / A0, BL2, CL2, CE2, BL1, CL1, CE1 que estoy en el nivel lógico “1” (no operacional) o nivel lógico “0” operativo. No engañe a los números que se muestran en la tabla, ya que se han utilizado para calcular el valor correctamente cuando son cero o uno. Otra cosa a tener en cuenta es que, dependiendo de cómo los chips se han conectado a las señales, y luego para mostrar, no se dice que el primer chip debe ser necesariamente el de los datos o que para las señales de.
Todavía un poco de paciencia: También completamos este prototipo con su software. Como también saben que en este caso se trata de administrar un reloj. El boceto no es complejo, pero se puede describir brevemente como sigue:
- activación Solita de’ RTC con los controles de presencia y eficiencia habitual que, en ausencia del sistema de.
- Configuración del pasador conectado al chip 74HC595.
- En el bucle “lazo” lectura de los valores RTC, transcodificación de la misma y la preparación de una cadena se compone de las palabras “SON LAS HORAS ” los valores de tiempo (decenas y unidades) intercalados con un punto, entonces “DEL ” valor del día, transcodificación del mes y la transcodificación de la semana. Así que al final de la cadena contendrá:
- Es el horario de xx, xx xx de mayo Viernes —-> ejemplo. Los espacios entre una palabra y otra se obtienen con el carácter “00” binaria que produce nada visible.
- Después de la construcción de la cadena, de acuerdo a su longitud real se inserta en una matriz d 8 posición de byte 8, el primer carácter de la cadena.
- Se realiza un bucle 8 ciclos para enviar los valores de la matriz a 8 pantalla dei dígitos (un conjunto de comandos específicos para mostrar y dígitos y DATA_VALUE).
- Se mantiene la gama de desplazamiento 8 bytes de derecha a izquierda.
- Se repite el ciclo.
Se obtiene de esta manera, el efecto de deslizamiento que la velocidad programada de 250 ms puede ser considerada óptima para la visualización.
CONCLUSIÓN:
Reconozco que este artículo es bastante largo y probablemente describo cosas obvias y risapute. Pero desde mi punto de vista para ver formas y opciones de implementación, Pueden ser siempre una buena fuente de información especialmente para aquellos que son principiantes o simplemente un aficionado como yo.
Si a continuación, escribí algunas imprecisiones, Por favor, no excusa.
Gracias por su atención.
GVSOFT mayo 2018
PD: si usted está interesado en el dibujo y la documentación relacionada a escribir gvsoft75@hotmail.com.

Que estaba viendo cosas, o en uno de los relojes locos anterior hubo una explicación de cómo decodificar la señal DCF77?
Probé el artículo pero no lo encuentro.
No, Nunca he utilizado en cualquiera de los artículos DCF77 mei.