Está en la página 1de 8

Interfaces y Perifricos, Gua 2 1

Facultad: Ingeniera
Escuela: Electrnica
Asignatura: Interfaces y Perifricos

Tema: Manejo del Puerto Paralelo

Contenidos

Manejo del Puerto Paralelo Estndar con Visual Basic

Objetivos Especficos

1. Poder configurar el puerto paralelo para escribir y leer datos.


2. Transferir datos por medio del puerto paralelo utilizando Visual Basic.

Material y Equipo

No Cantidad Descripcin
1 1 Computadora con sistema operativo Windows 98 o XP
con el programa Visual Basic 6.0
2 1 Cable para puerto paralelo
3 1 Fuente de +5 voltios
4 1 Par de puntas para la fuente de alimentacin
5 1 Breadboard
6 8 Resistencias limitadoras
7 8 Leds
8 1 IC74244
9 4 Resistencias de 4.7 K

Introduccion Teorica

La computadora se encuentra interconectada con dispositivos externos a travs de ciertos


circuitos llamados puertos, los cuales permiten que la computadora tenga una ventana al
exterior. La arquitectura del procesador 8086 determina una cantidad de hasta 65,536
puertos, sin embargo solo se usan 1024.

En 1981, la IBM (International Business Machines) introdujo la Computadora Personal (PC).


El puerto paralelo (Standart Parallel Port SPP) estaba incluido en el primer PC y se agreg a
ste como una alternativa al bajo rendimiento del puerto serial, para utilizarlo como
2 Interfaces y Perifricos, Gua 2

controlador de las impresoras de matriz de punto de alto desempeo. Este puerto tena la
capacidad de transmitir 8 bits de datos a la vez (del PC a la impresora), mientras que el
puerto serial lo haca de uno en uno. En el momento que el puerto paralelo fue presentado,
las impresoras de punto fueron el principal dispositivo externo que se conecto a ste. Al
hacerse extensamente utilizado, el puerto paralelo lleg a ser la respuesta para conectar
dispositivos ms rpidos.

Despus de este inicio, tres grandes grupos de problemas aparecieron a los desarrolladores
y usuarios de este puerto: Primero, aunque ste haba aumentado su velocidad
considerablemente, no haba cambio en la arquitectura o
desempeo. La mxima velocidad de transferencia alcanzable estaba por los 150 kbyte /seg.
y era extremadamente dependiente del software. Segundo, no haba un estndar para la
interfaz elctrica. Esto causaba muchos problemas cuando se quera garantizar la operacin
en mltiples plataformas. Por ltimo, la forma de diseo que le dieron, limitaba la distancia de
los cables externos hasta un mximo de 1,8 metros. En 1991 hubo una reunin de
fabricantes de modo que se pudiera desarrollar un nuevo estndar para el control inteligente
de impresoras a travs de una red. Estos fabricantes, donde estaban incluidos Lexmark, IBM,
Texas Instruments y otros, formaron la Network Printing Alliance (NPA), como una respuesta
a estas necesidades.

Desde la introduccin del PC al mercado, el puerto paralelo ha sufrido varias modificaciones


para hacerlo ms veloz. Ya que el puerto original era unidireccional, se cre el puerto
bidireccional. El puerto bidireccional fue introducido con el PS/2 compatible. Este permite una
comunicacin de 8 bits en ambas direcciones. Algo interesante de notar es que el puerto
original tena la posibilidad de ser bidireccional realizando una conexin entre dos pines de
un componente electrnico que vena incluido en ste. (Dicho de otro modo, el puerto original
es bidireccional en diseo bsico, pero no en el diseo operacional). Finalmente se han
creado el Enhanced Parallel Port (EPP) y el Extended Capability Port (ECP). Estos dos
ltimos son al puerto estndar como el Pentium al 286, adems de ser bidireccionales.

Inicialmente el puerto paralelo se utiliz para la comunicacin con impresoras. Actualmente


se utiliza tambin para manejar otros perifricos como CD ROM, cintas de copia de respaldo,
discos duros, tarjetas de red, protectores de copia, scanners, etc.
En la actualidad se conoce cuatro tipos de puerto paralelo:

