Controlar una matriz de leds con un pic 16f628a

amigo cesar gracias por responder ,yo mas q nadie quisiera hacer el programa pero el assembler no lo manejo ,por q me resulta muy complejo y largo hacer el programa ,trate de realizarlo con pic basic pro pero me falta dedicacion, talves por falta de tiempo ,se nota que sabe mucho del shiftregister una pregunta amigo el 74hc164 tambien puede servir para una desplazamiento de arriba para abajo o viceversa de acuerdo al sgte esquema
 

Adjuntos

  • matrix.jpg
    matrix.jpg
    194.9 KB · Visitas: 515
Última edición:
Claro que si sirve para el desplazamiento que desees todo depende del programa como lo realices
te cuent oque yo tengo el mismo diagrama puedo escribir las letras que yo dese,e pero no se como hacer que se desplacen las letras ese es mi gran problemilla, estoy programando en pic basic simulator
 
Última edición:
Saludos a todos y feliz año! Ayer en mi blog publique un tutorial sobre como multiplexar una matriz de leds y me parece que puede ser de utilidad para la gente del foro, sobre todo para los novatos.

Para controlar la matriz de leds utilizo un pic 16f628a pero el codigo puede ser facilmente portable a cualquier otro pic. La matriz es de 5x7 leds, ideal para mostrar numeros y letras. Los 5 catodos de la matriz estan conectados al puerto A y los 7 anodos al puerto B. La multiplexacion se realiza encendiendo cada una de las columnas de la matriz a la vez, pero se realiza tan rapido que parece que todas las columnas estan encendidas de modo que en la matriz se vea lo que se quiere mostrar.

http://img177.imageshack.us/my.php?image=ledmultiplexge6.jpg

En mi blog esta un poco mas explicado el procedimiento para realizar la multiplexacion, otra pagina con un tutorial muy bueno sobre multiplexar una matriz de leds es http://www.winpicprog.co.uk/pic_tutorial13.htm

Adjunto el codigo de mi ejemplo, espero que a alguien le sirva y si surge alguna duda no duden en preguntar cualquier cosa. Si alguien quiere ver el ejemplo en funcionamiento

YouTube - Multiplex led matrix 5x7 - PIC 16F628a

Lo estuve mirando y esta buenisimo, gracias, yo nunca hice multiplex pero ya es hora de comenzar a hacerlo, gracias, chauuuuuu
 
Hola con todos.
Soy un novato en esto de los pics, solo se programación en basic de proton.
Estuve leyendo acerca de la matriz de leds, segun la información que he encontrado el registro de desplazamiento se puede hacer con un 74LS164, pero mi problema esta en que los bit se mandan uno por uno y no se cual comando usar para hacer este trabajo.
Segun la pagina de ucontrol el comando es ShiftLeft un comando de PICsimulator ide, pero cual seria el equivalente de ese comando en proton, o una rutina que haga lo mismo.
Gracias por su ayuda de antemano, adjunto la pagina de donde saque la información:
http://www.ucontrol.com.ar/Articulos/matrizled7x32/matrizLED7x32.htm
 
compañeros les comento que hice la matriz de leds que aparace en la pagina de u control esta para se exactos la de 8x8

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

el asunto es que la arme pero no me funciono no hace nada de nada jejej no enciende, probe con el tester las salidas de el pic para checar voltajes e hice las medidas correspondientes, de voltaje continuidad y ese tipo de cosas, las mediciones a mi parecer están bien pero el problemas es que no funcciona :S

solo programe el pic pero no estoy seguro si también se programe la eprom, si alguno de ustedes ya la armo y tubo algún problema similar agradecería mucho su ayuda,

un gran saludo.
 
amigo cesar gracias por responder ,yo mas q nadie quisiera hacer el programa pero el assembler no lo manejo ,por q me resulta muy complejo y largo hacer el programa ,trate de realizarlo con pic basic pro pero me falta dedicacion, talves por falta de tiempo ,se nota que sabe mucho del shiftregister una pregunta amigo el 74hc164 tambien puede servir para una desplazamiento de arriba para abajo o viceversa de acuerdo al sgte esquema



