Bueno, el pueto paralelo LPT consta de tres registros: Estado , de datos y de control
los de estado: es un reguistro de entradas de 5 bits, i trabajan con la direccion 0x379 (LPT1)
los de datos: consta de 8 bits, es bidireccional, y su direccion es 0x378 (LPT1)
Los de control: Tambien son bidireccional de 4 bits, y su direccion es 0x37A (LP1)
DATOS:
Como ves el de datos que es el que te explique anteriormente trabaja con 8 bit, de 0 a 7 binario (2e3) 255 conbinaciones posibles.
Estado:
Son 5bits, de 0 a 4, osea 2e2, 31 conbinaciones posibles.
El registro de estado indical la situacion actual de la impresora conectada al puerto, segun los niveles de tencion, ACK, BSY, PAP y OF/ON, lo que permite controlar el comportamiento de la impresora, es un regustro de entrada (Lectura) de informacion. Se compone de los pines (10,11,12,13,15).
Si te fijas en la web que te deje en el cuadro que dice Lectura: Entrada de datos
Coresponden a estos:
Aclaracion D3,...,D7, indica el bit, osea bit 3 a 7
# D3: state of pin 15 (ERROR) inverted -> Si esta en 0, indica que se ah producido un error.
# D4: state of pin 13 (SELECTED), -> Este es de OF/ON, si esta en 1 la impresora no esta en linea.
# D5: state of pin 12 (PAPER OUT) -> Si esta en 1, significa que falta papel.
# D6: state of pin 10 (/ACK) -> Indica que se producio una transferencia correcta, Trabaja con estados alto-bajo, si se transfiere un byte a la impresora, esta activa la line ACK de reconocimiento de caracter,en este momento pasa a estado bajo, si el ACK esta en niven alto significa que la impresora esta ocupada, y no se pueden realizar envios.
# D7: state of pin 11 (/BUSY) inverted -> Inpresora ocupada.
Los bit 0,1 y 2 no se usan.
Control:
Son 4 bit, igual q antes 2e2, 15 conbinaciones posibles.
Este registro permite controlar las transferencias de informacion con la impresora, y tiene acceso de Lectura y escritura, como dije su direccion es 0x37A (LPT1).
Corresponden a los pines 1,14,16,17
Los bit de este registro son:
# D4: state of ping 2-9 (Son los de datos) (IRQ)
# D3: state of ping 17 *(DSL)
# D2: state of ping 16 (/INI)
# D1: state of ping 14 *(ALF)
# D0: state of ping 1 *(STR)
Notas:
1- La / indica bit activo a nivel bajo
2- El * indica que son invertidos por el Hardware por lo tanto.
Bit 4 (IRQ): Permite controlar las interrupciones de tipo hardware, si el bit esta en 1 corresponde con la interrupcion 0x0Fh (Creo) para procesador x86.
Bit 3 (DSL): Esta es activada con un pulsador produce la iniciacion de la impresora.
Bit 1 (ALF): Esta en nivel alto y cuando se produce un carry CR produce un cambio de linea.
Bit 0 (STR) Controla la linea, y permite validar el dato exitente en el registro de datos, En 1 en el bit STR indica que el caracter es valido y se debe aceptar
Fuente:
http://mimosa.pntic.mec.es/~flarrosa/puerto.pdf Lo que te deje esta resumidamente, de esa fuente ya q no me acuedo de todo.
Aclaracion importante.
Al trabajar con todo el puero paralelo, te recomiendo, si estas trabajando en una placa madre unboard, comprar aparte el pueto paralelo LPT para hacer experimentos y trabajar con ese ya que si quemas el puerto LPT de la placa madre queda inutilizable, y su arreglo puede llegar a ser muy costoso, y talves te sea mas barato comprar una placa madre nueva.Otra cosa, seria de mas utilidad si expones el circuito y/o que trabajo queres hacer con el puerto, brindarte mas ayuda.