Está en la página 1de 2

Cómo multiplexar una matriz de leds

Para la relizacion del proyecto contamos con información sobre multiplexación, cómo multiplexar
una matriz de leds.

Si se quisiera controlar una sola columna de una matriz de 5×7 leds se necesitaría un puerto
completo de un pic, 7 pines para controlar las filas y 1 para controlar la columna, eso significa que
para controlar todos los leds de la matriz se necesitarían 4 puertos de 8 bits, demasiado para un
microcontrolador, sobre todo para un 16F628a.

Para reducir el número de pines requeridos las cinco columnas de la matriz son multiplexadas,
esto significa que solamente se necesitarán siete pines, uno por cada fila de la matriz, y cinco para
habilitar cada una de las columnas.

Usando un pic 16F628a se puede utilizar el puerto B para controlar las filas y el puerto A para las
columnas. La técnica de multiplexación consiste en mostrar una columna a la vez, mientras eso se
haga lo suficientemente rápido parecerá que todas las columnas estan encendidas a la vez y no se
verá ningún parpadeo, por esa misma razón la base de tiempo para la multiplexación es muy
importante por lo que se utiliza la interrupción del timer 2 para esa tarea.

La multiplexación es muy sencilla y se ejecuta dentro de la rutina de interrupción del timer 2, se


realiza más o menos de la siguiente manera:

◦Espera interrupción

◦Se deshabilitan las columnas

◦Se escribe en el puerto B el valor de las filas

◦Se habilita la primer columna

◦Espera interrupción

◦Se deshabilitan las columnas

◦Se escribe en el puerto B el valor de las filas

◦Se habilita la siguiente columna

◦Espera interrupción

◦…

Así se repite hasta llegar a la quinta columna, entonces la ejecución de la multiplexación vuelve al
principio y se vuelve a repetir.

El programa de ejemplo muestra en conteo descendente los números del 9 al 0. La multiplexación


se lleva a cabo en la rutina de interrupción del timer 2. El programa principal lo que hace es leer un
número almacenado en una variable (un registro de memoria) y decodificarlo para ser desplegado
en la matriz, como la matriz es de 5 columnas para decodificar el número se necesitan 5 registros
donde se guardaran los valores de las filas de cada columna.

El diagrama del circuito de ejemplo es el siguiente:

También podría gustarte