Programación General > ASM (Ensamblador)
Necesito Ayuda Con Lpt Y Assembler
karen81:
;) explicate mejor que es lo que quieres que te muestre
informacion en pantalla o que?, si es eso obviamente tienes que usar dos y las interrrupciones de ensamblador
Neopro:
Que encienda y apague leds conectados desde el punto 2 al 9 del LPT a traves de una protoboard, basado en una determinada secuencia o a traves de la pulsacion de teclas de el teclado. Lo unico que he visto com resultado es que se apaguen 3 y me mande errores de ejecucion del programa, y al omitir (en win xp), se vuelva a otro estado con otros 3 leds apagados, partiendo de que cuando enciendo el computador todos los leds estan encendidos.
karen81:
Eso que al inicio los led esten encendidos creo que es normal ya que los pines se ponen en uno, podrias al iniciar el programa mandar un cero por el puerto, pero como te decia la rutina que te puse ahi es una guia, incluso creo que olvide ponerle algo a la estructura del masm podria ser eso, pero podrias hacer un menu si me das tu correo te mando un programa que con un menu hace diferentes cosas si le tecleas 1. hace una suma si tecleas dos saca raiz cuadrada etc, les puedes quitar esas rutinas y ponerle la de sacar los datos por el puerto paralelo.
otra cosa el numero que sacas por el puerto se queda enganchado hasta que sacas otro dato
cualquier cosa me avisas :hola:
Neopro:
Entendi como hacerlo por C++, pero necesito assembler, ya puedo setear las luces, pero no alcanzo a ver los cambios sino que hace todo en una instante, le puse que contara en binario desde 0 a 255, pero lo hace muy rapido, como puedo darle tiempo en assembler?.
Te doy mi correo ayq eu tengo que presentar una examen y quiza tu programa me ayude.
neoprogresivo@hotmail.com
Muchas gracias.
Espero tu pronta respuesta.
karen81:
;) obviamente no puedes ver los cambios en los leds por que vas contanto en fracciones de segundo lo que debes hacer es colocarles un retraso que se yo de un segundo o mas entre cada dato que envias eso lo haces con lazos verifica en tu set de instrucciones cuanto se tarda cada instruccion y has tu lazo que se tarde un segundo en salirse de el.
este retraso que te pongo aqui se podria decir que es el maximo
lazo1 mov cx,ffffh
lazo2: loop lazo2
lo que se hace es repetirlo varias veces de la siguiente forma
mov bx,00ffh
lazo1 mov cx,ffffh
lazo2: loop lazo2
dec bx
jnz lazo1
pruebalo si es muy grande disminuyele bx y si no ves cambio porque el retraso es muy pequeño aumentale bx poco a poco hasta llegar a ffffh si es necesario
en cuanto al programa que te dije no lo tengo en la computadora lo tengo a mano tendria que digitarlo , estos dias estare ocupada si no te urge avisame asi podria digitarlo el fin de semana o cualquier dia de la otra semana pero si es urgente no te lo puedo mandar.
adios :comp:
Navegación
[#] Página Siguiente
[*] Página Anterior
Ir a la versión completa