Cómo Multiplexar Una Matriz de Leds

2
¿Cómo multiplexar una matriz de leds? Vamos a empezar con un nuevo tutorial, esta vez con un cómo sobre multiplexación, cómo multiplexar una matriz de leds. Si se quisiera controlar una sola columna de una matriz de 5x7 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.

description

multiplexar una matriz de 7 x 5

Transcript of Cómo Multiplexar Una Matriz de Leds

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 alprincipioysevuelvearepetir. Elprogramadeejemplomuestraenconteodescendentelosnmerosdel9al0.La multiplexacin se lleva a cabo en la rutina de interrupcin del timer 2. El programa principal lo quehaceesleerunnmeroalmacenadoenunavariable(unregistrodememoria)y decodificarloparaserdesplegadoenlamatriz,comolamatrizesde5columnaspara decodificarelnmerosenecesitan 5registrosdondeseguardaran losvaloresde lasfilasde cada columna. Eldiagramadelcircuitodeejemploeselsiguiente: A continuacin pueden ver el video de este ejemplo