Está en la página 1de 8

UNIVERSIDAD AUTONOMA DEL ESTADO DE MEXICO CENTRO UNIVERSITARIO UAEM ATLACOMULCO

INGENIERA EN COMPUTACIN LGICA SECUENCIAL Y COMBINATORIA

--------------MATRIZ DE LEDS----------7x5

FACILITADOR: Dr. JOS ARTURO PEREZ MARTNEZ

INTEGRANTES DEL EQUIPO: JOS MANUEL RAMREZ LOPEZ EDER ORTEGA PIA DIEGO MARTNEZ RODRIGUEZ MANUEL MARTNEZ ROMERO

8 SEMESTRE

ICO-13

ATLACOMULCO, MEXICO, 28 DE MAYO DE 2012

OBJETIVO. Comprender el funcionamiento de una Matriz de LEDs,


Utilizar la tcnica de miltiplexado de una matriz de leds Ser capaz de enviar al abecedario en maysculas y minsculas en una matriz de 7x5.

MATERIAL EMPLEADO
Microcontrolador PIC 16F84A Matriz de Leds 7x5 nodo en el rengln. 2 Capacitores de 22 pF Oscilador de Cristal de Cuarzo de 4 Mhz Resistores de 220

INTRODUCCION

El mtodo de multiplexado ofrece grandes ventajas, manejar gran cantidades de leds con una pequea cantidad de energa. El proceso consiste en aprovechar la velocidad de retencin de imgenes que tiene el cerebro humano que es de 1/25 imgenes por segundo, de lo cual se concluye que tiene la capacidad de retener una imagen a 45 milisegundos. Esto es una gran ventaja que puede ser aprovechada por dispositivos que trabajan a una frecuencia de microsegundos o nanosegundos, ya que se permite hacer los clculos necesarios y las conmutaciones para dar como resultado una imagen que visiblemente y en un instante parase ser completa pero si se capta con otros dispositivos que trabajen a ms velocidad del ojo humano como una cmara , se captaran los momentos en que los leds conmutan de un estado alto a uno bajo. Gracias al gran avance en hardware es posible realizar estos efectos, el dispositivo escogido para la prctica fue un microcontrolador, el 16f84a ya que la cantidad de memoria que se necesitaba era la suficiente para mostrar la cantidad de palabras requeridas.

DESARROLLO
Para el control de la Matriz de LEDs 7X5, donde el 7 corresponde la cantidad de renglones de la matriz, y el 5 la cantidad de columnas, se utilizara ambos puertos A y B de los PICs, el Puerto B se empleara para el control de los renglones y el Puerto A para el control de las columnas. El primer paso es codificar las letras que desean que aparezca en la matriz con los valores binarios tanto del Puerto A como del Puerto B, tomando en cuenta que se realiza un barrido de la primera columna hasta la ltima considerando que solo se mantiene una sola columna activada y el resto desactivada , se considera un tiempo de retardo 20 mseg entre activado y desactivado de las columnas, esta rutina se repetirse por 1 segundo para que se aprecie con claridad la letra o carcter. FIGURA DE LAS LETRAS

La lgica corresponde para una Matriz de LEDs de nodo en el Rengln, esto quiere decir que para encender un LED en un rengln determinado debemos aplicar un voltaje de 5 Volts, Equivalente a un valor binario de 1 al rengln, de manera a adicional debemos aplicar en la columna para encender el LED 0 Volts Tierra (GND), ya que solo de esa manera el LED queda polarizado de manera directa. Si tu Matriz de LEDs es Ctodo en el Rengln la lgica cambia, siendo opuesta a la antes explicada

CONCLUSIONES

