Mensaje en 15 displays con PIC

Hola, estoy aprendiendo recién a progrmar Pics y uso Basic.
Debo armar un proyecto con PIC que muestre en 15 displays 4 mensajes, un mensje a la vez y luego repetir.
Tengo una duda, he armado todo el circuito y el programa esta hecho yfuncionando, pero se supone que por el barrido se debe encender un led a la vez y a velocidad esto no debería notarse, le problema es que cuando simulo el circuito en proteus si se nota el cambio de letra en cada display.
Mi pregunta es stoy fallando en la programación, o en el circuito en sí; o si a lo mejor es solo la simulación y en la realidad esto se va a notar como se require, un mensaje entero a la vez.
Adjunto la programación, el .hex y el circuito simulado en proteus 7.4
La programación es por demás sencilla, considerando que aun soy nueva en esto, y esta sólo hecha la parte del primer mensaje a mostrar.
el mensaje es "USO PIC 16F877A"

Código:
cont var Word

trisb=0
trisa=0
'cmcon=7 puse como comentario porq me daba un error en la compilacion

principal:
cont=0
mensaje1:
while cont<100  'contador para que el meensaje1 se muestre solo por un tiempo,no indefinidamente
porta=0 'display de la izquierda
portb=8 'letra A
pause 5

porta=1
portb=120'numero 7
pause 5

porta=2
portb=120'numero 7
pause 5

porta=3
portb=0 'numero 8
pause 5

porta=4
portb=14'letra F
pause 5

porta=5
portb=3 'numero 6
pause 5

porta=6
portb=121'numero 1
pause 5

porta=7
portb=127'espacio en blanco
pause 5

porta=8
portb=70 'letra C
pause 5

porta=9
portb=79 'letra I
pause 5

porta=10
portb=12 'letra P
pause 5

porta=11
portb=127'espacio en blanco
pause 5

porta=12
portb=64 'letra O
pause 5

porta=13
portb=18 'Letra S
pause 5

porta=14
portb=65 'Letra U
pause 5
cont=cont+1
wend
end
 

Adjuntos

  • 15displays_406.rar
    46 KB · Visitas: 77
Veamos, 5ms por display son 75ms entre refrescos, que son 13fps. El mínimo para que el ojo lo vea estático son más o menos 20fps, por lo que se notaría algo de parpadeo.

Cambiando 1ms por 5ms deberia solucionarse y verse fijo.

Por otro lado, el proteus es irreal lo que hace, creo que habia una opción para que los displays queden prendidos x ms antes de apagarse, para poder simular este tipo de circuitos.

Saludos,
Gzaloprgm
 
La simulación en proteus no corre en tiempo real , es un circuito algo complejo, si te fijas te da el mensaje:

"Sumulation is not running in real time due to exessive CPU load"

Lo cual significa:

"La simulación no esta corriendo en tiempo real debido a una carga exesiva del CPU (procesador)"

En este caso debes checarlo en la realidad para ver como funciona y de ahí partir para ver si necesita ajustes, un consejo, para no liarte con tantos displays de 7 segmentos mejor construye una matriz de leds y puedes desplegar más texto y efectos...

Saludos.
 
Hola

la simulación no corre en tiempo real lo mejor seria armar el circuito y probar, ya me paso lo mismo con 3 displays, en el proteus no mostraba bien, pero en el circuito armado funcionaba perfectamente

salu2:)
 
Gracias por todas las respuestas, ya entiendo entonces la simulacion es así.
ahora tengo otra duda, estoy simulando la activacion de cada displays mediante transistores como interruptores, mi pregunta es si debo hacer esto o si puedo alimentarlos directamente sin este recurso.
 
mmm gracias por todas las respuestas... estuvo bien facil todo y ni siquiera tuve q poner los transistores... a la final no fue la gran cosa, creo que voy a tener más líos cuando tenga q presentar el seguidor de línea...
 
Que bien que te qudo tu circuito pero por seguridad del pic deber ponerlo para no cargarle mucha corriente...
Ademas aprovecho para preguntar si existe alguna forma de cambiarle esto al proteus, osea el tiempo real, ya que lo unico k puedo hacer es cambiar el valor del cristal pero muy poco es lo que aumenta...

SALUDOS
 
Que bien que te quedo tu circuito pero por seguridad del pic debes poner los transistores para no cargarle mucha corriente...
Ademas aprovecho para preguntar si existe alguna forma de cambiarle esto al proteus, osea el tiempo real, ya que lo unico k puedo hacer es cambiar el valor del cristal pero muy poco es lo que aumenta...

SALUDOS
 
Atrás
Arriba