Programación General > ASM (Ensamblador)
Rotar Displays En Ensamblador 8085..
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
[#] Página Siguiente
[*] Página Anterior
Ir a la versión completa