CON ESTA TECNICA PUDIMOS MANEJAR 36 LEDS SIN TENER EL MISMO NUMERO DE PINES EN EL MICROCONTROLADOR, SOLO UTILIZAMOS 12 DE 13 QUE TIENE EL PIC 16F84, LO CUAL FUE DE UTILIDAD POR QUE REDUCE EL COSTO DEL PROYECTO. AL UTILIZAR UNA FUNCION EL EN PIC SE PUEDEN CONFIGURAR LOS BITS PARA OBTENER COMO RESULTADO OTRAS PALABRAS. SE OBSERVO QUE ESTA MATRIZ SOLO FUE UN EJEMPLO POR QUE UTILIZANDO ESTA TECNICA SE PUEDE CONSTRUIR UNA MATRIZ DE MAS LEDS Y AUMENTA MUY POCO LOS PINES DE LOS MICROCONTROLADORES.

CODIGO EN ASM.
LIST P= 16F84A MOVWF PORTA INCLUDE "P16F84A.INC" reset org 0x00 ;configuracion de pueto b BSF STATUS,RP0 MOVLW b'00000000' MOVWF TRISB MOVLW b'00000' MOVWF TRISA movlw b'00000110' ;configuracin OPTION movwf TMR0 BCF STATUS,RP0 CALL ESPERA1 CONTA EQU 0X20 CONTAD EQU 0X21 CONTADO EQU 0X22 CLRF CONTAD ;4 MOVFW CONTAD CALL TABLA MOVWF PORTB MOVLW b'11101' MOVWF PORTA CALL RETARDO INCF CONTAD MOVLW MOVWF ;5 MOVFW CONTAD CALL TABLA MOVWF MOVLW MOVWF CALL RETARDO MOVLW b'00000100' SUBWF CONTAD,1 MOVLW b'11111' b'11111' PORTA ADDWF PCL,1 ;AMAY RETLW b'00000000' RETLW b'00000000' RETLW b'00000000' RETLW b'00000000' RETLW b'00000000' RETLW b'01111100' RETLW b'00001010' RETLW b'00001001' RETLW b'00001010' RETLW b'01111100' RETLW b'00000000' ;BMAY RETLW b'01111111' RETLW b'01001001' RETLW b'01001001' RETLW b'01001010' RETLW b'00110100' RETLW b'00000000' ;CMAY RETLW b'00111110' RETLW b'01000001' RETLW b'01000001' RETLW b'01000001' RETLW b'01000001' RETLW b'00000000' ;DMAY RETLW b'01111111' RETLW b'01000001' RETLW b'01000001' RETLW b'00100010' RETLW b'00011100' RETLW b'00000000' ;EMAY RETLW b'01111111' RETLW b'01001001' RETLW b'01001001' RETLW b'01001001' RETLW b'01000001' RETLW b'00000000' ;FMAY RETLW b'01111111' RETLW b'00001001' RETLW b'00001001' RETLW b'00001001' RETLW b'00000001' RETLW b'00000000' ;GMAY RETLW b'00111110' RETLW b'01000001' RETLW b'01011001' RETLW b'01001001' RETLW b'00111010' RETLW b'00000000' ;HMAY RETLW b'01111111' RETLW b'00001000' RETLW b'00001000' RETLW b'00001000' RETLW b'01111111' RETLW b'00000000' ;IMAY RETLW b'01000001' RETLW b'01000001' RETLW b'01111111' RETLW b'01000001' RETLW b'01000001'

PORTB b'11110' PORTA

MOVWF PORTA INICIO MOVLW b'00100000' ;MOVLW b'00000001' MOVWF CONTA DMAY ;1 MOVFW CONTAD CALL TABLA MOVWF PORTB MOVLW b'01111' MOVWF PORTA CALL RETARDO INCF CONTAD MOVLW MOVWF ;2 MOVFW CONTAD CALL TABLA MOVWF MOVLW MOVWF CALL RETARDO INCF CONTAD MOVLW MOVWF ;3 MOVFW CONTAD CALL TABLA MOVWF MOVLW MOVWF CALL RETARDO INCF CONTAD MOVLW b'11111' PORTA DECFSZ CONTA,1 GOTO DMAY MOVLW b'00000001' ADDWF CONTAD,1 GOTO INICIO RETARDO bcf INTCON,2 ;desconecta el flag de desbordamiento movlw 0xF7 movwf TMR0 ;carga TMR0 EXPLORA btfss INTCON,2 ;Se ha desbordado TMR0? goto EXPLORA ;bucle hasta que TMR0 llegue a 256 return