1. Puerto paralelo estndar (Standart Parallel Port SPP)


2. Puerto Paralelo PS/2 (bidireccional)
3. Enhanced Parallel Port (EPP)
4. Extended Capability Port (ECP)

En la siguiente tabla se muestra informacin sintetizada de cada uno de estos tipos de


puertos:
Interfaces y Perifricos, Gua 2 3

SPP PS/2 EPP ECP


Fecha de 1981 1987 1994 1994
Introduccin
Fabricante IBM IBM Intel, Xircom y Hewlett
Zenith Data Packard y
Systems Microsoft
Bidireccional No Si Si Si
DMA No No No Si
Velocidad 150 Kbyte/seg. 150 2 Mbytes/seg. 2 Mbytes/seg.
Kbytes/seg.

El puerto paralelo est formado por 17 lneas de seales y 8 lneas de tierra. Las lneas de
seales estn formadas por tres grupos:

4 Lneas de control
5 Lneas de estado
8 Lneas de datos

En el diseo original las lneas de control son usadas para la interfaz, control e intercambio
de mensajes desde el PC a la impresora.

Las lneas de estado son usadas para intercambio de mensajes, indicadores de estado
desde la impresora al PC (falta papel, impresora ocupada, error en la impresora).

Las lneas de datos suministran los datos de impresin del PC hacia la impresora y
solamente en esa direccin. Las nuevas implementaciones del puerto permiten una
comunicacin bidireccional mediante estas lneas.

Los registros del puerto paralelo


Cada registro del puerto paralelo es accesado mediante una direccin. El puerto paralelo
tiene tres registros:

1. Registro de datos (8 pines de salida para los bits de datos (D0 D7 Direcciones:
378h))
2. Registro de estado (5 pines de entrada (uno invertido) para acceder al estado del
puerto.(S3 S7 Direcciones-:379h))
3. Registro de control (4 pines de salida (tres invertidos) para acceder al control del
puerto. (C0 C3 Direcciones:37Ah))

Los 8 pines que restan son de tierra.


4 Interfaces y Perifricos, Gua 2

Figura 1.Conector DB-25 Hembra.

Procedimiento

Debido a que Visual Basic no maneja direcciones de entrada y salida o puertos por defecto,
es necesario la instalacin de archivos especiales para que esto pueda lograrse, los archivos
son:

Archivo inpout32.dll que es el que se encarga de comunicar al sistema con el


microprocesador.

Un mdulo de Visual Basic inpout32.bas que permite la utilizacin del archivo DLL

NOTA: Estos archivos sern proporcionados por su docente de laboratorio.

Agregue el mdulo utilizando el men de Proyecto y luego agregar mdulo.

1. Cuando se tenga el mdulo agregado hacer doble clic sobre este y aparecer el
cdigo, el cual se tendr que modificar poniendo en la Declaracin pblica de la
funcin Inp la ruta donde se copi el archivo DLL mencionado, las lneas a modificar
son las siguientes.

o Public Declare Function Inp Lib " C:\inpout32 \inpout32.dll " _


o Public Declare Sub Out Lib " C:\inpout32 \inpout32.dll " _

2. Al haber realizado este proceso ya se puede utilizar las instrucciones definidas en el


mdulo (out direccin, dato, variable=inp(direccin)). Las direcciones para acceder
al puerto paralelo son la H378 (bits de salida) y la &H379 (bits de entrada), por lo que
para mandar un dato al puerto paralelo se debe colocar la siguiente instruccin Out
&H378, dato, donde dato debe ser mximo de 8 bits (0 a 255 en decimal; 00 a FF en
hexadecimal).
Para leer un dato del puerto: variable = inp(&H379)
Interfaces y Perifricos, Gua 2 5

3. Cree un programa en Visual Basic con las siguientes caractersticas:


El programa debe permitir leer datos de 4 bits.
El programa deber escribir datos de 8 bits desde una caja de texto.
El programa deber tener una opcin en la que se pueda generar una secuencia de
datos pre-programados*.

Para ello realice la siguiente conexin con el puerto paralelo

Figura 2. Diagrama de conexin del puerto paralelo.


