Programación General > ASM (Ensamblador)

 Rotar Displays En Ensamblador 8085..

<< < (2/3) > >>

Eternal Idol:

--- Cita de: "MiSiTo" --- las funciones que mencionas no las conozco, yo pensaba en hacer una especie de contador y cada vez que pulse una tecla se decrementa y segun el valor d éste contado llamar a un display u a otro ... pero no se aun  ... se que hacer rotar los numeros tiene que ser facil pero no cojo la idea ..
--- Fin de la cita ---
Efectivamente no la conoces, las tenes que inventar  :whistling: El planteamiento es ese y con la ayuda de estas funciones que tenes que escribir te tendria que resultar muy facil.

MiSiTo:
ok... yo ya lo terminé, pero al probarlo me sale el mismo numero que introduzco en los 4 displays y creo que el codigo está bien implementado .... lo dejo a continuacion..

saludos

Super_G:

--- Citar ---ok... yo ya lo terminé, pero al probarlo me sale el mismo numero que introduzco en los 4 displays y creo que el codigo está bien implementado .... lo dejo a continuacion..

--- Fin de la cita ---

¿usas el mismo puerto para los 4 displays?
si usas un mismo puerto de salida para los 4 displays debes hacer una correcta conmutacion.

Si usas un banco de memoria para cada displays cada ves que se pulse una tecla rotas los contenidos de los bancos de memoria, asi tambien se rotaran los numeros en los displays.

MiSiTo:
si, utilizo el mismo puerto para los displays .. y la rotacion de memoria la hago asi:
ROTAR:
   LDA CEN
   STA MIL      ;Centenas --> Millares
   LDA DECE
   STA CEN      ;Decenas --> Centenas
   LDA UND
   STA DECE      ;Unidades --> Decenas
   RET
pero aun asi no me funciona ... y no veo el fallo pq si te fijas en el codigo, nada mas arrancar el programa y pulso una tecla, ésta llama a la rutina rotar que inicialmente tiene todos los valores a FF, aunque en el codigo no lo tengo, esto es:
               MVI A,FFh
               STA UND
               STA DECE
               STA CEN
               STA MIL
pero al pulsar la primera tecla me saca por los 4 displays ese mismo numero... y si añades el juego de instrucciones anterior no deberia de pasar eso ... o eso creo si se analiza el codigo bien o yo no veo donde esta el fallo ... el caso es que no se que hacer ya...

saludos

Super_G:
segun este codigo:

--- Código: Text --- DISPLAY:   LDA UND  ORI 00110000b  OUT PA  CALL RETARDO  LDA  DECE  ORI 00100000b  OUT PA  CALL RETARDO  LDA CEN  ORI 00010000b  OUT PA  CALL RETARDO  LDA MIL  ORI 00000000b  OUT PA  RET   ¿el ultimo digito el de las 'MIL' es el que se ve en los 4 displays?

Eso se puede deber a que la multiplexacion del puerto se hace solo cuando llamas  a ''DISPLAY" pero esto deberias hacerlo el mayor tiempo posible o todo el tiempo para que tengas el efecto de ver 4 digitos en 4 displays con un solo puerto. Una forma de ver si este es el problema es que antes de conmutar el retardo que usas es notorio (de alrededor de un segundo) asi por lo menos deberias ver un digico en cada displays cada cierto tiempo pero no los 4 a las ves. Tambien se usa esta tecnica con microcontroladores como el pic16f84 para manejar varios displays, un ejemplo de esto lo tienes en:
http://www.pablin.com.ar/electron/circuito...tador/index.htm

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

[*] Página Anterior

Ir a la versión completa