PORTB b'10111' PORTA

ESPERA1 bcf INTCON,2 ;desconecta el flag de desbordamiento ;10 MILISEGUNDOS movlw 0xB1 movwf TMR0 ;carga TMR0 EXPLORA1 btfss INTCON,2 ;Se ha desbordado TMR0? goto EXPLORA ;bucle hasta que TMR0 llegue a 256 return

b'11111' PORTA

PORTB b'11011' PORTA

TABLA b'11111'

RETLW ;JMAY RETLW RETLW RETLW RETLW RETLW RETLW ;KMAY RETLW RETLW RETLW RETLW RETLW RETLW ;LMAY RETLW RETLW RETLW RETLW RETLW RETLW ;MMAY RETLW RETLW RETLW RETLW RETLW RETLW ;NMAY RETLW RETLW RETLW RETLW RETLW RETLW ;OMAY RETLW RETLW RETLW RETLW RETLW RETLW ;PMAY RETLW RETLW RETLW RETLW RETLW RETLW ;QMAY RETLW RETLW RETLW RETLW RETLW RETLW ;RMAY RETLW RETLW RETLW RETLW RETLW RETLW ;SMAY RETLW RETLW RETLW RETLW RETLW RETLW

b'00000000' b'00100000' b'01000001' b'01000001' b'00111111' b'00000001' b'00000000' b'01111111' b'00001000' b'00010100' b'00100010' b'01000001' b'00000000' b'01111111' b'01000000' b'01000000' b'01000000' b'01000000' b'00000000' b'01111111' b'00000010' b'00000100' b'00000010' b'01111111' b'00000000' b'01111111' b'00000110' b'00001000' b'00110000' b'01111111' b'00000000' b'01111111' b'01000001' b'01000001' b'01000001' b'01111111' b'00000000' b'01111111' b'00001001' b'00001001' b'00001001' b'00000110' b'00000000' b'00111110' b'01000001' b'01000001' b'00100001' b'01011110' b'00000000' b'01111111' b'00010001' b'00010001' b'00110001' b'01001110' b'00000000' b'01000110' b'01001001' b'01001001' b'01001001' b'00110001' b'00000000'

;TMAY RETLW RETLW RETLW RETLW RETLW RETLW ;UMAY RETLW RETLW RETLW RETLW RETLW RETLW ;VMAY RETLW RETLW RETLW RETLW RETLW RETLW ;WMAY RETLW RETLW RETLW RETLW RETLW RETLW ;XMAY RETLW RETLW RETLW RETLW RETLW RETLW ;YMAY RETLW RETLW RETLW RETLW RETLW RETLW ;ZMAY RETLW RETLW RETLW RETLW RETLW RETLW RETLW RETLW RETLW RETLW

BCF STATUS,RP0 b'00000001' b'00000001' b'01111111' b'00000001' b'00000001' b'00000000' b'00111111' b'01000000' b'01000000' b'01000000' b'00111111' b'00000000' b'00011111' b'00100000' b'01000000' b'00100000' b'00011111' b'00000000' b'01111111' b'00110000' b'00001000' b'00110000' b'01111111' b'00000000' b'01100011' b'00010100' b'00001000' b'00010100' b'01100011' b'00000000' b'00000111' b'00001000' b'01110000' b'00001000' b'00000111' b'00000000' b'01100001' b'01010001' b'01001001' b'01000101' b'01000011' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' CLRF CONTAD GOTO PONUNO CALL ESPERA1 ESPERANDO BTFSS PORTB,7 GOTO ESPERANDO GOTO reset

