trabajo final - panel led 8x40

30
INTRODUCCIÓN En este proyecto se explicara como diseñar y construir una matriz de diodos LED de 8x40, que servirá de pantalla para exhibir textos o imágenes, fijas o animadas. Los usos son varios, desde un sofisticado adorno como adorno de dormitorio hasta su empleo como medio para exhibir mensajes o publicidad. Por supuesto, sus dimensiones pueden resultar insuficientes para algunos usos, pero es fácilmente expandible. Un cartel formado por varias filas y columnas de LED, convenientemente programado, puede servir para pasar mensajes publicitarios, decorar una habitación, ordenador, etc. No solo se trata de un proyecto más que interesante para llevarlo a cabo como electrónico, sino que puede resultar interesante como un producto comercializable. Es que estas matrices, que en algunos países se las conoce como cartel de LED” o “Publik”, son un recurso muy frecuentemente utilizado con fines publicitarios o informativos. OBJETIVOS El presente proyecto tiene los siguientes objetivos: Explicar el funcionamiento de una matriz de LED de 8x8. Diseñar, dependiendo de la necesidad del tamaño, una matriz de LED. Condiciones de diseño para el uso de una matriz de LED. Mostrar el funcionamiento del registro 74LS164. Conectar un registro de desplazamiento en serie cuando se requiere ampliar la cantidad de datos de salida en paralelo. Explicar la multiplexación en el tiempo. Explicar de forma básica la estructura del pic18f4550. Explicar de forma básica como programar un microcontrolador. Mostrar el lenguaje de programación C. Condiciones de diseño para el uso de un microcontrolador. Solucionar una de las limitaciones que tienen los microcontroladores.

Upload: christiam-paul-ramirez-saavedra

Post on 30-Jul-2015

4.587 views

Category:

Documents


9 download

TRANSCRIPT

Page 1: Trabajo Final - Panel Led 8x40

INTRODUCCIÓN

En este proyecto se explicara como diseñar y construir una matriz de diodos LED

de 8x40, que servirá de pantalla para exhibir textos o imágenes, fijas o animadas.

Los usos son varios, desde un sofisticado adorno como adorno de dormitorio

hasta su empleo como medio para exhibir mensajes o publicidad. Por supuesto,

sus dimensiones pueden resultar insuficientes para algunos usos, pero es

fácilmente expandible.

Un cartel formado por varias filas y columnas de LED, convenientemente

programado, puede servir para pasar mensajes publicitarios, decorar una

habitación, ordenador, etc. No solo se trata de un proyecto más que interesante

para llevarlo a cabo como electrónico, sino que puede resultar interesante como

un producto comercializable. Es que estas matrices, que en algunos países se las

conoce como “cartel de LED” o “Publik”, son un recurso muy frecuentemente

utilizado con fines publicitarios o informativos.

OBJETIVOS

El presente proyecto tiene los siguientes objetivos:

Explicar el funcionamiento de una matriz de LED de 8x8.

Diseñar, dependiendo de la necesidad del tamaño, una matriz de LED.

Condiciones de diseño para el uso de una matriz de LED.

Mostrar el funcionamiento del registro 74LS164.

Conectar un registro de desplazamiento en serie cuando se requiere

ampliar la cantidad de datos de salida en paralelo.

Explicar la multiplexación en el tiempo.

Explicar de forma básica la estructura del pic18f4550.

Explicar de forma básica como programar un microcontrolador.

Mostrar el lenguaje de programación C.

Condiciones de diseño para el uso de un microcontrolador.

Solucionar una de las limitaciones que tienen los microcontroladores.

Page 2: Trabajo Final - Panel Led 8x40

Lista de Componentes:

1. 5 protoboard

2. Pic 18F4550

3. 5 matrices led de 8x8

Page 3: Trabajo Final - Panel Led 8x40

4. 5 integrados 74LS2164N

5. Resistencias de 220 Ohm.

