Existen tres puertos de E/S del ordenador, mediante los cuales controlamos el puerto paralelo.
Estos puertos tienen ocho bits (un byte) de longitud, y cada uno de sus bits, representa un pin determinado del puerto.

No controlamos 25, si no 17. Los pins que van desde el pin 18 al pin 25 (ambos inclusive), son para masa, y sirven para conectar las descargas de los circuitos.

El primero de los tres puertos, corresponde al puerto de datos, y es de solo escritura, o sea que solo se puede variar mediante la programacion, pero ningun dispositivo lo podra hacer electronicamente.
El segundo puerto, representara el puerto de estado. Este puerto es de solo entrada, o sea, que en este caso solo un dispositivo electronico lo puede variar, pero mediante software es imposible. Este puerto es el que utiliza la impresora para darnos informacion interesante sobre su estado.
El tercer y ultimo registro es el registro de control, y este se puede modificar tanto por el dispositivo electronico conectado, como por medio de software.

 

Registro de datos.


        Para mandar una señal por un pin, lo que tenemos que hacer es activar su bit correspondiente (o lo que es lo mismo, poner dicho bit a uno). Con esto se consigue que el ordenador mande una señal de 5 voltios por el pin deseado. Pero debe quedar claro que el ordenador estara mandando señales, hasta que pongamos ese bit a 0. Por ello se entiende que si queremos que no se envien mas señales deberemos volver a ponerlo a 0.
Para activar los bits de este puerto, podemos hacerlo enviando un numero al puerto. Para ello debemos tener claro que el numero que enviemos, codificado en binario, debe contener los bits que queremos activar, puestos a uno, y los que no, a cero. Un problema que se nos puede presentar es si queremos activar un bit determinado, pero sin desactivar los que ya lo estan. Esto se consigue utilizando una estructura de bits, de forma que podamos manipular por separado cada uno de los bits que forman el byte que queremos enviar. Otra forma es aplicando la logica de bits.

 

A continuación se muestra un breve esquema de este registro con su debida distribución de pines y datos, además de la dirección de dicho registro.


      Puerto 278, 378, 3BC printer [D]ata output

       -7-6-5-4-3-2-1-0-  ports 278, 378, 3BC
                               -- data bit 0, hardware pin 2
                            -- data bit 1, hardware pin 3
                         -- data bit 2, hardware pin 4
                      -- data bit 3, hardware pin 5
                   -- data bit 4, hardware pin 6
                -- data bit 5, hardware pin 7
             -- data bit 6, hardware pin 8
          -- data bit 7, hardware pin 9

     Como se puede observar en este registro se utilizan los ocho bits.

 

 

Registro de estado.

Ademas de mandar datos, tambien podemos recibirlos por el puerto. En este caso se utiliza otro I/O port. En este caso es el segundo I/O port, cuya direccion es la del primer puerto, sumandole uno. Este puerto es el que recibe el nombre de "puerto de estado".
Originariamente, este puerto es el que utiliza la impresora para darnos informacion interesante acerca de su estado, si tiene o no papel, si esta ocupada, etc, etc.

Este registro es de solo entrada, por lo que no podremos modificarlo mecdiante software, siendo la unica forma posible de modificacion, la que se realize por medio de un dispositivo conectado al puerto paralelo.
Al igual que el anterior I/O port (el de datos), este tiene una longitud de ocho bits, y cada uno representa tambien un pin determinado. En este caso se controlan los pins 11, 10, 12, 13, y 15. Pero en este caso solo son utiles los bit que van desde el 3 al 7, siendo el bit 2, el utilizado para IRQ, y los bits 1 y 2 reservados.

 

 Puerto 279, 379, 3BD printer [S]tatus register

       -7-6-5-4-3-2-1-0-  ports 279, 379, 3BD
                               --  1 = time-out
                         ----- unused
                      -- 1 = error, pin 15
                   -- 1 = on-line,  pin 13
                -- 1 = out of paper,  pin 12
             -- 0 = Acknowledge,  pin 10
          -- 0 = busy,  pin 11

 

Registro de control.

Ademas de los puertos ya explicados, existe otro, que es el denominado puerto de control. Es el unico de los dos que es bidirecional. Esto quiere decir, que se pueden modificar sus bits tanto por software, como por un dispositivo conectado al puerto paralelo. En casi toda la documentación que se ha encontrado se refiere al puerto de control como bidirecional, pero en la creación de la ap,¡licación no he usado este registro como tal.
Este puerto controla 4 pins, medianto sus bits 3, 2, 1 y 0. El resto de los bits, no controlan ningun pin. La tabla de este puerto es la siguiente:

 

     Puerto 27A, 37A, 3BE printer [C]ontrol register

         -7-6-5-4-3-2-1-0-  ports 27A, 37A, 3BE
                               --  1 = output data to printer,  (pin 1)
                            -- 1 = auto line feed,  (pin 14)
                         -- 0 = initialize printer,  (pin 16)
                      --  1 = printer reads output,  (pin 17)
         -------- unused

 

 

A continuación se adjunta un esquema con la dostribución de los pines en un conector hemba. Además se puede apreciar cuales trabaja en lógica negativa y cuales no.

 

 


Figura 2. Diagrama de Conexionado del Puerto Paralelo DB-25Fdel PC.

 

Para terminar con esta introducción teórica vamos a resumir en una tabla cada uno de los pines:

Nº DE PIN NOMBRE DE PIN DESCRIPCION 
1 STROBE SINCRONIA
2
DATA 0
BIT DE DATOS 0
3
DATA 1
BIT DE DATOS 1
4
DATA 2
BIT DE DATOS 2
5
DATA 3
BIT DE DATOS 3
6
DATA 4
BIT DE DATOS 4
DATA 5
BIT DE DATOS 5
8
DATA 6
BIT DE DATOS 6
9
DATA 7
 BIT DE DATOS 7
10
ACK
RECONOCIMIENTO DE CARACTER ACEPTADO
11
BUSY
OCUPADO
12
PE
SIN PAPEL
13
SLCT
IMPRESORA ONLINE
14
AUTOFD
AVANCE DE PAPEL AUTOMATICO
15
ERROR
ERROR
16
INIT
RESET DE IMPRESORA
17
SLCT IN
SELEC. IMPRESORA
18
MASA
MASA  1
19
MASA
MASA  2
20
MASA
MASA  3
21
MASA
MASA  4
22
MASA
MASA  5
23
MASA
MASA  6
24
MASA
MASA  7
25
MASA
MASA  8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


volver