esta muy bueno el proyecto de esa matriz... yo he esatdo teniendo problemas para aumentar mi mensaje de 256 a 512 .... y no le hallo... kiiero saber si ya conseguiste el archivo y ... ver si me podrias ayudar.... saludos
 
Soy nuevo es esto pero mi preguntaba, si hay alguna forma de ingresar el mensaje por un teclado y si se tendria que modificar el circuito para ello y que lenguaje de programacion usaria?
 
Última edición por un moderador:
hola de igual manera que el amigo yager quisiera hacer oh entender la programacion encontre el asm y el archivo hex de esta pagina. http://www.circuitdb.com/circuits/id/64
mi problema esta es que indica en que se debe de colocar tu mensaje en la eeprom de datos del pic, siendo sincero no se como hacerlo estaria agradecido en que pudieran sakarme de esa duda , gracias.
 
hola cristian76 lo que tienes q hacer es implementar la rutina de escritura de la eepron del pic esta en la hoja de datos del pic para rescatar las veriables necesarias
 
Hola...alguien podria colaborar para explicarme como hacer estos efectos tal cual el video. Tengo un amigo que sabe de pic pero resulta que vive trabajando como para que se cuelgue armando algo. desde ya les agradesco y si necesitan info de audio,iluminación y/o laser rgb profesional chiflen y con gusto pasare toda la info necesaria.

me olvide de subir el link.jej
 
Última edición:
Bueno la pregunta del millon es . ? que necesitas ? El Circuito Electronico, El programa para gravar en el PIC, ?.

Esto por un lado, ademas que Pic quieres utlizar.

Yo te podria ayudar con el programa ( Solo se Programar en Assembler) .
Esto vendria a ser como el famosisimo programa y circuito del auto fantastico.

Solo que aqui los Leds Se colocan de Forma Circular..
Con el adecuado programa se le puede dar la secuencia, orden y efectos que uno quiera.

Entonces Comenta que es esactamente lo que quieres.

cesaar
 
gracias cesar por responder. yo de pic no se mucho. pero creo que seria algo asi como un PLC? pero en versión electronica y con otro lenguaje de escritura. El programa que maneja mi amigo es assembler, asi que viene barbaro que sepas ese. necesitaria supongo yo que seria la hoja con esos valores para que el pic correspondiente al video haga eso. supongo que sera un 16f? desde ya agradesco la paciencia y la buena onda. Y como dije antes, si necesitan apoyo en audio e iluminación profesional no duden en consultarme. gracias
 
Hola emmanueldj ;

Bueno No se Como colocar dibujos o diagramas aqui en el foro , por lo tanto tratare de explicarte como c Armar tu Circuito.

Podrias comenzar en un Protoboard.

olocas tu PIC 16F628

Al Pin 5 Le conectas GND ( 0 Voltios)
Al Pin 14 Le Conectas 5 Voltios ( Bien Filtraditos D.C )

Este Microcontrolador No requiere Oscilador Externo ya que lleva uno interno.
Ahora Bien A el PIN 9 Colocas el extremo de una resistencia de 330 Oms El otro extremo a el anodo del LED ( La patica mas larga de el LED es el positivo, por lo tanto la mas corta Negativo) El Otro Extremo del LED PATA CORTA A GND o Volts.

Asi se hara con cada pin Desde el 9 Hasta el Pin 13 .

Deberas conseguir un programador de PC ( sSi tu amigo trabajo con PICS debe Tener un que te Preste)

Aqui esta el programa.

Código:
; ************************************************* LUCES_1.asm ************************************************** ******

;;;;; Estimado amigo Si quiere iniciarse en el mundo de los microcontroladores PIC Le recomiendo el libr o