END

PONUNO CLRF PORTB CLRF PORTA BSF PORTB,7 CALL ESPERA1 BCF PORTB,7 BSF STATUS,RP0 MOVLW b'11111111' MOVWF TRISB MOVLW b'11111' MOVWF TRISA movlw b'00000110' ;configuracin OPTION movwf TMR0

Para otro pic LIST P= 16F84A INCLUDE "P16F84A.INC" reset org 0x00

MOVWF PORTB MOVLW b'10111' MOVWF PORTA CALL RETARDO INCF CONTAD MOVLW b'11111'

bcf INTCON,2 ;desconecta el flag de desbordamiento ;10 MILISEGUNDOS movlw 0xB1 movwf TMR0 ;carga TMR0 EXPLORA1 btfss INTCON,2 ;Se ha desbordado TMR0? goto EXPLORA ;bucle hasta que TMR0 llegue a 256 return

;configuracion de pueto b BSF STATUS,RP0 MOVLW b'11111111' MOVWF TRISB MOVLW b'11111' MOVWF TRISA movlw b'00000110' ;configuracin OPTION movwf TMR0 BCF STATUS,RP0 ESPERANDO BTFSS PORTB,7 GOTO ESPERANDO BCF PORTB,7 BSF STATUS,RP0 MOVLW b'00000000' MOVWF TRISB MOVLW b'00000' MOVWF TRISA movlw b'00000110' ;configuracin OPTION movwf TMR0 BCF STATUS,RP0 CLRF PORTA BCF PORTB,7 CONTA EQU 0X20 CONTAD EQU 0X21 CONTADO EQU 0X22 MOVWF PORTA ;3 MOVFW CONTAD CALL TABLA MOVWF PORTB MOVLW b'11011' MOVWF PORTA CALL RETARDO INCF CONTAD MOVLW MOVWF ;4 MOVFW CONTAD CALL TABLA MOVWF MOVLW MOVWF CALL RETARDO INCF CONTAD MOVLW b'11111' PORTA

TABLA ADDWF PCL,1 ;a RETLW b'00000000' RETLW b'00000000' RETLW b'00000000' RETLW b'00000000' RETLW b'00000000' RETLW b'0111010' RETLW b'1001001' RETLW b'1001001' RETLW b'1001001' RETLW b'1111110' RETLW b'00000000' ;b RETLW RETLW RETLW RETLW RETLW RETLW ;c RETLW RETLW RETLW RETLW RETLW RETLW ;d RETLW RETLW RETLW RETLW RETLW RETLW ;e RETLW RETLW RETLW RETLW RETLW RETLW ;f RETLW RETLW RETLW RETLW RETLW RETLW ;g RETLW RETLW RETLW RETLW

PORTB b'11101' PORTA

b'11111' b'1111111' b'1001000' b'1001000' b'1001000' b'0110000' b'00000000' b'0111000' b'1000100' b'1000100' b'1000100' b'0000000' b'00000000' b'0110000' b'1001000' b'1001000' b'1001000' b'1111111' b'00000000' b'0111110' b'1001001' b'1001001' b'1001001' b'1000110' b'00000000' b'1111110' b'0001001' b'0001001' b'0000010' b'0000000' b'00000000' b'0100110' b'1001001' b'1001001' b'1001001'

MOVWF PORTA ;5 MOVFW CONTAD CALL TABLA MOVWF PORTB MOVLW b'11110' MOVWF PORTA CALL RETARDO MOVLW b'00000100' SUBWF CONTAD,1

CLRF CONTAD MOVLW b'11111'

MOVWF PORTA DECFSZ CONTA,1 GOTO DMAY MOVLW b'00000001' ADDWF CONTAD,1 GOTO INICIO RETARDO bcf INTCON,2 ;desconecta el flag de desbordamiento movlw 0xF7 movwf TMR0 ;carga TMR0 EXPLORA btfss INTCON,2 ;Se ha desbordado TMR0? goto EXPLORA ;bucle hasta que TMR0 llegue a 256 return

INICIO MOVLW b'00100000' ;MOVLW b'00000001' MOVWF CONTA DMAY ;1 MOVFW CONTAD CALL TABLA MOVWF PORTB MOVLW b'01111' MOVWF PORTA CALL RETARDO INCF CONTAD MOVLW b'11111'

MOVWF PORTA ;2 MOVFW CONTAD CALL TABLA

ESPERA1

RETLW RETLW ;h RETLW RETLW RETLW RETLW RETLW RETLW ;i RETLW RETLW RETLW RETLW RETLW RETLW ;j RETLW RETLW RETLW RETLW RETLW RETLW ;k RETLW RETLW RETLW RETLW RETLW RETLW ;l RETLW RETLW RETLW RETLW RETLW RETLW ;m RETLW RETLW RETLW RETLW RETLW RETLW ;n RETLW RETLW RETLW RETLW RETLW RETLW ;o RETLW RETLW RETLW RETLW RETLW RETLW ;p RETLW RETLW RETLW RETLW RETLW RETLW ;q RETLW RETLW RETLW RETLW RETLW

b'0111111' b'00000000' b'1111111' b'0001000' b'0001000' b'1110000' b'0000000' b'00000000' b'0000000' b'0000000' b'1111101' b'0000000' b'0000000' b'00000000' b'0000000' b'0100000' b'1000000' b'1000000' b'0111101' b'00000000' b'1111111' b'0011000' b'0100100' b'1000010' b'0000000' b'00000000' b'0000000' b'0000001' b'1111111' b'0000000' b'0000000' b'00000000' b'1111111' b'0000010' b'1111100' b'0000010' b'1111110' b'00000000' b'1111111' b'0000010' b'0000010' b'0000010' b'1111100' b'00000000' b'0111000' b'1000100' b'1000100' b'1000100' b'0111000' b'00000000' b'1111111' b'0001001' b'0001001' b'0000110' b'0000000' b'00000000' b'0000000' b'0000110' b'0001001' b'0101001' b'1111111'

RETLW ;r RETLW RETLW RETLW RETLW RETLW RETLW ;RETLW RETLW RETLW RETLW RETLW RETLW RETLW ;t RETLW RETLW RETLW RETLW RETLW RETLW ;u RETLW RETLW RETLW RETLW RETLW RETLW ;v

b'00000000'

PONUNO BSF PORTB,7 CALL ESPERA1 GOTO reset

b'1111111' b'0000100' b'0000010' b'0000010' b'0001100' b'00000000' b' b'0000000' b'0100110' b'1001001' b'0110010' b'0000000' b'00000000'

END

b'0000000' b'0000100' b'1111111' b'0000100' b'0000000' b'00000000'

b'0111100' b'1000000' b'1000000' b'0111100' b'0000000' b'00000000'

RETLW b'0000000' RETLW b'0111100' RETLW b'1000000' RETLW b'0111100' RETLW b'0000000' RETLW b'00000000' ;w RETLW b'0111000' RETLW b'1000000' RETLW b'0110000' RETLW b'1000000' RETLW b'0111000' RETLW b'00000000' ;x RETLW b'1000100' RETLW b'0101000' RETLW b'0010000' RETLW b'0101000' RETLW b'1000100' RETLW b'00000000' ;y RETLW b'0000010' RETLW b'1000100' RETLW b'0111000' RETLW b'0000100' RETLW b'0000010' RETLW b'00000000' ;z RETLW b'1000100' RETLW b'1100100' RETLW b'1010100' RETLW b'1001100' RETLW b'1000100' RETLW b'00000000' CLRF CONTAD