Laboratorio 15: matriz de leds
Juan pablo lopez guevara 20171005073
Universidad distrital francisco José de caldas
Ingeniería electrónica, fundamentos de circuitos digitales
Introducción
Debido a la necesidad de tener más cantidad de salidas de información para el usuario, aparecen las matrices de LED, que nos permiten dibujar figuras como lo son los emoticones.
Objetivos
- Implementar los 4 emoticones presentados
- Poder seleccionar cualquiera de los emoticones usando 2 bits de selección
- Tener la opción de desplazar el emoticón en la matriz
Marco teorico
Matriz de leds
![]() |
| Figura 1. Diagrama de matriz de leds 8x8 |
La matriz de leds es un arreglo de leds 8x8 que tiene el fin de mostrar diagramas por medio de encender los leds necesarios para este propósito. Debido a las limitaciones de alimentación de la PSoC y a que no es practico consumos tan altos en general, se necesita visualización dinámica para la correcta visualización de los diagramas a graficar. Para nuestro caso, tenemos cátodo común, que significa que encenderemos las columnas con un 1 lógico.
Metodología
Para esta practica, seguimos la metodología dada por el profesor. Esto quiere decir que creamos una ROM 32x8 en la cual tenemos 2 bits para elegir el emoticón y 3 para direccionar cada fila de cada emoticón. Así, diseñamos e implementamos un decodificador 3 a 8 y debido a problemas que se nos presentaron a la hora de usar el registro de desplazamiento, utilizamos 2 bloques sumadores con el fin de desplazar a la izquierda o a la derecha el emoticón.
Diseño
Comenzamos por el diseño del deco 3 a 8, para lo cual creamos su tabla de verdad
Para facilitar el diseño, utilizaremos verilog con la función case. Esto nos reducirá enormemente el proceso de diseño
![]() |
| Esquematico |

Siguiendo con la misma técnica, haremos un esquema de los valores necesarios para graficar los 4 emoticones, teniendo en cuenta que son las tierras para la matriz de leds.
emoticón 1
emoticón 3
emoticón 4
Por comodidad, programamos la rom usando verilog y agregando 2 bits para la elección de cual emoticón se va a visualizar.
Por ultimo, para el desplazamiento hacemos uso de dos bloques sumadores. Uno para restar la posición y luego, este resultado entra a otro bloque sumador que tiene el objetivo de sumar la cantidad a moverse en la posición opuesta.
Así, llegamos a nuestro diagrama final
El link para ver el funcionamiento de este circuito es este
Conclusiones
Vemos la gran utilidad de utilizar visualización dinámica en este caso, ya que somos consientes que la PSoC no es capaz de encender al tiempo todos los leds, lo cual es un problema que soluciona la visualización dinámica (ahorrando recursos energéticos). Por otro lado, vemos la gran utilidad de usar código verilog para reducir la dificultad y tiempo de diseño, en especial a la hora de almacenar datos y crear decodificadores.







No hay comentarios:
Publicar un comentario