;;; ********************************** MICROCONTROLADOR PIC 16F84 Desarrollo de Proyectos Editorial Rama**********
;; Es un exelente libro Presisamente la libreria de Retardo en este ejercicio es de ese LIBRO.
;;;; Usted podra escojer el tiempo que quiera , desde 4 microsegunos hasta 10 segundos  mezclandolo, de acuerdo a su gusto.
;;;; esto es solamente una muestra de lo que usted pidio hay ptras maneras de llegar a el mismo final.

LIST P=16f628A
INCLUDE <P16F628A.INC>





ORG 0x00
GOTO Inicio

Inicio
MOVLW 0x07
MOVWF CMCON ;desactivamos Comparadores
BSF STATUS,RP0 ;Seleccionamos banco 1
CLRF PORTB ; seleccionamos PORTB todo Como salida
MOVLW 0x07
MOVWF CMCON ;desactivamos Comparadores
BCF STATUS,RP0 ; Selecciopnamos Banco 0
CLRF PORTB

Principal

;;; ******************* Seleccionamos la secuencia y orden de encendido de los LEDS.
; Al Finalizar Autoamticamente volvera a continuar, quedara en este loop FOR EVER

MOVLW B'00000000'
movwf PORTB
CALL Retardo_1s ; Usted podra escojer el tiempo que quiera 
MOVLW B'00000001'
movwf PORTB
CALL Retardo_1s
MOVLW B'00000010'
movwf PORTB
CALL Retardo_1s
MOVLW B'00000100'
movwf PORTB
CALL Retardo_1s
MOVLW B'00001000'
movwf PORTB
CALL Retardo_1s
MOVLW B'00010000'
movwf PORTB
CALL Retardo_1s
MOVLW B'00100000'
movwf PORTB
CALL Retardo_1s
MOVLW B'01000000'
movwf PORTB
CALL Retardo_1s
MOVLW B'10000000'
movwf PORTB
CALL Retardo_1s
;;****************** Hasta aqui tenemos los LEDS Encvendiendo Secuencialmente desde RB0 Hasta Rb7. El tiempo de encendido usted
; Lo podra Elegir de acuerdo a Su GUSTO.

MOVLW B'00000000'
movwf PORTB
CALL Retardo_1s
MOVLW B'10000000'
movwf PORTB
CALL Retardo_1s
MOVLW B'01000000'
movwf PORTB
CALL Retardo_1s
MOVLW B'00100000'
movwf PORTB
CALL Retardo_1s
MOVLW B'00010000'
movwf PORTB
CALL Retardo_1s
MOVLW B'00001000'
movwf PORTB
CALL Retardo_1s
MOVLW B'00000100'
movwf PORTB
CALL Retardo_1s
MOVLW B'00000010'
movwf PORTB
CALL Retardo_1s
MOVLW B'00000001'
movwf PORTB
CALL Retardo_1s

;;;;****************************aHORA ESTAN eNCENDIENDO Y APAGANMDO EN SENTIDO CONTRARIO DE RB7 HASTA RB0

MOVLW B'10000001'
movwf PORTB
CALL Retardo_1s
MOVLW B'01000010'
movwf PORTB
CALL Retardo_1s
MOVLW B'00100100'
movwf PORTB
CALL Retardo_1s
MOVLW B'00011000'
movwf PORTB
CALL Retardo_1s
MOVLW B'00101000'
movwf PORTB
CALL Retardo_1s
MOVLW B'01000010'
movwf PORTB
CALL Retardo_1s
MOVLW B'10000001'
movwf PORTB
CALL Retardo_1s
MOVLW B'10010001'
movwf PORTB
CALL Retardo_1s
MOVLW B'00111001'
movwf PORTB
CALL Retardo_1s

