Privacidad: Recuerde que la información escrita en los foros de programación es 100% pública y que su ip será registrada asociada a su mensaje. Si encuentra un mensaje fuera de lugar, por favor, notifiquelo para su revisión y eliminación.
codigo con puerto paralelo
Enviado por cahp21 el día 5 de marzo de 2005
necesito un programa en assembler que por medio de las teclas de derecha e izquierda del teclado me mande una señal al puerto paralelo hacia un circuito que tendra unos led que se deben de encender, si oprimo la tecla derecha hacia la derecha o si oprimo izquierda hacia la izquierda, si oprimo la tecla de arriba se debe de parar. le agradesco mucho si me lo mandan.
Quisiera saber si alguien te respondió a la solicitud de ese programa en ensamblador para manejar el LPT1, si es asi te agradecería demasiado si puedes compartir ese código conmigo...
Mi dirección es monoelec@hotmail.com Gracias!!!
No se si les sea de gran ayuda pero va...
Para mandar datos al puerto paralelo DB-25, mi codigo es el siguiente:
Envio un 1 al puerto a la zona LSB, y luego un 0.
ASM
MOV DX,0378h // Este es el puerto
MOV BX,01H //Aqui coloco un 1
MOV AX,BX //Hago uso de un registro
OUT DX,AX // Y aqui envio el dato a la salida del puerto que seleccione.
NOP
NOP //Instrucciones que no hacen nada
NOP
MOV DX,0378H
MOV BX,00H //Dato cero
MOV AX,BX
OUT DX,AX // Envio el dato cero a la salida del puerto.
Enviado por Edwin Barrios el día 23 de junio de 2005
Este es un programa algo rústico para enviar distintas secuencias al puerto paralelo y así tener efectos con leds
STACK SEGMENT PARA STACK 'STACK'
DB 256 DUP(0) ;256 BYTES DE ESPACIO EN EL STACK
STACK ENDS
cod segment
ASSUME CS:COD ,DS:COD
MES DB 'ESCRIBA EL NUMERO DEL EFECTO','$'
ME DB 'CARACTER INVALIDO','$'
M DB 'EFECTO EN PROCESO','$'
MAIN PROC FAR
MOV SI,OFFSET DEMORA
MOV DX,378H; DIRECCION DEL PUERTO PARALELO
MOV AX,CS
MOV DS,AX
MOV AH,09H
MOV DX, OFFSET MES
INT 21H
MOV AH,1
MOV DL,0FFH
INT 21H ; LEE EL CARACTER DEL TECLADO
CMP AL,30H
JE EFA
CMP AL,31H
JE EFB
CMP AL,32H
JE EFC
CMP AL,33H
JE EFD
CMP AL,34H
JE EFE
ERROR:MOV AH,09H
MOV DX,OFFSET ME
INT 21H
JMP MAIN
EFA:
MOV AL,0H
MOV DX,378H; DIRECCION DEL PUERTO PARALELO
OUT DX,AL
CALL SI
MOV AL,11111111B
OUT DX,AL
CALL SI
JMP EFA
EFB:
MOV DX,0378H; DIRECCION DEL PUERTO PARALELO
MOV AL,01010101b
OUT DX,AL
CALL SI
MOV AL,10101010b
OUT DX,AL
CALL SI
JMP EFB
EFC:
MOV AH,1
MOV DL,0FFH
INT 21H ; LEE EL CARACTER DEL TECLADO
MOV DX,378H; DIRECCION DEL PUERTO PARALELO
OUT DX,AL
JMP EFC
EFD:
MOV AX,1111111100000000B
AQUI:
MOV DX,378H; DIRECCION DEL PUERTO PARALELO
OUT DX,AL
PUSH AX
CALL SI
POP AX
ROL AX,1
JMP AQUI
EFE:
MOV AX,1000000010000000B
AQU:
MOV DX,378H; DIRECCION DEL PUERTO PARALELO
OUT DX,AL
PUSH AX
CALL SI
POP AX
ROL AX,1
JMP AQU
MAIN ENDP
demora proc near
MOV BX,00F0H
HOLA:
MOV CX,0111111111111111B
HOLAA:
LOOP HOLAA
MOV AH,09H
MOV DX, OFFSET M
INT 21H
DEC BX
JZ FIN
JMP HOLA
FIN:
INT 21H
MOV AH,06H
MOV DL,0FFH
INT 21H ; LEE EL CARACTER DEL TECLADO
CMP AL,51H
JE ADIOS
MOV DX,378H; DIRECCION DEL PUERTO PARALELO
RET
DEMORA ENDP
ADIOS:
MOV AH,4CH
INT 21H