You are on page 1of 2

Cmo multiplexar una matriz de leds?

Vamos a empezar con un nuevo tutorial, esta vez con un cmo sobre multiplexacin, cmo
multiplexar una matriz de leds.
Si se quisiera controlar una sola columna de una matriz de 5x7 leds se necesitara 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 necesitaran 4 puertos de 8 bits, demasiado
para un microcontrolador, sobre todo para un 16F628a.
Para reducir el nmero de pines requeridos las cinco columnas de la matriz son multiplexadas,
esto significa que solamente se necesitarn 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 tcnica de multiplexacin consiste en mostrar una columna a la vez, mientras
eso se haga lo suficientemente rpido parecer que todas las columnas estan encendidas a la
vez y no se ver ningn parpadeo, por esa misma razn la base de tiempo para la
multiplexacin es muy importante por lo que se utiliza la interrupcin del timer 2 para esa tarea.
La multiplexacin es muy sencilla y se ejecuta dentro de la rutina de interrupcin del timer 2, se
realiza ms o menos de la siguiente manera:

Espera interrupcin
Se deshabilitan las columnas
Se escribe en el puerto B el valor de las filas
Se habilita la primer columna
Espera interrupcin
Se deshabilitan las columnas
Se escribe en el puerto B el valor de las filas
Se habilita la siguiente columna
Espera interrupcin
...
As se repite hasta llegar a la quinta columna, entonces la ejecucin de la multiplexacin vuelve
al
principio
y
se
vuelve
a
repetir.
El programa de ejemplo muestra en conteo descendente los nmeros del 9 al 0. La
multiplexacin se lleva a cabo en la rutina de interrupcin del timer 2. El programa principal lo
que hace es leer un nmero 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 nmero se necesitan 5 registros donde se guardaran los valores de las filas de
cada columna.

El

diagrama

del

circuito

de

A continuacin pueden ver el video de este ejemplo

ejemplo

es

el

siguiente: