• Viernes 15 de Noviembre de 2024, 13:46

Autor Tema:  duda en el puerto paralelo  (Leído 5368 veces)

betoelectronico

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
duda en el puerto paralelo
« en: Lunes 6 de Julio de 2009, 20:49 »
0
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:!
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: duda en el puerto paralelo
« Respuesta #1 en: Lunes 6 de Julio de 2009, 22:12 »
0
¿Lo depuraste?

Código: ASM
  1. inicio1:
  2.         mov     ah,08h
  3.         int     21h
  4.         cmp     al,'0'
  5.         je      fin
  6.         cmp     al,'1'
  7.         je      inicio2
  8.         jmp     inicio_1
  9.  

Si es 0 termina (salta a fin), si es uno va a inicio2 y sino va a inicio1.

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

Toph

  • Moderador
  • ******
  • Mensajes: 420
  • Nacionalidad: sv
    • Ver Perfil
    • http://www.electronicayotros.blogspot.com/
Re: duda en el puerto paralelo
« Respuesta #2 en: Lunes 6 de Julio de 2009, 23:28 »
0
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:!

 :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".
Por favor leer esto antes de postear. Gracias
NO alimenten al TROLL y morirá
¿Querés ayudar?, pues doná comida gratis con un simple clic aqui ,sin trucos
photobucket , Google , wine y cutepdf Rock!!!


programacion,c,c++,
Microcontroladores,java,linux,videojuegos,
,.NET,asm,codigo
por favor este 2012 que sea

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: duda en el puerto paralelo
« Respuesta #3 en: Lunes 6 de Julio de 2009, 23:35 »
0
¿A quien se le ocurre poner etiquetas llamadas inicio1 e inicio_1? En fin, ILEGIBLE.

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

betoelectronico

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: duda en el puerto paralelo
« Respuesta #4 en: Martes 7 de Julio de 2009, 19:51 »
0
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

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: duda en el puerto paralelo
« Respuesta #5 en: Martes 7 de Julio de 2009, 20:36 »
0
Bueno que gran profesor ... en la etiqueta ilegible que uses no vuelvas a pedir el numero por teclado, con una vez que lo pidas tendria que ser suficiente aunque tal vez tu profesor no lo quiera asi  :lol:

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

betoelectronico

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: duda en el puerto paralelo
« Respuesta #6 en: Martes 7 de Julio de 2009, 20:49 »
0
hola amigo..jeje..la verdad q si. bueno..pero en fin, como corrijo mi problema?? yo nose como hacerlo andar?vos q opinas? yo kiero que tocando el numero 1 ,el ascensor vaya al piso 1,si toco el 3 ,vaya al piso 3, si aprieto el dos vaya al piso 2.usare 3 pulsadores que me indicaran la ubicacion del ascensor.

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: duda en el puerto paralelo
« Respuesta #7 en: Martes 7 de Julio de 2009, 21:14 »
0
Aca tenes un ejemplo simple:
Código: ASM
  1. menu:
  2. ;aca escribirias tambien las opciones en pantalla supongo
  3. mov ah, 08h
  4. int 21h
  5. cmp al, '0'
  6. je fin
  7. cmp al, '1'
  8. je piso_1
  9. cmp al, '2'
  10. je piso_2
  11. cmp al, '3'
  12. je piso_3
  13. ;no era ninguna opcion valida, leemos del tecladode nuevo
  14. jmp main
  15.  
  16. piso_1:
  17. ;codigo o llamada a funcion
  18. jmp main
  19. piso_2:
  20. ;codigo o llamada a funcion
  21. jmp main
  22. piso_3:
  23. ;codigo o llamada a funcion
  24. jmp menu
  25. fin:
  26. ret
  27.  

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

betoelectronico

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: duda en el puerto paralelo
« Respuesta #8 en: Miércoles 8 de Julio de 2009, 00:14 »
0
gracias amigo....lo armo al programa y te cuentoo que salio :)

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: duda en el puerto paralelo
« Respuesta #9 en: Miércoles 8 de Julio de 2009, 00:34 »
0
De nadas  B)

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

betoelectronico

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: duda en el puerto paralelo
« Respuesta #10 en: Miércoles 8 de Julio de 2009, 17:50 »
0
ya lo probe y no andaba igual. Pero luego me puse a urgar el circuito y descubri que habia un inconveniente en el circuito.lo solucione y ahora anda.
Pero ahora salio otro drama  <_<  ,resulta que cuando al ascensor lo llamo del piso2 , no funciona correctamente.
me puedes ayudar en esta ultimo problema que se me presenta??
ahi va adjuntado el programa modificado y explicado
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.

Toph

  • Moderador
  • ******
  • Mensajes: 420
  • Nacionalidad: sv
    • Ver Perfil
    • http://www.electronicayotros.blogspot.com/
Re: duda en el puerto paralelo
« Respuesta #11 en: Jueves 9 de Julio de 2009, 20:30 »
0
Cita de: "betoelectronico"
ya lo probe y no andaba igual. Pero luego me puse a urgar el circuito y descubri que habia un inconveniente en el circuito.lo solucione y ahora anda.
Pero ahora salio otro drama  <_<  ,resulta que cuando al ascensor lo llamo del piso2 , no funciona correctamente.
me puedes ayudar en esta ultimo problema que se me presenta??
ahi va adjuntado el programa modificado y explicado

Sino me equivoco, el error esta en que estando en piso2 le das que queres volver a piso1, la rutina piso1 no verifica en que piso esta el usuario sino que de un solo manda el 21h al puerto para girar el motor, lo mismo el piso3, de hecho el unico que verifica en que lugar esta el usuario es el piso2, lo cual te da muchos errores ya que si estando en el 3 le vuelves a dar 3 este mueve el motor sin saber que ya esta al maximo. En todos los pisos debes de verificar en que lugar esta el usuario antes que nada.

Debes de depurar tu programa, yo te recomiendo este excelentes simulador que puedes encontrar en esta pagina http://www.emu8086.com, hay una version de evaluacion gratuita, te permite correr paso a paso tu aplicacion, ver que pasa con los registros, banderas e incluso escribe y lee del teclado y puede simular puertos virtuales.
Por favor leer esto antes de postear. Gracias
NO alimenten al TROLL y morirá
¿Querés ayudar?, pues doná comida gratis con un simple clic aqui ,sin trucos
photobucket , Google , wine y cutepdf Rock!!!


programacion,c,c++,
Microcontroladores,java,linux,videojuegos,
,.NET,asm,codigo
por favor este 2012 que sea

betoelectronico

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: duda en el puerto paralelo
« Respuesta #12 en: Viernes 10 de Julio de 2009, 00:09 »
0
gracias.te comento que para cuando lo llamo del piso 1 o del piso3, el ascensor funciona bien.
 yo anteriormente habia hecho como vos me propones hacer ahora y los resultados que tuve fue que cuando apretaba el numero 1 del teclado( para llamarlo a ese piso)..el led de salida,se prendia y se apagaba. osea..no se mantenia prendido hasta que el sensor del piso 1 se active.
me entiendes? por eso directamente hago como esta ahora, porque ahi funciona bien.
ahora probare con ese programa que me diste y vere
muchas gracias!