# Tablero matricial con leds y PIC



## joshdaniel (Abr 17, 2008)

Les dejo el esquematico, en forma de imagen y como archivo de eagle. los valores de las resistencias son de 33kOhm y los transistores son de propósito general en este caso el NPN es bc548 y el PNP es bc558, los integrados aparte del PIC16F84A son 74LS138, uhmm el cristal es de 4Mhz y los condensadores son de 27pF, ah la resistencia del reset es de 4.7kOhm.  ademas tiene dos alimentaciones, una para el PIC e integrados que es de 5V y otra para la alimentacion de los Leds que puedes variar para regular el brillo. Si a VDD le das 5V brillaran bastante bien. eso es todo disfrútenlo.


----------



## joshdaniel (Abr 17, 2008)

aqui te envio el archivo "panel de mensajes.asm" ademas necesitas una cabecera "RETARDOS.inc" que deveras incluir al ensamblar el archivo en el MPLAB. Si solo lo quieres probar sin que tenga ninguna modificacion te envio el archivo listo para grabar "panel de mensajes.hex". Si tienes alguna duda solo consultame que en cuanto pueda te responderé


----------



## joshdaniel (Abr 17, 2008)

el archivo anterior era el archivo .asm! ahora les mando el archivo inc, pero deberán cambiarle primero la extensión de asm a .inc (ojo solo la extension)


----------



## lenguasagaz (Dic 6, 2008)

Muchisimas gracias por el código ese rdtá completo y muy bien hecho solo me faltaría alambrarlo para hacerlo que funcione , primero dios me comunico contigo mas tarde para decirte los resultados y de nueva cuenta muchisimas gracias


----------



## Moyano Jonathan (Dic 6, 2008)

excelente proyecto muy bien pensado y realizado


----------



## wayne21 (Dic 22, 2008)

gracias compañero,ya habia trabajado con leds pero con matrix de leds,asi voy a implementar el suyo para ver como me va


----------



## joshdaniel (Dic 23, 2008)

cualquier pregunta y comentario solo avisarme ok=?


----------



## cristian_elect (Dic 30, 2008)

Gracias por el circuito, me parece que puede ser dos veces mas largo o los leds pierden mas brillo(64 leds de largo).


----------



## joshdaniel (Dic 30, 2008)

Bueno si la verdad si puede llegar a ser dos veces mas largo con la consecuencia de que los led pierden brillo, seria de aumentar un poco la corriente, y mantener la corriente eficaz, y bueno otra solucion seria la de hacer un barrido vertical y ya no horizontal pero se necesitaria cambiar casi todo.


----------



## dayanmata (Feb 15, 2009)

Buenas amigo monte el circuito con el pic 16f84a y me funciono perfecto pero el pic se me daño y consegui fue un pic16F628A que supuestamente lo sustituye pero que cosas tengo que cambiar en el programa para que me trabaje igual que con el pic16f84A ya que no soy muy ducho programando en ensamblador.


----------



## cris1416 (Abr 23, 2009)

muchas gracias por el articulo, lo voy a desarrolar, y les cuento como me fue, graciassssssssssss....


----------



## jorge del pozzo (Jun 29, 2009)

por que  no puedo  abrir las  descargas me ´pide   buscar el programa en internet y aun asi no  sale nada  apenas  pude descargar el esquematico


----------



## Chico3001 (Jun 29, 2009)

de cuales descargas hablas?


----------



## jorge del pozzo (Jun 30, 2009)

buenas noches resulta que  quisiera realizar  el proyecto del panel con leds  pero  cuando quiero abrir los archivos no se puede, como el del programa asm o de retardos etc  al abrir me sale un mensaje   acerca de un programita que hay que buscar en internet para abrir estos archivos  por el contrario al abrir el  archivo del esquematico  se visualizo rapidamente  y  no    me  requirio nada si me  pudieras asesorar   o tal vex me  equivoco  yo     gracias


----------



## Chico3001 (Jul 1, 2009)

Ya me preocupo bastante que no sabes cuales son los programas que necesitas para ver los archivos.... seguro que sabes programacion de microcontroladores?

En fin... para ver los ASM necesitas bajar e instalar el MPLAB, lo puedes bajar gratis de esta direccion:

http://www.microchip.com/stellent/i...E&nodeId=1406&dDocName=en019469&part=SW007002

El archivo HEX viene comprimido con Winrar, puedes bajar la version de demostracion aqui:

http://www.winrar.es/descargas


----------



## manuelchavez (Jul 1, 2009)

Hola con todos este proyecto es muy interesante,quisiera saber que modificaciones deberia hacerle al programa y al circuito para sacar mensajes en matrix display de 5x7 usando al menos 15 matrices en forma horizontal y con pic16f877 de preferencia simulado en proteus. Seria mas bacan si los datos se puedan introducir por teclado y sacar por display matrix.
Gracias de antemano.


----------



## luchommarinn (Ago 6, 2009)

Disculpen, soy novato en la programacion en ensamblador, y siempre he utilizado la instruccion movlw para cargar en el registro w una cantidad pero no un caracter... disculpen mi ignorancia


----------



## Vick (Ago 7, 2009)

luchommarinn dijo:
			
		

> Disculpen, soy novato en la programacion en ensamblador, y siempre he utilizado la instruccion movlw para cargar en el registro w una cantidad pero no un caracter... disculpen mi ignorancia



En realidad estas cargandole un valor numérico a W, solo que es el correspondiente al código ascii de la "j" en este caso, por ejemplo:

movlw 'j'

guardará el valor 01101010 en W que es el código ascii de la "j" sería exactamente igual si lo hicieras así:

movlw b'01101010'


----------



## johneltefuel (Jul 15, 2013)

Hola amigos tengo el mismo proyecto pero pero de una matrix 8x8 con el pic 16f84a y el 74164 pero no entiendo muy bien el programa porque se necesito usar las 8 salidas del puerto B y las otras 8 del ic 74164 pero no se como mandarle los datos al 74164 desde el 16f84a y como tambien hacer el reloj para el 74164


----------



## alexsaull (Jun 22, 2014)

Holas a todos... Soy nuevo en la programacion de PIC, nose si porfavor alguien me pueda ayudar a entender esta parte del codigo:


```
DEZPLAZAR_32
			movlw			d'6'
			movwf			CONTA
DEZPLAZAR	movlw			0x20					;Esta rutina en general dezplaza una posicion todas
			movwf			FSR						;las columnas existentes en el panel, hacia la izquierda.
OTRA_VEZ	movf			INDF,W					; y luego llama a rutina barrido hasta que se barra los 
			decf			FSR,F					; 6 datos de cada caracterm, ahi es cuando retorna a
			movwf			INDF					; buscar el siguiente dato para almacenarlo
			incf			FSR,F
			incf			FSR,F
			movlw			0x46
			xorwf			FSR,W
			btfss			STATUS,Z
			goto			OTRA_VEZ
			call			BARRIDO
			decfsz			CONTA,F
			goto			DEZPLAZAR
			return

BARRIDO		clrf			PORTA
			movlw			0x20					;Barre el Panel,hasta llegar a la ultima columna								
			movwf			FSR
INCREMENTAR	movf			INDF,W
			movwf			PORTB
			call			Retardo_1ms
			call			Retardo_500micros
			clrf			PORTB
			incf			PORTA,F
			;call			Retardo_2s
			incf			FSR,F
			btfss			FSR,6
			goto			INCREMENTAR
			return
```

Muchas Gracias de antemano
Saludos


----------

