Programación General > ASM (Ensamblador)

 duda en el puerto paralelo

(1/3) > >>

betoelectronico:
buenas...!soy nuevo en este foro. La verdad tengo un problema con un programa que estoy armando para un trabajo de la universidad .Queria hacer un miniascensor controlado por puerto paralelo y usando el lenguaje asm.
*las teclas 1 , 2 y 3 indicara los pisos a donde se movera el ascensor.
* 3 pulsadores simularan la sensores de ubicacion del ascensor y dicha señal sera enviada a la entradas del puerto paralelo.
*el puerto paralelo  enviara señales de salida para hacer girar un motor hacia arriba o hacia abajo.
cuando aprieto la tecla uno..el puerto paralelo  me envia la señal de salida hasta el motor y lo hace funcionar hasta que el interruptor del piso 1 se activa.ahi vamos bien.
Pero, Cuando aprieto el numero 3 para llevar el ascensor hasta el tercer piso, no hace lo mismo. porquee?? alguien me podria dar una mano en el programa? y me dice en que me estoy equivocando?
desde ya gracias:!

Eternal Idol:
¿Lo depuraste?


--- Código: ASM ---inicio1:        mov     ah,08h        int     21h        cmp     al,'0'        je      fin        cmp     al,'1'        je      inicio2        jmp     inicio_1 
Si es 0 termina (salta a fin), si es uno va a inicio2 y sino va a inicio1.

Toph:

--- Cita de: "betoelectronico" ---buenas...!soy nuevo en este foro. La verdad tengo un problema con un programa que estoy armando para un trabajo de la universidad .Queria hacer un miniascensor controlado por puerto paralelo y usando el lenguaje asm.
*las teclas 1 , 2 y 3 indicara los pisos a donde se movera el ascensor.
* 3 pulsadores simularan la sensores de ubicacion del ascensor y dicha señal sera enviada a la entradas del puerto paralelo.
*el puerto paralelo  enviara señales de salida para hacer girar un motor hacia arriba o hacia abajo.
cuando aprieto la tecla uno..el puerto paralelo  me envia la señal de salida hasta el motor y lo hace funcionar hasta que el interruptor del piso 1 se activa.ahi vamos bien.
Pero, Cuando aprieto el numero 3 para llevar el ascensor hasta el tercer piso, no hace lo mismo. porquee?? alguien me podria dar una mano en el programa? y me dice en que me estoy equivocando?
desde ya gracias:!
--- Fin de la cita ---

 :huh:  Pues si seleccionas "3" va a inicio_1 donde esta otra rutina donde se espera que el usuario presione otra tecla, ¿eso es lo que quieres que si va para el piso 3 tenga que presionar dos veces tres?, si es asi al presionar "3" de nuevo, aparentemente funcionara porque manda un dato al puerto, espera ,revisa si ya esta apaga y espera tal cual se hizo cuando se seleccionaba el piso "1".

Eternal Idol:
¿A quien se le ocurre poner etiquetas llamadas inicio1 e inicio_1? En fin, ILEGIBLE.

betoelectronico:
Gracias amigos, por su pronta respuesta. Probando asi como esta el programa, cuando aprieto el 1 (desde el teclado), el puerto paralelo me envia `la corriente de salida  para hacer funcionar el motor ,hasta que el pulsador (del piso 1) se activa.En este momento el puerto paralelo deja de 'mandar'corriente y el motor deja de funcionar. hasta ahi vamos bien.
      Pero cuando aprieto el numero 3 del teclado, el puerto paralelo me envia corriente solamente si mantengo apretado dicha tecla. La idea es que apriete una sola vez y el puerto paralelo me envie a la salida el hexadecimal 22h hasta que el pulsador (del piso 3) se active.
   programa:
inicio1:
        mov     ah,08h     ;habilito el teclado
        int     21h
        cmp     al,'0'  ; compara con '0'
        je      fin  ;si la entrada en el teclado es '0' ..salgo del programa
        cmp     al,'1'  ; compara con 1
        je      inicio2 ; si es igual a 1 salta a inicio2 ,en esa etiqueta envia el 21h a la salida hasta  q se activa el pulsador1
        jmp     inicio_1 ; si no es igual a 1,va hasta etiqueta inicio_1 para preguntar si el numero ingresado fue 3.


En el caso que quiera depurarlo, como hago??Yo pienso que hay algun paso que me estoy salteando.  :(
En cuanto a los nombres de la etiquetas..lo usabamos en clases. Fue idea de mi profesor  :P
espero sus respuestass

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa