Dibujando en matriz de 8x32 LED con 74HC154

8

¿Cómo envío un patrón a una matriz de 8x32 LED? Estoy usando el microcontrolador AT89S52 con un 74HC154 4-16 decodificador de línea, programando en C con el IDE de Keil. He realizado una exploración vertical, pero estoy perplejo en el siguiente paso. Incluiré el esquema si es necesario. El circuito es el mismo que el que incluyo a continuación, solo que no uso 74HC138, matriz de ánodo común y uso UN2803 como controlador, no uso la memoria

El puerto 1 es la columna, el puerto 2 es la fila ... el código:

 row = 0xFF;
     //for (j=0x01; j< 0x08; j<<=1)  {   /* scan left to right */
     for (j=0x00; j<=0x0F; j++)
     {
          E1=0;
          E2=0;
          P1 = j;
          P2 = row;
                                   /* Output to LED Port */
          for (i = 0; i < 100; i++) 
           {  /* Delay for 100 ms */
              delay ();                       /* call delay function */

           }

    
pregunta Rick Ant

1 respuesta

3

El patrón normal para controlar una pantalla LED multiplexada MxN es designar una dirección como "filas" y la otra como "columnas", independientemente del diseño físico en la pantalla, de modo que el sistema energice los cables de la "fila" uno a uno. el tiempo y, mientras cada fila está secuenciada, el sistema energizará los cables de "columna" para todos los LEds en esa fila que deberían estar encendidos.

Cada cable de columna debe incluir un dispositivo para regular la corriente cuando se activa (una resistencia puede funcionar aquí), y cada cable de fila debe tener un controlador que pueda suministrar suficiente corriente para alimentar todas las columnas a la vez. El hardware no tiene que permitir que se conduzcan más de una fila a la vez, pero debe permitir que se maneje cualquier combinación de columnas.

Los chips 74HC154 podrían funcionar bien en la lógica de selección de fila, pero como solo una salida puede estar activa a la vez, no son adecuadas para controlar columnas. Si desea escanear su "lado", para que se accediera de forma lógica a 32 filas y 8 columnas, entonces el 74HC154 podría ser adecuado para seleccionar una fila, pero luego tendría que agregar hardware adicional para permitir que cada fila se suministre. suficiente corriente para controlar ocho LED, y también tendría que agregar algo a cada salida del UN2803 para limitar las corrientes.

Lo más probable es que lo que querría hacer sería reemplazar el 74HC154 con un conjunto de chips 74HC595 (registros de cambio) y resistencias, o bien uno o más chips de controlador LED que tienen limitación de corriente incorporada (por ejemplo, cuatro Texas Instruments TLC5916, disponible en Digi-Key). Conecte esos chips a un puerto SPI de su controlador y cambie cada fila de datos en serie. Si usa un chip de controlador de lado bajo (como el TLC5916 mencionado anteriormente), tendrá que cambiar los controladores de la fila a la fuente de origen en lugar de hundirlo. La forma más sencilla de hacerlo sería utilizar ocho transistores NPN, cada uno con el colector unido al riel positivo (si lo desea, puede usar un suministro no regulado), la base vinculada a la salida del controlador o un chip decodificador. y el emisor atado a una fila de LED.

    
respondido por el supercat

Lea otras preguntas en las etiquetas