*
El sistema se presentara durante la prctica.
6 Interfaces y Perifricos, Gua 2

El formulario quedara de la siguiente manera:

Figura 3. Formulario para manejo de puerto paralelo.

Control Nombre Caption


Formulario frmInOut Puerto Paralelo
Cuadro de texto Text1 -
Botn superior izquierdo BotonSalida Escribir a puerto 378h
Botn superior derecho BotonLeer Lectura de puerto 379h
Botn de inicio de secuencia BotonInicSec Iniciar Secuencia
Botn de fin de secuencia BotonDetSec Detener Secuencia
Temporizador Timer1 -

El Cdigo correspondiente es el siguiente:

Option Explicit
Dim n As Integer

Private Sub Form_Load()


Timer1.Interval = 500
Timer1.Enabled = False
Text1.Text = ""
n=0
End Sub

Private Sub BotonSalida_Click()


Out &H378, Val(Text1.Text)
End Sub

Private Sub BotonLeer_Click()


Text1.Text = (Inp(&H379) Xor &H80) / 8
End Sub

Private Sub BotonInicSec_Click()


Interfaces y Perifricos, Gua 2 7

Timer1.Enabled = True
Out &H378, 0
End Sub

Private Sub BotonDetSec_Click()


Timer1.Enabled = False
Out &H378, 0
n=0
End Sub

Private Sub Timer1_Timer()


Out &H378, 2 ^ n
n=n+1
If n >= 8 Then n = 0
End Sub

Anlisis de Resultados

1. Dira usted que las salidas de los pines del puerto paralelo mantienen el dato hasta
que se escribe uno nuevo?
2. Ponga comentarios a las lneas del programa y explique en qu consiste la secuencia
presentada.
3. Del programa deduzca cmo se hace para que el bit S7 que es negado se invierta
4. Si se le pidiera que modifique el programa para que la secuencia fuera descendente
(del bit 7 al 0) y no ascendente (del bit 0 al 7) qu es lo que modificara en el
programa?

Investigacin Complementaria

Investigue sobre los puertos bidireccionales PS/2.


Investigue para que sirve cada pin del puerto paralelo.
Investigue todas las direcciones que pueden acceder al puerto paralelo en una PC.
En qu consiste y cmo se usa el modo EPP, ECP.
Cules son las seales que intercambian el puerto paralelo de la PC y el impresor.

Bibliografa

1. INTEL Corporation. 386 SX Microprocessor: Programmers Reference Manual


Biblioteca UDB Clasificacin: Libro 001.6404 I61 1989
MCGRAW HILL. NEW YORK, ESTADOS UNIDOS 1989, 1 Edicin.

2. Ramrez, Jos Felipe. Aprenda Visual Basic Practicando.


Biblioteca UDB Clasificacin: 005.363 R173 2001
PRENTICE HALL, Mxico, Mxico 2001,1 Edicin.
8 Interfaces y Perifricos, Gua 2

Hoja de cotejo: 2

Gua 2: Manejo Puerto Paralelo

Alumno: Maquina No:

Docente: GL: Fecha:

EVALUACION

% 1-4 5-7 8-10 Nota

CONOCIMIENTO 25% Conocimiento Conocimiento y Conocimiento


deficiente de los explicacin completo y
fundamentos incompleta de los explicacin clara
tericos fundamentos de los fundamentos
tericos tericos

APLICACIN 70% No Termin Termin Termin


DEL completamente el completamente el completamente el
programa y coment programa pero los programa con sus
CONOCIMIENTO
mal el cdigo (30%) comentarios no comentarios
estaban del todo correctos
No realiz el
correctos
circuito El circuito
correctamente (40%) El circuito funcion
funcion

ACTITUD 2.5% Es un observador Participa Participa


pasivo. ocasionalmente o propositiva e
lo hace integralmente en
constantemente toda la prctica.
pero sin
coordinarse con su
compaero.

2.5% Es ordenado; pero Hace un uso Hace un manejo


no hace un uso adecuado de los responsable y
adecuado de los recursos, respeta adecuado de los
recursos las pautas de recursos conforme
seguridad; pero es a pautas de
desordenado. seguridad e
higiene.

TOTAL 100%

También podría gustarte