6. Capacitores de 15 µF.

7. Cristal de cuarzo de 20MHz

Page 4: Trabajo Final - Panel Led 8x40

8. Cables para protoboard

Page 5: Trabajo Final - Panel Led 8x40

DESCRIPCIÓN DEL PROYECTO

En el presente proyecto se utilizó un microcontrolador (desde ahora PIC) de la

empresa Microchip, el pic18f4550 que cuenta con un total de 40 pines dedica 33 a estos menesteres.

Habitualmente, con un número así de pines de control es posible resolver correctamente casi cualquier

situación que se requiera, ya que normalmente el diseño de un circuito de control basta con

leer unos pocos pulsadores y/o sensores y luego de realizar internamente algún

proceso con esas señales, se actúan (o no) sobre unas pocas cargas conectadas

a sus salidas, generalmente mediante relés o interfaces de algún tipo.

Sin embargo, hay casos concretos en que ningún PIC (o microcontroladores de

otras familias) puede aportar el numero suficiente de E/S que permitan controlar

todas las cargas conectadas a el, si este es el caso se deben recurrir a circuitos de

apoyo comandados mediante señales de control y utilizando un bus de datos. Uno

de esos casos es el que se ocupa en este proyecto.

En lo que respecta a las E/S de cada PIC, al igual que cualquier computadora,

dispone de un número finito de ellas, y en general, se trata de un número no

demasiado elevado. Esta claro que si queremos formar una imagen mediante

pixeles compuestos por LEDs individuales, harán falta un número de líneas de

control mucho mayor que las disponibles en cualquier PIC.

El proyecto consiste en la implementación de un prototipo de pantalla de LEDs

comunes en centros comerciales o locales de servicios, en los que un texto realiza

un scroll de derecha a izquierda, a una velocidad que permite la ilusión de un

movimiento suave y continuo. Estas matrices de LEDs generalmente están

conformadas por un cierto número de filas y columnas.

Para permitir un texto legible, que represente claramente los caracteres

correspondientes a las letras mayúsculas y minúsculas hacen falta unas 8 filas de

alto y si requiere que la pantalla muestre unos 3 caracteres simultáneamente, se

necesita unas 40 columnas.

Si se multiplica el número de filas por las columnas, se obtiene el número de LEDs

que hay presente en la pantalla de este proyecto, con los valores mencionados se

requiere controlar 96 LED.

Si se limita el diseño del circuito a métodos tradicionales para encender o apagar

cada LED de la pantalla, es decir, conectando cada uno de ellos a un pin de salida

del PIC y encenderlos mediante 0 o 1 bit de salida en cada puerto, hace falta un

PIC de al menos 96 pines, algo que se debe descartar porque no existe.

Page 6: Trabajo Final - Panel Led 8x40

Una solución posible es utilizar varios PIC conectados entre si, de manera que

cada uno maneje por ejemplo dos o tres columnas y mediante algún protocolo se

envíen mensajes entre ellos para mostrar la parte del texto que le corresponde,

esta alternativa tiene mas posibilidades de éxito, pero cuenta con el problema de

una programación compleja y un costo elevado, ya que se necesitan unos 3 PIC

por carácter, lo que económicamente no es viable.

La respuesta a este problema viene de la mano con la multiplexación, el empleo

de buses y la utilización de registros de desplazamiento como circuito de apoyo

que transformen datos enviados de forma serial a una representación en paralelo.

MULTIPLEXACIÓN

El termino “multiplexar” hace referencia a una técnica que permite aprovechar

unas pocas líneas de datos para diferentes tareas, cambiando la función que

cumplen a lo largo del tiempo. Un ejemplo podría ser un sistema de control de

temperaturas de varios ambientes. Dado que la velocidad no es crucial, ya que en

términos de milisegundos (o microsegundos) la temperatura casi no varía debido a