GOTO Principal ; Vuelve a Em[pezar 
;;;****************************aQUI iLUMINA Y APAGA DE AFUERA HACIA ADENTRO Y DE ADENTRO HACIA AFUERA.**********

;; Esta seria "" UNA " de las manera de hacer un juego secuencial de luces .. La secuencia u orden de encendido 
;; La decide cada uno Al Colocar el digito "" 1 "" equivaldra a sacar una senal de Alta por el Pin del 
;; Microcontrolador ( 5 Voltios Puede Usar una resistencia de unos 330 omhios para conectar cada LED).

;; De cada pin del PORTB saldra una resistencia de 330 Omhs. Al ANODO de cada LED El Catodo ira a GND ( 0 Volts) 

;; 8 PINES igual 8 salidas = 8 resistencias = 8 LEDS.

;**************************** Librería "RETARDOS.INC" *********************************
;
; ================================================== =================
; Del libro "MICROCONTROLADOR PIC16F84. DESARROLLO DE PROYECTOS"
; E. Palacios, F. Remiro y L. López. [url]www.pic16f84a.com[/url]
; Editorial Ra-Ma. [url]www.ra-ma.es[/url]
; ================================================== =================
;
; Librería con múltiples subrutinas de retardos, desde 4 microsegundos hasta 20 segundos. 
; Además se pueden implementar otras subrutinas muy fácilmente.
;
; Se han calculado para un sistema microcontrolador con un PIC trabajando con un cristal
; de cuarzo a 4 MHz. Como cada ciclo máquina son 4 ciclos de reloj, resulta que cada
; ciclo máquina tarda 4 x 1/4MHz = 1 µs.
;
; En los comentarios, "cm" significa "ciclos máquina".
;
; ZONA DE DATOS ************************************************** *******************

CBLOCK
R_ContA ; Contadores para los retardos.
R_ContB
R_ContC
ENDC
;
; RETARDOS de 4 hasta 10 microsegundos ---------------------------------------------------
;
; A continuación retardos pequeños teniendo en cuenta que para una frecuencia de 4 MHZ,
; la llamada a subrutina "call" tarda 2 ciclos máquina, el retorno de subrutina
; "return" toma otros 2 ciclos máquina y cada instrucción "nop" tarda 1 ciclo máquina.
;
Retardo_10micros ; La llamada "call" aporta 2 ciclos máquina.
nop ; Aporta 1 ciclo máquina.
nop ; Aporta 1 ciclo máquina.
nop ; Aporta 1 ciclo máquina.
nop ; Aporta 1 ciclo máquina.
nop ; Aporta 1 ciclo máquina.
Retardo_5micros ; La llamada "call" aporta 2 ciclos máquina.
nop ; Aporta 1 ciclo máquina.
Retardo_4micros ; La llamada "call" aporta 2 ciclos máquina.
return ; El salto del retorno aporta 2 ciclos máquina.
;
; RETARDOS de 20 hasta 500 microsegundos ------------------------------------------------
;
Retardo_500micros ; La llamada "call" aporta 2 ciclos máquina.
nop ; Aporta 1 ciclo máquina.
movlw d'164' ; Aporta 1 ciclo máquina. Este es el valor de "K".
goto RetardoMicros ; Aporta 2 ciclos máquina.
Retardo_200micros ; La llamada "call" aporta 2 ciclos máquina.
nop ; Aporta 1 ciclo máquina.
movlw d'64' ; Aporta 1 ciclo máquina. Este es el valor de "K".
goto RetardoMicros ; Aporta 2 ciclos máquina.
Retardo_100micros ; La llamada "call" aporta 2 ciclos máquina.
movlw d'31' ; Aporta 1 ciclo máquina. Este es el valor de "K".
goto RetardoMicros ; Aporta 2 ciclos máquina.
Retardo_50micros ; La llamada "call" aporta 2 ciclos máquina.
nop ; Aporta 1 ciclo máquina.
movlw d'14' ; Aporta 1 ciclo máquina. Este es el valor de "K".
goto RetardoMicros ; Aporta 2 ciclos máquina.
Retardo_20micros ; La llamada "call" aporta 2 ciclos máquina.
movlw d'5' ; Aporta 1 ciclo máquina. Este es el valor de "K".
;
; El próximo bloque "RetardoMicros" tarda:
; 1 + (K-1) + 2 + (K-1)x2 + 2 = (2 + 3K) ciclos máquina.
;
RetardoMicros
movwf R_ContA ; Aporta 1 ciclo máquina.
Rmicros_Bucle
decfsz R_ContA,F ; (K-1)x1 cm (cuando no salta) + 2 cm (al saltar).
goto Rmicros_Bucle ; Aporta (K-1)x2 ciclos máquina.
return ; El salto del retorno aporta 2 ciclos máquina.
;
;En total estas subrutinas tardan:
; - Retardo_500micros: 2 + 1 + 1 + 2 + (2 + 3K) = 500 cm = 500 µs. (para K=164 y 4 MHz).
; - Retardo_200micros: 2 + 1 + 1 + 2 + (2 + 3K) = 200 cm = 200 µs. (para K= 64 y 4 MHz).
; - Retardo_100micros: 2 + 1 + 2 + (2 + 3K) = 100 cm = 100 µs. (para K= 31 y 4 MHz).
; - Retardo_50micros : 2 + 1 + 1 + 2 + (2 + 3K) = 50 cm = 50 µs. (para K= 14 y 4 MHz).
; - Retardo_20micros : 2 + 1 + (2 + 3K) = 20 cm = 20 µs. (para K= 5 y 4 MHz).
;
; RETARDOS de 1 ms hasta 200 ms. --------------------------------------------------------
;
Retardo_200ms ; La llamada "call" aporta 2 ciclos máquina.
movlw d'200' ; Aporta 1 ciclo máquina. Este es el valor de "M".
goto Retardos_ms ; Aporta 2 ciclos máquina.
Retardo_100ms ; La llamada "call" aporta 2 ciclos máquina.
movlw d'100' ; Aporta 1 ciclo máquina. Este es el valor de "M".
goto Retardos_ms ; Aporta 2 ciclos máquina.
Retardo_50ms ; La llamada "call" aporta 2 ciclos máquina.
movlw d'50' ; Aporta 1 ciclo máquina. Este es el valor de "M".
goto Retardos_ms ; Aporta 2 ciclos máquina.
Retardo_20ms ; La llamada "call" aporta 2 ciclos máquina.
movlw d'20' ; Aporta 1 ciclo máquina. Este es el valor de "M".
goto Retardos_ms ; Aporta 2 ciclos máquina.
Retardo_10ms ; La llamada "call" aporta 2 ciclos máquina.
movlw d'10' ; Aporta 1 ciclo máquina. Este es el valor de "M".
goto Retardos_ms ; Aporta 2 ciclos máquina.
Retardo_5ms ; La llamada "call" aporta 2 ciclos máquina.
movlw d'5' ; Aporta 1 ciclo máquina. Este es el valor de "M".
goto Retardos_ms ; Aporta 2 ciclos máquina.
Retardo_2ms ; La llamada "call" aporta 2 ciclos máquina.
movlw d'2' ; Aporta 1 ciclo máquina. Este es el valor de "M".
goto Retardos_ms ; Aporta 2 ciclos máquina.
Retardo_1ms ; La llamada "call" aporta 2 ciclos máquina.
movlw d'1' ; Aporta 1 ciclo máquina. Este es el valor de "M".
;
; El próximo bloque "Retardos_ms" tarda:
; 1 + M + M + KxM + (K-1)xM + Mx2 + (K-1)Mx2 + (M-1) + 2 + (M-1)x2 + 2 =
; = (2 + 4M + 4KM) ciclos máquina. Para K=249 y M=1 supone 1002 ciclos máquina
; que a 4 MHz son 1002 µs = 1 ms.
;
Retardos_ms
movwf R_ContB ; Aporta 1 ciclo máquina.
R1ms_BucleExterno
movlw d'249' ; Aporta Mx1 ciclos máquina. Este es el valor de "K".
movwf R_ContA ; Aporta Mx1 ciclos máquina.
R1ms_BucleInterno
nop ; Aporta KxMx1 ciclos máquina.
decfsz R_ContA,F ; (K-1)xMx1 cm (cuando no salta) + Mx2 cm (al saltar).
goto R1ms_BucleInterno ; Aporta (K-1)xMx2 ciclos máquina.
decfsz R_ContB,F ; (M-1)x1 cm (cuando no salta) + 2 cm (al saltar).
goto R1ms_BucleExterno ; Aporta (M-1)x2 ciclos máquina.
return ; El salto del retorno aporta 2 ciclos máquina.
;
;En total estas subrutinas tardan:
; - Retardo_200ms: 2 + 1 + 2 + (2 + 4M + 4KM) = 200007 cm = 200 ms. (M=200 y K=249).
; - Retardo_100ms: 2 + 1 + 2 + (2 + 4M + 4KM) = 100007 cm = 100 ms. (M=100 y K=249).
; - Retardo_50ms : 2 + 1 + 2 + (2 + 4M + 4KM) = 50007 cm = 50 ms. (M= 50 y K=249).
; - Retardo_20ms : 2 + 1 + 2 + (2 + 4M + 4KM) = 20007 cm = 20 ms. (M= 20 y K=249).
; - Retardo_10ms : 2 + 1 + 2 + (2 + 4M + 4KM) = 10007 cm = 10 ms. (M= 10 y K=249).
; - Retardo_5ms : 2 + 1 + 2 + (2 + 4M + 4KM) = 5007 cm = 5 ms. (M= 5 y K=249).
; - Retardo_2ms : 2 + 1 + 2 + (2 + 4M + 4KM) = 2007 cm = 2 ms. (M= 2 y K=249).
; - Retardo_1ms : 2 + 1 + (2 + 4M + 4KM) = 1005 cm = 1 ms. (M= 1 y K=249).
;
; RETARDOS de 0.5 hasta 20 segundos ---------------------------------------------------
;
Retardo_20s ; La llamada "call" aporta 2 ciclos máquina.
movlw d'200' ; Aporta 1 ciclo máquina. Este es el valor de "N".
goto Retardo_1Decima ; Aporta 2 ciclos máquina.
Retardo_10s ; La llamada "call" aporta 2 ciclos máquina.
movlw d'100' ; Aporta 1 ciclo máquina. Este es el valor de "N".
goto Retardo_1Decima ; Aporta 2 ciclos máquina.
Retardo_5s ; La llamada "call" aporta 2 ciclos máquina.
movlw d'50' ; Aporta 1 ciclo máquina. Este es el valor de "N".
goto Retardo_1Decima ; Aporta 2 ciclos máquina.
Retardo_2s ; La llamada "call" aporta 2 ciclos máquina.
movlw d'20' ; Aporta 1 ciclo máquina. Este es el valor de "N".
goto Retardo_1Decima ; Aporta 2 ciclos máquina.
Retardo_1s ; La llamada "call" aporta 2 ciclos máquina.
movlw d'10' ; Aporta 1 ciclo máquina. Este es el valor de "N".
goto Retardo_1Decima ; Aporta 2 ciclos máquina.
Retardo_500ms ; La llamada "call" aporta 2 ciclos máquina.
movlw d'5' ; Aporta 1 ciclo máquina. Este es el valor de "N".
;
; El próximo bloque "Retardo_1Decima" tarda:
; 1 + N + N + MxN + MxN + KxMxN + (K-1)xMxN + MxNx2 + (K-1)xMxNx2 +
; + (M-1)xN + Nx2 + (M-1)xNx2 + (N-1) + 2 + (N-1)x2 + 2 =
; = (2 + 4M + 4MN + 4KM) ciclos máquina. Para K=249, M=100 y N=1 supone 100011
; ciclos máquina que a 4 MHz son 100011 µs = 100 ms = 0,1 s = 1 décima de segundo.
;
Retardo_1Decima
movwf R_ContC ; Aporta 1 ciclo máquina.
R1Decima_BucleExterno2
movlw d'100' ; Aporta Nx1 ciclos máquina. Este es el valor de "M".
movwf R_ContB ; Aporta Nx1 ciclos máquina.
R1Decima_BucleExterno
movlw d'249' ; Aporta MxNx1 ciclos máquina. Este es el valor de "K".
movwf R_ContA ; Aporta MxNx1 ciclos máquina.
R1Decima_BucleInterno 
nop ; Aporta KxMxNx1 ciclos máquina.
decfsz R_ContA,F ; (K-1)xMxNx1 cm (si no salta) + MxNx2 cm (al saltar).
goto R1Decima_BucleInterno ; Aporta (K-1)xMxNx2 ciclos máquina.
decfsz R_ContB,F ; (M-1)xNx1 cm (cuando no salta) + Nx2 cm (al saltar).
goto R1Decima_BucleExterno ; Aporta (M-1)xNx2 ciclos máquina.
decfsz R_ContC,F ; (N-1)x1 cm (cuando no salta) + 2 cm (al saltar).
goto R1Decima_BucleExterno2 ; Aporta (N-1)x2 ciclos máquina.
return ; El salto del retorno aporta 2 ciclos máquina.
;
;En total estas subrutinas tardan:
; - Retardo_20s: 2 + 1 + 2 + (2 + 4N + 4MN + 4KMN) = 20000807 cm = 20 s.
; (N=200, M=100 y K=249).
; - Retardo_10s: 2 + 1 + 2 + (2 + 4N + 4MN + 4KMN) = 10000407 cm = 10 s.
; (N=100, M=100 y K=249).
; - Retardo_5s: 2 + 1 + 2 + (2 + 4N + 4MN + 4KMN) = 5000207 cm = 5 s.
; (N= 50, M=100 y K=249).
; - Retardo_2s: 2 + 1 + 2 + (2 + 4N + 4MN + 4KMN) = 2000087 cm = 2 s.
; (N= 20, M=100 y K=249).
; - Retardo_1s: 2 + 1 + 2 + (2 + 4N + 4MN + 4KMN) = 1000047 cm = 1 s.
; (N= 10, M=100 y K=249).
; - Retardo_500ms: 2 + 1 + (2 + 4N + 4MN + 4KMN) = 500025 cm = 0,5 s.
; (N= 5, M=100 y K=249).

; ================================================== =================
; Del libro "MICROCONTROLADOR PIC16F84. DESARROLLO DE PROYECTOS"
; E. Palacios, F. Remiro y L. López. [url]www.pic16f84a.com[/url]
; Editorial Ra-Ma. [url]www.ra-ma.es[/url]
; ================================================== =================






END



Executing: "C:\Program Files (x86)\MPLAB IDE\MCHIP_Tools\mpasmwin.exe" /q /p16F628A "LUCES_1.ASM" /l"LUCES_1.lst" /e"LUCES_1.err"
Message[313] C:\ASM TEST\LUCES_1.ASM 153 : CBLOCK constants will start with a value of 0.
Loaded C:\ASM TEST\LUCES_1.COD
BUILD SUCCEEDED
 
Última edición por un moderador:
Buenas a todos,

Antes que nada pido disculpas por molestarlos y por quitarles su valioso tiempos, pero lo hago porque he buscado y en el momento no tengo una persona que me pueda guiar en esto.

Resulta que, he diseñado el Banner Led con una matriz 8x8 pero me gustaria ampliarla, colocando otra o mas matrices para la continuacion del mensaje, alguien me habia sugerido hacerlo con Registros de Desplazamiento, pero a la hora de aplicarlo, no he podido dar como conectarlos, Si alguien pudiera colaborarme, se lo agredeceria en el alma. O si saben de que otra manera se puede hacer o simplemente si saben que no sepuede hacer con Registros de Desplazamiento, por favor haganmelo saber.
Muchas gracias por su tiempo.
Saludos.

Adjunto archivo en ISiS con el .Hex del micro.
PD: Disculpen el mensaje de la matrix, esta dedicado a un compañero de clases y la bestialidad que hice con los Registros de Desplazamiento :)
 

Adjuntos

  • MatrizLed8x8.zip
    17.3 KB · Visitas: 485
como multiplexar una matriz de leds de 8x8 ... solo tengo el puerto b disponible......... que integrado debo usar...
con la programacion no hay problema ....
 
Atrás
Arriba