Autor Tema: Problema con Multiplexado y Muchos datos  (Leído 2815 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado quodigital

  • PIC12
  • **
  • Mensajes: 99
    • Informatica & electronica
Problema con Multiplexado y Muchos datos
« en: 27 de Febrero de 2007, 02:12:18 »
Bunas, tengo una gran duda, como verán este programa hace lo siguiente, escribe, “HOLA ECHO POR JUAN GRACIAS A USTEDES”, eso se va viendo con 4 display de 7 seg. Y 4 transistores bc 548 que hacen el multiplexado, me han comentado que no hace falta cargar todas las letras que se puede hacer mas simplificado, y la verdad que no se me ocurre, si alguien me da una mano se lo agradecería.. otra cosa si lo hago de esta manera, me queda chico el pic :(
Muchas gracias
Suerte   :-/ :-/

ACA EL PROGRAMA
----------------------------
    DEVICE 16F84                               ' ELIJO EL MICRO
        CONFIG PWRTE_ON, WDT_OFF, CP_OFF, XT_OSC
                                                                               
    Dim B0  As Byte     'CREO VARIABLE
                                                       
                                                                                                                                                       
                               
        SYMBOL DIG1 = PORTA.0
        SYMBOL DIG2 = PORTA.1
        SYMBOL DIG3 = PORTA.2
        SYMBOL DIG4 = PORTA.3
    SYMBOL PINS = PORTB
    '---------------------------------------------------------------
    'TABLA DE LETRAS
    '---------------------------------------------------------------
    SYMBOL aM = %01011111
    SYMBOL A= %01110111
    SYMBOL b= %01111100
    SYMBOL C= %00111001
    SYMBOL cM= %01011000
    SYMBOL d= %01011110
    SYMBOL eM= %01111011
    SYMBOL E= %01111001
    SYMBOL F= %01110001
    SYMBOL G= %01111101
    SYMBOL H= %1110110
    SYMBOL hM= %01110100
    SYMBOL iM= %00010000
    SYMBOL I= %00110000
    SYMBOL J= %00011110
    SYMBOL L= %00111000
    SYMBOL n= %01010100
    SYMBOL nn= %01010101    'REPRESENTA A LA LETRA (ñ)
    SYMBOL oM= %01011100
    SYMBOL O= %00111111
    SYMBOL P= %01110011
    SYMBOL r= %01010000
    SYMBOL S= %01101101
    SYMBOL t= %01111000
    SYMBOL U= %00111110
    SYMBOL uM= %00011100
    SYMBOL Y= %01101110
    '----------------------FIN DE LAS LETRAS----------------------
   
    TRISA= $00
        TRISB= $00
    DELAYMS 5000
DAVID:
    '-------------- HOLA ------------------------------------------------
    For B0 = 0 To 50
    PINS = H
    PORTA = 1
    DELAYMS 5
    Next
   
    For B0 = 0 To 50
    PINS = O
    PORTA = 1
    DELAYMS 5
    PINS = H
    PORTA = 2
    DELAYMS 5
    Next
   
    For B0 = 0 To 50
    PINS = L
    PORTA = 1
    DELAYMS 5
    PINS = O
    PORTA = 2
    DELAYMS 5
    PINS = H
    PORTA = 4
    DELAYMS 5
    Next
   
    For B0 = 0 To 50
    PINS = A
    PORTA = 1
    DELAYMS 5
    PINS = L
    PORTA = 2
    DELAYMS 5
    PINS = O
    PORTA = 4
    DELAYMS 5
    PINS = H
    PORTA = 8
    DELAYMS 5
    Next
    '-------------- HECHO -------------------------------------
    For B0 = 0 To 50
    PINS = H
    PORTA = 1
    DELAYMS 5
    Next
   
    For B0 = 0 To 50
    PINS = E
    PORTA = 1
    DELAYMS 5
    PINS = H
    PORTA = 2
    DELAYMS 5
    Next
   
    For B0 = 0 To 50
    PINS = C
    PORTA = 1
    DELAYMS 5
    PINS = E
    PORTA = 2
    DELAYMS 5
    PINS = H
    PORTA = 4
    DELAYMS 5
    Next
   
    For B0 = 0 To 50
    PINS = H
    PORTA = 1
    DELAYMS 5
    PINS = C
    PORTA = 2
    DELAYMS 5
    PINS = E
    PORTA = 4
    DELAYMS 5
    PINS = H
    PORTA = 8
    DELAYMS 5
    Next
   
    For B0 = 0 To 50
    PINS = O
    PORTA = 1
    DELAYMS 5
    PINS = H
    PORTA = 2
    DELAYMS 5
    PINS = C
    PORTA = 4
    DELAYMS 5
    PINS = E
    PORTA = 8
    DELAYMS 5
    Next
    '---------------- POR -------------------------------------
    For B0 = 0 To 50
    PINS = P
    PORTA = 1
    DELAYMS 5
    Next
   
    For B0 = 0 To 50
    PINS = O
    PORTA = 1
    DELAYMS 5
    PINS = P
    PORTA = 2
    DELAYMS 5
    Next
   
    For B0 = 0 To 50
    PINS = R
    PORTA = 1
    DELAYMS 5
    PINS = O
    PORTA = 2
    DELAYMS 5
    PINS = P
    PORTA = 4
    DELAYMS 5
    Next
   
    For B0 = 0 To 50
    PINS = R
    PORTA = 2
    DELAYMS 5
    PINS = O
    PORTA = 4
    DELAYMS 5
    PINS = P
    PORTA = 8
    DELAYMS 5
    Next
    '-------------- JUAN ---------------------------------------
    For B0 = 0 To 50
    PINS = J
    PORTA = 1
    DELAYMS 5
    Next
   
    For B0 = 0 To 50
    PINS = U
    PORTA = 1
    DELAYMS 5
    PINS = J
    PORTA = 2
    DELAYMS 5
    Next
   
    For B0 = 0 To 50
    PINS = AM
    PORTA = 1
    DELAYMS 5
    PINS = U
    PORTA = 2
    DELAYMS 5
    PINS = J
    PORTA = 4
    DELAYMS 5
    Next
   
    For B0 = 0 To 50
    PINS = N
    PORTA = 1
    DELAYMS 5
    PINS = AM
    PORTA = 2
    DELAYMS 5
    PINS = U
    PORTA = 4
    DELAYMS 5
    PINS = J
    PORTA = 8
    DELAYMS 5
    Next
    '---------------- PARA -------------------------------
    For B0 = 0 To 50
    PINS = P
    PORTA = 1
    DELAYMS 5
    Next
   
    For B0 = 0 To 50
    PINS = A
    PORTA = 1
    DELAYMS 5
    PINS = P
    PORTA = 2
    DELAYMS 5
    Next
   
    For B0 = 0 To 50
    PINS = R
    PORTA = 1
    DELAYMS 5
    PINS = A
    PORTA = 2
    DELAYMS 5
    PINS = P
    PORTA = 4
    DELAYMS 5
    Next
   
    For B0 = 0 To 50
    PINS = A
    PORTA = 1
    DELAYMS 5
    PINS = R
    PORTA = 2
    DELAYMS 5
    PINS = A
    PORTA = 4
    DELAYMS 5
    PINS = P
    PORTA = 8
    DELAYMS 5
    Next
    '--------------- USTEDES -----------------
    For B0 = 0 To 50
    PINS = U
    PORTA = 1
    DELAYMS 5
    Next
   
    For B0 = 0 To 50
    PINS = S
    PORTA = 1
    DELAYMS 5
    PINS = U
    PORTA = 2
    DELAYMS 5
    Next
   
    For B0 = 0 To 50
    PINS = T
    PORTA = 1
    DELAYMS 5
    PINS = S
    PORTA = 2
    DELAYMS 5
    PINS = U
    PORTA = 4
    DELAYMS 5
    Next
   
    For B0 = 0 To 50
    PINS = E
    PORTA = 1
    DELAYMS 5
    PINS = T
    PORTA = 2
    DELAYMS 5
    PINS = S
    PORTA = 4
    DELAYMS 5
    PINS = U
    PORTA = 8
    DELAYMS 5
    Next
   
    For B0 = 0 To 50
    PINS = D
    PORTA = 1
    DELAYMS 5
    PINS = E
    PORTA = 2
    DELAYMS 5
    PINS = T
    PORTA = 4
    DELAYMS 5
    PINS = S
    PORTA = 8
    DELAYMS 5
    Next
   
    For B0 = 0 To 50
    PINS = E
    PORTA = 1
    DELAYMS 5
    PINS = D
    PORTA = 2
    DELAYMS 5
    PINS = E
    PORTA = 4
    DELAYMS 5
    PINS = T
    PORTA = 8
    DELAYMS 5
    Next
   
    For B0 = 0 To 50
    PINS = S
    PORTA = 1
    DELAYMS 5
    PINS = E
    PORTA = 2
    DELAYMS 5
    PINS = D
    PORTA = 4
    DELAYMS 5
    PINS = E
    PORTA = 8
    DELAYMS 5
    Next
    '------------- GRACIAS--------------
    For B0 = 0 To 50
    PINS = G
    PORTA = 1
    DELAYMS 5
    Next
   
    For B0 = 0 To 50
    PINS = R
    PORTA = 1
    DELAYMS 5
    PINS = G
    PORTA = 2
    DELAYMS 5
    Next
   
    For B0 = 0 To 50
    PINS = A
    PORTA = 1
    DELAYMS 5
    PINS = R
    PORTA = 2
    DELAYMS 5
    PINS = G
    PORTA = 4
    DELAYMS 5
    Next
   
    For B0 = 0 To 50
    PINS = C
    PORTA = 1
    DELAYMS 5
    PINS = A
    PORTA = 2
    DELAYMS 5
    PINS = R
    PORTA = 4
    DELAYMS 5
    PINS = G
    PORTA = 8
    DELAYMS 5
    Next
   
    For B0 = 0 To 50
    PINS = I
    PORTA = 1
    DELAYMS 5
    PINS = C
    PORTA = 2
    DELAYMS 5
    PINS = A
    PORTA = 4
    DELAYMS 5
    PINS = R
    PORTA = 8
    DELAYMS 5
    Next
   
    For B0 = 0 To 50
    PINS = A
    PORTA = 1
    DELAYMS 5
    PINS = I
    PORTA = 2
    DELAYMS 5
    PINS = C
    PORTA = 4
    DELAYMS 5
    PINS = A
    PORTA = 8
    DELAYMS 5
    Next
   
    For B0 = 0 To 50
    PINS = S
    PORTA = 1
    DELAYMS 5
    PINS = A
    PORTA = 2
    DELAYMS 5
    PINS = I
    PORTA = 4
    DELAYMS 5
    PINS = C
    PORTA = 8
    DELAYMS 5
    Next
    '---------- FIN -----------------
    PORTA= $00
    DELAYMS 2300
    GoTo DAVID

« Última modificación: 15 de Marzo de 2007, 19:29:45 por aitopes »
Suerte en todo lo que emprendan..
Saludos

Desconectado Mario

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 873
Re: Problema con Multiplecado y Muchos datos
« Respuesta #1 en: 27 de Febrero de 2007, 03:04:13 »
No se dónde exactamente pero LORDLAFEBRE tiene un hilo donde empezó a colocar ejemplos para PBP y PROTON (que al parecer es lo que usas).

Busca aquí http://www.todopic.com.ar/foros/index.php?topic=3613.0
La buena administración es utilizar el sentido común y la regla de oro; aunque el sentido común no es tan común como quisiéramos que fuera y, quien tiene el oro, hace las reglas.
George Terry

"A loser will defeat a genius with hard work"
Rock Lee

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
Re: Problema con Multiplecado y Muchos datos
« Respuesta #2 en: 27 de Febrero de 2007, 11:27:03 »
Hola:

El lenguaje es Proton, y lo que se me ocurre que hagas es como en los ejemplos que pusimos, que hagas con vectores, de esta forma cargas los valores de las letras y en esos blucles llamas a los subindices correspondientes del vector para formar la letra.

Desconectado quodigital

  • PIC12
  • **
  • Mensajes: 99
    • Informatica & electronica
Re: Problema con Multiplecado y Muchos datos
« Respuesta #3 en: 27 de Febrero de 2007, 21:32:32 »
Hola, gracias por sus contestaciones, voy a tratar de hacerlo, mucho no se, pero voy haber los ejemplos.

Gracias y Suerte..!!!!  :-/ :-/ :-/ :-/ :-/
Suerte en todo lo que emprendan..
Saludos

Desconectado pablotuc

  • PIC10
  • *
  • Mensajes: 21
Re: Problema con Multiplecado y Muchos datos
« Respuesta #4 en: 15 de Marzo de 2007, 15:52:44 »
lo que puede hacer es usar un 74LS138 que es un integrado bastante util con el cual con 3 bits de entrada puedes controlar 8 a la salida, yo hice un par de cosas con multiplexado y displays de 7 segmentos y funciona genial, lo unico es que debes aprender a usarlo correctamente. Una forma de hacer lo que quieres es solo declarar las letras que vas a usar, de esa manera se achica el programa en cuanto a eso, y para hacer que desplace (creo que eso es lo que quieres) puede cargar en registros diferentes cada letra, y por medio del 74LS138 controlar el turno de cada display e ir desplazando de display en display el dato de la letra que sigue, si no me entendiste preguntame por PM y te explico, o si te resulta mas facil otra forma intentalo con esa, pero esta es una opcion mas.

Pablo

Desconectado quodigital

  • PIC12
  • **
  • Mensajes: 99
    • Informatica & electronica
Re: Problema con Multiplecado y Muchos datos
« Respuesta #5 en: 15 de Marzo de 2007, 18:52:28 »
Hola, no sabia eso del 74LS138,es bastante bueno porque ahorras mucho programa, que bueno muchas gracias, traqto de hacer algo lindo y lo posteo, espero que salga,
Saludos a todos
Gracias
 :-/ :-/
Suerte en todo lo que emprendan..
Saludos

Desconectado Mario

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 873
Re: Problema con Multiplexado y Muchos datos
« Respuesta #6 en: 16 de Marzo de 2007, 13:08:54 »
Lo único es que (si recuerdo bien) debes tener displays de cátodo común para hacer eso. Comento porque por acá donde vivo ya no he visto que manejen cátodo común, solo ánodo.
La buena administración es utilizar el sentido común y la regla de oro; aunque el sentido común no es tan común como quisiéramos que fuera y, quien tiene el oro, hace las reglas.
George Terry

"A loser will defeat a genius with hard work"
Rock Lee

Desconectado pablotuc

  • PIC10
  • *
  • Mensajes: 21
Re: Problema con Multiplexado y Muchos datos
« Respuesta #7 en: 18 de Marzo de 2007, 01:26:08 »
se soluciona con los transistores que usas, o PNP o NPN, o haciendo que las salidas del pic en vez de 1 sean 0 o viceversa

Desconectado quodigital

  • PIC12
  • **
  • Mensajes: 99
    • Informatica & electronica
Re: Problema con Multiplexado y Muchos datos
« Respuesta #8 en: 26 de Marzo de 2007, 14:42:11 »
hola chicos, he visto que para achicar el codigo guardan todo las letras en una variable o en la instruccion "data" y despues escriben entre comillas ej."quo" y sale directamente en el display.. pero no se como se `programa eso es lo que estoy aberiguando hace bastante...

Saludos a todos  Gracias
 :-/ :-/ :-/
Suerte en todo lo que emprendan..
Saludos