la inercia térmica, se puede utilizar un único circuito que lea alternativamente cada

sensor de temperatura. Esto evita la duplicación de circuitos y permite resolver el

problema con una fracción de los recursos (pines de E/S) disponibles.

REGISTRO DE DESPLAZAMIENTO

Un registro de desplazamiento es una configuración circuital muy utilizada,

generalmente para convertir un flujo de datos en forma serial a uno del tipo

paralelo, motivo por el cual a menudo los chips encargados de esta tarea son

llamados “conversores serie-paralelo”.

Por supuesto, es posible construir un registro de este tipo a partir de componentes

discretos, aunque en la práctica resulta no solo inapropiado por cuestiones de

tamaño y velocidad, sino también económicas, ya que un chip como el utilizado en

este proyecto rara vez superan el valor de S/5.00.

La manera de entender conceptos nuevos es apoyándose en analogías con temas

que sean familiares y es lo que se hará en este caso, se utilizará como ejemplo el

funcionamiento de una cola, como la de un banco.

Se supone que dos tipos de personas pueden formar parte de una cola. Estos dos

tipos de personas son las que se ven en la figura siguiente, y es imposible

confundir una con otra. Las llamaremos "0" (el "gordito) y "1" (al mas flaco).

Page 7: Trabajo Final - Panel Led 8x40

"0" y "1", los personajes.

La cola que se usará como ejemplo tiene 8 lugares, que se enumeran del 0 al 7,

pero nada impide trabajar con colas mas largas, por lo que todo lo que se vea aquí

se puede generalizar para colas de cualquier longitud.

La cola utilizada como ejemplo tiene 8 posiciones.

Otra particularidad de la hipotética cola es que nunca puede estar vacía. Todas

sus posiciones tienen que estar ocupadas, ya sea por “gorditos” o “flacos”. En el

estado inicial, la cola se encuentra completamente llena de “gorditos”, como se ve

a continuación:

El estado inicial de la cola es este: completa de "gorditos".

Page 8: Trabajo Final - Panel Led 8x40

La cola funciona como cualquier cola de la vida real: cuando alguien nuevo llega a

la fila, se coloca en el lugar que se encuentra mas atrás, que en este caso

corresponde a la “posición 0”. Como la cola tiene una longitud máxima (en este

ejemplo) de 8 posiciones, para hacer lugar al recién llegado, es necesario que

todos los que estaban en la fila “avancen” una posición. El que estaba en la

posición 0 pasa a la 1, el que estaba en la posición 1 pasa a la 2 y así hasta llegar

al que estaba en la posición 7, que “sale” por el extremo opuesto.

Llega un nuevo integrante a la cola....

...y ocupa el ultimo lugar, desplazando a todos los demás una posición. El primero

"sale" de la fila.

Este es el estado final de la fila, con el nuevo integrante en el último lugar.

Page 9: Trabajo Final - Panel Led 8x40

Si continuaran ingresando personas en la fila, el proceso se repetiría con cada

nuevo integrante que llegue. Como el que entra primero es el primero en salir, a

este tipo de colas se les llama “FIFO”, por “First Input, First Output” (Primero que

entra, primero que sale).

Con estas cuestiones en mente se puede comprender el funcionamiento de los

registros de desplazamiento. Ahora se hace la suposición que se requiere que en

la cola haya dos flacos en los primeros lugares, luego un gordo, otra vez dos

flacos, luego otro gordo y por último dos flacos mas (como siempre, 8 personas en

total). Se sabe que cada persona que ingresa “empuja” a todos una posición a la

derecha, si se quiere que el que termine ocupando el extremo derecho de la cola

sea un flaco, ese será el que primero debe entrar. Siguiendo el razonamiento

anterior, los personajes deberían entrar en la fila en el orden siguiente:

Los nuevos integrantes de la fila, esperando para ocupar su lugar.

Este es el estado final de la fila, con los integrantes originales desplazados hacia la

derecha.

Poniendo fin a la analogía, tendríamos que lo integrantes de la hipotética cola son

los “0”s y “1”s (o estados altos y bajos) de los circuitos, es decir, los datos. La cola

en si es el registro de desplazamiento. Cuando se suponía que el estado inicial de

la cola eran 8 gordos, se estaba queriendo decir que al alimentar el circuito, todas

las salidas estarán en “0” o en estado bajo.

Hay una salvedad y es la existencia del “Clock”. Efectivamente, en un circuito real,

los datos pasan al registro de desplazamiento con cada pulso de Clock, se puede

pensar en este Clock como si se tratase de un “maestro de ceremonias”, que da

una palmada cada vez que alguien debe ingresar en la cola.

Page 10: Trabajo Final - Panel Led 8x40

Muchos circuitos de registros de desplazamiento reales también incluyen un

sistema de RESET, que permite poner simultáneamente todas las salidas en “0” o

en estado bajo, sin necesidad de ingresar 8 ceros seguidos, esto permite limpiar

rápidamente el registro de desplazamiento.

Cuando se dice “rápidamente” se hace referencia a que como la velocidad de los

pulsos de Clock no puede ser infinita (típicamente el máximo ronda los 10 o

20MHz) y cada dato demora el tiempo de un pulso de Clock en desplazarse por el

registro, introducir 8 “0”s llevaría 800nseg. (100nseg. x 8 bits), contra los 100nseg.

que demora en aplicarse el RESET. No obstante, para obtener los tiempos

exactos implicados se debe consultar la hoja de datos del integrado que se utiliza,

ya que lo limites varían incluso con la tensión de alimentación y temperatura.

EL 74LS164N

Este interesante circuito integrado de la familia TTL viene en diferentes “sabores”,

de acuerdo a la velocidad, temperatura de operación, voltajes y corrientes soportadas, etc. Dichas características dependen de las letras entre el “74” y el “164”.

El integrado 74LS2164N, un registro de

desplazamiento de 8 bits.

Desde el punto de vista técnico, dentro de este integrado se encuentra un “registro

de desplazamiento” completo, de 8 bits de largo. Esto significa que se comporta como un conversor serie-paralelo, en el que se introducen pulsos de Clock por un

pin (CP) y datos en serie por otro (dos en realidad, unidos por una

compuerta AND, cuyas entradas son DSA y DSB). Las 8 salidas toman los

estados indicados por el “tren” de datos de la entrada. Dispone de un pin (el 9) que realiza la función de poner en cero todas las salidas (Reset, MR en el esquema de

abajo).

Page 11: Trabajo Final - Panel Led 8x40

Esquema interno del integrado 74LS164N

Diagrama lógico, extraído de la hoja de datos de Motorola.

Función de cada patilla del 74LS2164N

Page 12: Trabajo Final - Panel Led 8x40

Los pines 1 y 2 son la entrada de datos. Como se mencionó antes, internamente existe una compuerta AND que realiza el producto lógico de los valores de ambas entradas. En general, se unen entre si para que el resultado de la función AND

sea igual al valor del dato (ver compuertas lógicas) o bien se pone una de las

entradas en alto (conectándola a +5V) para que la otra entrada sea la que determine el valor de la salida. Cualquiera de las dos formas es válida. Por supuesto, existen aplicaciones donde se obtienen datos de dos fuentes distintas,

en cuyo caso se conectará una entrada de la compuerta a cada una.

Los pulsos de Clock entran por el pin 8. Los datos de la entrada se reflejan en la

salida con cada transición bajo-alto del reloj.

La flecha indica el flanco de subida del Clock.

Tabla de verdad del integrado (Motorola).

Los pines 3, 4, 5, 6, 10, 11, 12 y 13 son (en ese orden) las salidas.

Page 13: Trabajo Final - Panel Led 8x40

REGISTROS DE DESPLAZAMIENTO EN SERIE

El siguiente es un ejemplo de conexión de un 74HC164N:

Ejemplo de conexión.

En caso de necesitar un registro de desplazamiento más largo, se utiliza más circuitos integrados (uno por cada 8 bits de largo del registro). Simplemente se deben unir entre si todos los terminales de Clock y Reset (para que funcionen al mismo tiempo) y la ultima salida de uno con la entrada del siguiente, de manera que cada dato que se "desborda" de uno circuito se hace presente en la entrada del siguiente.

Registro de desplazamiento de 32 bits de largo.

Page 14: Trabajo Final - Panel Led 8x40

MATRIZ DE LEDS 8x8

Una matriz de LEDs de 8x8 es un arreglo de 64 LED distribuidos de tal manera

que forman 8 filas y 8 columnas en forma simétrica (un cuadrado).

Para un proyecto como este se debe tomar una decisión inicial: utilizar una matriz

de LED comprada o construir una usando 32 LED separados. Las siguientes

imágenes ilustran las diferencias entre ambas opciones.

Matriz 8x8 compacta e integrada Matriz de construcción artesanal

En lo que se refiere al funcionamiento, ambos sistemas podrán desempeñarse de

manera aceptable y con un resultado acorde a la programación del PIC que se

utilice para activarlos, en cambio, desde el punto de vista constructivo, las

diferencias son notables y lo que se torna favorable en algunos casos puede ser

perjudicial en otros. Por ejemplo: el diseño compacto, la facilidad de conexión y

rendimiento deseado son factores que inclinan la balanza hacia el modulo

integrado de 64 LEDs que aparece en la imagen izquierda. Sin embargo, cuando

necesitamos un tamaño no convencional o fuera de los estándares de fabricación,

la construcción a partir de LEDs individuales pasa a ser una necesidad.

Sea la elección que se tome, lo que se debe saber a ciencia cierta es como se

trabaja con estas pantallas transmisoras de información, es decir, se debe saber

de antemano que se esta buscando: un arreglo de filas y columnas en orden.

Si se realiza un diseño con las matrices compactas se debe tener cuidado en

posicionar las filas y las columnas ya que están no están en el orden esperado, lo

que si se tiene en las matrices artesanales, en el siguiente grafico se plasma

lo

dicho:

Page 15: Trabajo Final - Panel Led 8x40

Arreglo de filas y columnas en una matriz artesanal

Arreglo de una matriz integrada y compacta, el orden

Page 16: Trabajo Final - Panel Led 8x40

de filas y columnas no son ordenados.

MICROCONTROLADORES PIC18F2455, PIC18F2550, PIC18F4455 y

PIC18F4550

Page 17: Trabajo Final - Panel Led 8x40

ORGANIZACIÓN DE MEMORIA:

El uC PIC18F4550 dispone de las siguientes memorias:

Memoria de programa: memoria flash interna de 32.768 bytes

– Almacena instrucciones y constantes/datos

– Puede ser escrita/leída mediante un programador externo o

durante la ejecución

programa mediante unos punteros.

Memoria RAM de datos: memoria SRAM interna de 2048 bytes en la que

están

incluidos los registros de función especial.

– Almacena datos de forma temporal durante la ejecución del

programa

– Puede ser escrita/leída en tiempo de ejecución mediante diversas

instrucciones.

Memoria EEPROM de datos: memoria no volátil de 256 bytes.

– Almacena datos que se deben conservar aun en ausencia de

tensión de

alimentación

– Puede ser escrita/leída en tiempo de ejecución a través de

registros

Pila: bloque de 31 palabras de 21 bits

– Almacena la dirección de la instrucción que debe ser ejecutada

después de una

interrupción o subrutina

Memoria de configuración: memoria en la que se incluyen los bits de

configuración

(12 bytes de memoria flash) y los registros de identificación (2 bytes de

memoria de

solo lectura).

Page 18: Trabajo Final - Panel Led 8x40
Page 19: Trabajo Final - Panel Led 8x40

IMPLEMENTACIÓN DEL PROYECTO

Con lo visto hasta ahora se tiene lo necesario para implementar el proyecto que

consiste en crear una matriz de LEDs de 8x24 mostrando mensajes estáticos y

cambiantes en el tiempo, utilizando para este fin la multiplicación en el tiempo.

La implementación utilizara un microcontrolador PIC16F873A por su bajo costo y

su versatilidad para los proyectos de este tipo, se usara un cristal de cuarzo de

4MHz con dos capacitores de 27pF según la tabla mencionada.

Se usaran 3 registros de desplazamiento 74LS164N conectados en serie con las

dos entradas de cada registro de desplazamiento cortocircuitadas para formar un

registro de desplazamiento de una entrada serial y 24 salidas paralelas.

Se usará también 3 matrices de LEDs integradas y compactas de 8x8, esta

selección tuvo como criterio el echo de que el proyecto trata del prototipo de una

pantalla de LEDs real, el fin de este proyecto es explicar el principio de

funcionamiento de estas pantallas, la parte económica paso a segundo plano pero

sabe resaltar que este aspecto también influenció en la selección.

El lenguaje de programación del PIC16F873A fue el C usando el compilador

MPLAB, este lenguaje fue seleccionado ya que ofrece una facilidad enorme

en

comparación con el assembler, es un lenguaje de alto nivel y no necesita muchas

líneas para establecer funciones.

Para quemar el PIC18F4550 se utiliza un PicKit2 como el siguiente:

PicKit2 con un cable USB para conexión con la PC

Page 20: Trabajo Final - Panel Led 8x40

En la siguiente figura se muestra el proyecto implementado en protoboard:

Proyecto implementado en Protoboard, se resaltan en bloques cada componente.

ETAPA DE ALIMENTACION DEL CIRCUITO

En este proyecto se utilizo un cargador de celular como fuente de energía, las

características de esta pequeña fuente de poder son las siguientes:

Entrada 100-240v alterna, 50-60Hz, 0.15 A.

Salida 5.0V continua constante, 700 mA.

Ahora se calcula la corriente que consume el circuito: gracias al multiplexado

nunca debería haber mas de una fila encendida al mismo tiempo, que en el caso

mas desfavorable tendría 24 LEDs encendidos. Cada LED consume unos 23mA

(5v/220 ohms = 23mA), por lo que el consumo de la pantalla es de 23mA x 24 =

Page 21: Trabajo Final - Panel Led 8x40

500mA aproximadamente, si a esto le sumamos el consumo de los registros y el

PIC16F873A, el consumo total ronda los 650mA en el caso mas desfavorable.

Si se desea realizar un diseño profesional en una PCB se deberá hacer una placa

solo para la alimentación basándose en el regulador de voltaje LM7805, capaz de

entregar 500mA sin disipador y hasta 1 A si se disipa correctamente.

ETAPA DE CONTROL DEL CIRCUITO

El PIC se encarga de generar los pulsos de Clock y Datos (pines 3 y 2

respectivamente) que son enviados a la etapa de multiplexación y muestreo.

Si se desea realizar un diseño profesional hay que hacer una placa solo de control

donde se conecta a cada línea del bus de datos un transistor para controlar las

corrientes de cada columna de las matrices de LEDs, en esta placa también

se

debe incluir el MAX232 y su respectiva configuración si se realizara la conexión via

RS232 con la PC, si se utilizara una memoria también debería ir en esta parte de

la placa son su respectiva configuración sea el caso de usar el protocolo SPI o

I2C.

ETAPA DE MULTIPLEXACIÓN Y MUESTREO

En esta etapa se encuentran los registros de desplazamiento 74LS164 conectados

en serie y las matrices de LEDs conectadas a sus respectivos registros de

desplazamiento, esta etapa esta encargada de la multiplexación en el tiempo,

recoge los datos del Clock y las matrices recogen los datos provenientes del bus

de datos del PIC para controlar las columnas.

Si se quiere aumentar el brillo de los LEDs se pueden cambiar las resistencias de

220 ohms por unas de 110 ohms asegurándose que el encendido de los LEDs no

pase de unos milisegundos por vez para evitar su envejecimiento prematuro.

Si se desea hacer un diseño profesional de esta etapa, hay que conectar cada

registro de desplazamiento a un buffer en serie, el ULN2803/2003 para manejar

corrientes mas elevadas y no exigir demasiado a los registros de desplazamiento,

en este caso el 74LS164N.

Page 22: Trabajo Final - Panel Led 8x40

LA PROGRAMACIÓN DEL CIRCUITO

Page 23: Trabajo Final - Panel Led 8x40

VISUALIZAR UN CARACTER

Para visualizar un carácter, mostrar un pequeño dibujo u ofrecer cualquier símbolo

en la pantalla se debe desmenuzar el análisis de funcionamiento y, de esa

manera, se podrá comprender el concepto esencial que rige la mecánica de estas

pantallas de publicidad. Tomando un ejemplo, la letra F, se debe armar

inicialmente un mapa dentro de la matriz, se debe establecer la forma de cómo se

quiere mostrar, es decir, se debe hacer un trabajo previo necesario para lograr

mostrar un carácter, absolutamente todo las letras, números y símbolos deben

mapearse para que al momento de querer mostrar dicho símbolo, solo tomarlo de

una base de datos ya echa y jalarlo mediante funciones creadas en el PIC hacia

otra función principal que se mostro anteriormente y pasar los datos a las matrices

y a los registros.

Las columnas son controladas por el PIC mediante el bus de datos conformado

por el puerto B, las filas son controladas por los registros de desplazamiento

haciendo posible la multiplexación, en el siguiente grafico se muestra la asignación

de una variable B a cada columna y la variable de las filas depende de B, esto

quiere decir que habrá cierta información en todas las columnas de la matriz

proveniente del bus de datos, esta información es del símbolo que se quiere

mostrar, por cada habilitación de la fila correspondiente.

La imagen se forma por el “barrido” de las columnas a las que se les hacen llegar

en el momento apropiado los datos que se quieren visualizar. Estos datos llegan

de a uno por vez y se colocan en el lugar que le corresponde a cada uno dentro

Page 24: Trabajo Final - Panel Led 8x40

del mapa de bits creado en forma previa. Al repetir el ciclo muchas veces en un

segundo, la imagen dará la impresión de estar fija. Para que este efecto se logre

con mejor resultado, interviene la inercia de encendido y apagado del LED,

sumado a la velocidad de la visión en detectar los mencionados cambio de estado.

La multiplexación es muy sencilla y se ejecuta dentro de la rutina de interrupción

del timmer 0, se realiza de la siguiente manera:

Espera interrupción.

Se deshabilitan las filas.

Se manda por el bus de datos el valor de las columnas.

Se habilita la primera fila.

Espera interrupción.

Se deshabilitan las filas.

Se manda por el bus de datos el valor de las columnas.

Se habilita la siguiente fila.

Espera interrupción.

Así se repite hasta llegar a la fila 8 y la columna 24, entonces la multiplexación

vuelve al principio y se vuelve a repetir.

Ahora se creará paso a paso la letra R con el registro de desplazamiento y el PIC:

Lo primero que hace la programación es poner el PIN de RESET de los registros

en bajo y al mismo tiempo todos los niveles de tensión del bus de datos en nivel

bajo para tener todas las salidas en bajo y con esto todos los LEDs de la pantalla

apagados y listos para iniciar el muestreo (solo se mostrara con una matriz de 8x8,

se entiende que para las demás será del mismo modo y así también para los

demás efectos del mensaje).

Se mostrara con una palabra de 8 bits las filas y columnas habilitadas con el bit de

la izquierda como el menos significativo.

Page 25: Trabajo Final - Panel Led 8x40

- ESTADO INICIAL DE LA MATRIZ:

Filas: 00000000

Columnas: 00000000

- PRIMERA VISTA DE LA MATRIZ:

Filas: 10000000

Columnas: 01111110

- SEGUNDA VISTA DE LA MATRIZ:

Filas: 01000000

Columnas: 01111110

Page 26: Trabajo Final - Panel Led 8x40

- TERCERA VISTA DE LA MATRIZ:

Filas: 00100000

Columnas: 01100000

- CUARTA VISTA DE LA MATRIZ:

Filas: 00010000

Columnas: 01111000

- QUINTA VISTA DE LA MATRIZ:

Filas: 00001000

Columnas: 01111000

Page 27: Trabajo Final - Panel Led 8x40

- SEXTA VISTA DE LA MATRIZ:

Filas: 00000100

Columnas: 01100000

- SÉTIMA VISTA DE LA MATRIZ:

Filas: 00000010

Columnas: 01100000

- OCTAVA VISTA DE LA MATRIZ:

Filas: 00000001

Columnas: 01100000

Page 28: Trabajo Final - Panel Led 8x40

Se entiende que los puntos negros son los LEDs que estaban encendidos en los

estados anteriores y los rojos son lo que están encendidos en el estado actual, al

final se vera lo siguiente:

Una letra F formada mediante la multiplexación de filas de LEDs mediante un

registro de desplazamiento y un PIC que genera el clock y el bus de datos.

Si se requiere una matriz de LEDs de mayor tamaño, solo se agregan más

registros de desplazamiento en serie y una matriz de 8x8 por cada registro.

Page 29: Trabajo Final - Panel Led 8x40

CONCLUSIONES

Con esto se soluciona una de las limitaciones de los microcontroladores que seria

el número limitado de pines de E/S que con ayuda de un registro de

desplazamiento y aplicando el principio de multiplexación en el tiempo se hace

posible vencer esa barrera, un microcontrolador siempre necesitara de elementos

extras para funcionar, ya sea drivers para elevar la potencia de las señales de

salida, configuraciones correctas para cada tipo de sensor como los sensores

encoders, los sensores ópticos, los sensores de temperatura, etc, asi como

también para poder registrar señales negativas, estos problemas deben tener una

solución y es campo de investigación en la materia encontrar esas soluciones

mediante circuitos de apoyo, en este caso un registro de desplazamiento.

La programación de un microcontrolador tiene múltiples etapas, a estas etapas se

les conoce como funciones, cada función debe estar bien definida para poder

realizar un funcionamiento óptimo de la programación.

Las condiciones de diseño brindadas en este informe deben seguirse al pie de la

letra si se desea armar un circuito a nivel profesional, si bien se implemento un

prototipo, este no podría funcionar por tiempos prolongados, como si lo hace una

pantalla de LEDs comercial, así que se debe tener especial cuidado en el

consumo del circuito y la implementación de una fuente adecuada.

El uso de un registro de desplazamiento puede ser muy útil en aplicaciones

comerciales como la de este proyecto, según sea el caso del letrero, estos

registros son los indicados para solucionar los problemas de cantidad de pines de

un microcontrolador, este proyecto le da un valor agregado y versatilidad a

este

tipo de registros de desplazamiento.

Page 30: Trabajo Final - Panel Led 8x40

BIBLIOGRAFIA

Fundamentos de Sistemas Digitales – Floyd

Sistemas Digitales – Tocci

http://www.ucontrol.com.ar/wiki/index.php?title=Matriz_de_LEDS_de_7x32

http://www.neoteo.com/matriz-de-led-8x8

http://www.neoteo.com/matriz-de-led-8x8-parte-ii