You are on page 1of 8

UNIVERSIDAD CATOLICA DE SANTA MARIA FACULTAD DE CIENCIAS E INGENIERAS FISICAS Y FORMALES PROGRAMA PROFESIONAL INGENIERIA MECNICA, MECNICA-ELECTRCA Y MECATRNICA

Pgina:1/8

Jefes de Prcticas: Ing. Juan Carlos Cuadros Ing. Henry Zegarra Gago Ing. Sergio Mestas Ramos Cdigo: Semestre: Grupo: Lab. N 4E04022 IV
FECHA:

Laboratorio de Mecnica Computacional II


Tema: PUERTO PARALELO CON MATLAB
Apellidos y Nombres (1):____________________________________________________ Apellidos y Nombres (2):____________________________________________________

1 4

del 03 al 07/Nov/12

I. OBJETIVOS Conocer y analizar las caractersticas del puerto paralelo. Desarrollar aplicaciones que trabajen con el puerto paralelo.

II. MARCO TEORICO Hace aos, IBM dise el puerto paralelo para manejar impresoras desde su gama de microcomputadores PC/XT/AT. Un conector estndar macho de 25 pines apareca en la parte trasera del PC con el solo propsito de servir de interfaz con la impresora. El sistema operativo DOS cargado en dichos PC soporta hasta tres puertos paralelos asignados a los identificadores LPT1, LPT2 y LPT3, y cada puerto requiere tres direcciones consecutivas del espacio de E/S (entrada-salida) del procesador para seleccionar todas sus posibilidades. Desde el punto de vista del hardware, el puerto consta de un conector hembra DB25 con doce salidas latch (poseen memoria/buffer intermedio) y cinco entradas, con ocho lneas de tierra. Desde el punto de vista del software, el puerto paralelo consta de tres registros (datos, estado y control) de 8 bits cada uno, que ocupan tres direcciones de E/S (I/O) consecutivas de la arquitectura x86.

UNIVERSIDAD CATOLICA DE SANTA MARIA FACULTAD DE CIENCIAS E INGENIERAS FISICAS Y FORMALES PROGRAMA PROFESIONAL INGENIERIA MECNICA, MECNICA-ELECTRCA Y MECATRNICA

Pgina:2/8

Jefes de Prcticas: Ing. Juan Carlos Cuadros Ing. Henry Zegarra Gago Ing. Sergio Mestas Ramos Cdigo: Semestre: Grupo: Lab. N 4E04022 IV
FECHA:

Laboratorio de Mecnica Computacional II


Tema: PUERTO PARALELO CON MATLAB
Apellidos y Nombres (1):____________________________________________________ Apellidos y Nombres (2):____________________________________________________

1 4

del 03 al 07/Nov/12

La funcin normal del puerto consiste en transferir datos a una impresora mediante 8 lneas de salida de datos, usando las seales restantes como control de flujo. Sin embrago, puede ser usado como un puerto E/S de propsito general por cualquier dispositivo o aplicacin que se ajuste a sus posibilidades de entrada/salida.

Descripcin del conector fsico. La conexin del puerto paralelo al mundo exterior se realiza mediante un conector hembra DB25. Observando el conector de frente y con la parte que tiene mayor nmero de pines hacia arriba, se numera de derecha a izquierda y de arriba a abajo, del 1 al 13 (arriba) y del 14 al 25 (abajo).

En este conector: 8 lneas (pines) son para salida de datos (bits de DATOS). Sus valores son nicamente modificables a travs de software, y van del pin 2 (dato 0, D0) al pin 9 (dato 7, D7). 5 lneas son de entrada de datos (bits de ESTADO), nicamente modificables a travs del hardware externo. Estos pines son: 11, 10, 12, 13 y 15, del ms al menos significativo.

UNIVERSIDAD CATOLICA DE SANTA MARIA FACULTAD DE CIENCIAS E INGENIERAS FISICAS Y FORMALES PROGRAMA PROFESIONAL INGENIERIA MECNICA, MECNICA-ELECTRCA Y MECATRNICA

Pgina:3/8

Jefes de Prcticas: Ing. Juan Carlos Cuadros Ing. Henry Zegarra Gago Ing. Sergio Mestas Ramos Cdigo: Semestre: Grupo: Lab. N 4E04022 IV
FECHA:

Laboratorio de Mecnica Computacional II


Tema: PUERTO PARALELO CON MATLAB
Apellidos y Nombres (1):____________________________________________________ Apellidos y Nombres (2):____________________________________________________

1 4

del 03 al 07/Nov/12

4 lneas son de control (bits de CONTROL), numerados del ms significativo al menos: 17, 16, 14 y 1. Habitualmente son salidas, aunque se pueden utilizar tambin como entradas y, por tanto, se pueden modificar tanto por software como por hardware. las lneas de la 18 a la 25 son la tierra.

En la siguiente tabla se detallan la nomenclatura y descripcin de cada lnea. La columna "Centronics pin" se refiere a las lneas del conector tipo Centronics usado en las impresoras. La columna E/S se refiere al dato visto desde el lado del PC.

El nombre de cada seal corresponde a la misin que cumple cada lnea con relacin a la impresora, el perifrico para el que fue diseado el puerto paralelo. Las seales activas a nivel bajo aparecen con la barra de negacin (por ejemplo, Strobe). Cuando se indica alto o bajo se refiere a la tensin en el pin del conector. Alto equivale a ~5V en TTL y bajo a ~0V en TTL.

ACCESO AL PUERTO El puerto paralelo se identifica por su direccin de E/S (entrada/salida, I/O) base y se reconoce en sistemas MS-DOS por el nmero LPT (lp en Unix/Linux). Cuando arranca la mquina, la BIOS (Basic Input Output System) chequea direcciones especficas de E/S en busca de puertos paralelos y construye una tabla de las direcciones halladas en la posicin de memoria 40h:8h (o 0h:0408h) (vase direccionamiento segmentado). Esta tabla contiene hasta tres palabras de 16 bits, cada palabra con el byte bajo primero seguido por el byte alto. Cada palabra es la direccin de E/S base del puerto paralelo (que denominaremos LPT_BASE en lo sucesivo). La primera corresponde a LPT1, la segunda a LPT2 y la tercera a LPT3. Hay que agregar que, en MS-DOS tenemos el dispositivo PRN que es un alias a uno de los dispositivos LPT (generalmente es LPT1, pero se puede cambiar con la orden MODE).

UNIVERSIDAD CATOLICA DE SANTA MARIA FACULTAD DE CIENCIAS E INGENIERAS FISICAS Y FORMALES PROGRAMA PROFESIONAL INGENIERIA MECNICA, MECNICA-ELECTRCA Y MECATRNICA

Pgina:4/8

Jefes de Prcticas: Ing. Juan Carlos Cuadros Ing. Henry Zegarra Gago Ing. Sergio Mestas Ramos Cdigo: Semestre: Grupo: Lab. N 4E04022 IV
FECHA:

Laboratorio de Mecnica Computacional II


Tema: PUERTO PARALELO CON MATLAB
Apellidos y Nombres (1):____________________________________________________ Apellidos y Nombres (2):____________________________________________________

1 4

del 03 al 07/Nov/12

Las direcciones base estndar para los puertos paralelos son: 03BCh 0378h 0278h REGISTROS El puerto paralelo estndar (SPP) consta, como se mencion antes, de tres registros de 8 bits localizados en direcciones adyacentes del espacio de E/S del PC. Los registros se definen relativos a la direccin de E/S base (LPT_BASE) y son: LPT_BASE + 0: registro de DATOS LPT_BASE + 1: registro de ESTADO LPT_BASE + 2: registro de CONTROL

REGISTROS DE DATOS El registro de estado se halla en LPT_BASE. Se puede leer y escribir. Escribir un dato en el registro causa que dicho dato aparezca en los pines 2 a 9 del conector del puerto. Al leer el registro, se lee el ltimo dato escrito (NO lee el estado de los pines; para ello hay que usar un puerto bidireccional).

El estndar es que las salidas sean LS TTL (low schottky TTL), aunque las hay que son de tipo OC (colector abierto). La corriente que pueden entregar (modo source) es de 2,6 mA mximo y pueden absorber (modo sink) un mximo de 24 mA. n el puerto original de IBM hay condensadores de 2,2 nF a masa. Las tensiones para el nivel bajo son entre 0 y 0,8V y el nivel alto entre 2,4V y 5V.

UNIVERSIDAD CATOLICA DE SANTA MARIA FACULTAD DE CIENCIAS E INGENIERAS FISICAS Y FORMALES PROGRAMA PROFESIONAL INGENIERIA MECNICA, MECNICA-ELECTRCA Y MECATRNICA

Pgina:5/8

Jefes de Prcticas: Ing. Juan Carlos Cuadros Ing. Henry Zegarra Gago Ing. Sergio Mestas Ramos Cdigo: Semestre: Grupo: Lab. N 4E04022 IV
FECHA:

Laboratorio de Mecnica Computacional II


Tema: PUERTO PARALELO CON MATLAB
Apellidos y Nombres (1):____________________________________________________ Apellidos y Nombres (2):____________________________________________________

1 4

del 03 al 07/Nov/12

REGISTROS DE ESTADO El registro de estado est en LPT_BASE+1. Es de slo lectura (las escrituras sern ignoradas). La lectura da el estado de los cinco pines de entrada al momento de la lectura. En la tabla siguiente los nombres de los pines se dejaron en ingls porque es como generalmente se identifican.

La lnea Busy tiene, generalmente, una resistencia de pull-up interna. El estndar es que sean entradas tipo LS TTL. REGISTROS DE CONTROL El registro de control se encuentra en LPT_BASE+2. Es de lectura/escritura.

Los cuatro bits inferiores son salidas. La lectura devuelve lo ltimo que se escribi a dichos bits. Son TTL a colector abierto con resistencias de pull-up de 4.7 k, por lo que un dispositivo externo puede forzar el estado de los pines sin daar el driver. Esto permite utilizar estas cuatro lneas como entradas. Para ello, se ponen en alto las cuatro salidas (escribiendo 0100b, es decir, 4h, en LPT_BASE+2) lo que hace que las salidas "floten". Ahora, un dispositivo externo puede forzar a bajo alguna de las salidas con lo que, leyendo el puerto, sabemos si esto sucedi o no. Es posible realizar esta tcnica en salidas totem-pole (como D0-D7) pero no se recomienda su uso porque habra que tener un conocimiento preciso de la corriente, ya que se puede sobrecargar los transistores de salida y daar el driver (especialmente en puertos integrados LSI).

INSTRUCCIONES PARA EL MANEJO DEL PUERTO PARALELO

UNIVERSIDAD CATOLICA DE SANTA MARIA FACULTAD DE CIENCIAS E INGENIERAS FISICAS Y FORMALES PROGRAMA PROFESIONAL INGENIERIA MECNICA, MECNICA-ELECTRCA Y MECATRNICA

Pgina:6/8

Jefes de Prcticas: Ing. Juan Carlos Cuadros Ing. Henry Zegarra Gago Ing. Sergio Mestas Ramos Cdigo: Semestre: Grupo: Lab. N 4E04022 IV
FECHA:

Laboratorio de Mecnica Computacional II


Tema: PUERTO PARALELO CON MATLAB
Apellidos y Nombres (1):____________________________________________________ Apellidos y Nombres (2):____________________________________________________

1 4

del 03 al 07/Nov/12

Para configurar como salidas dio=digitalio('parallel','lpt1'); Port0=addline(dio,0:7,0,'out'); putvalue(Port0, double(3)); Para configurar como entradas: Port0=addline(dio,0:7,0,'in'); portval = getvalue(dio) MATERIAL Y EQUIPO IV. Una PC con SO Windows XP Internet MATLAB Conector DB25 Cable de 9/25 pines Multimetro. Protoboard. 8 Resistencias de 1k 8 LEDs pequeos

%crea el objeto dio de tipo digital input output %habilita del Pin 2-9 como salidas %manda un valor de 3 al puerto

III.

PROCEDIMIENTO 1. Suelde al conector DB25 los pines del 2 al 9 (bus de datos), uno hilo con cada pin, y junte los pines del 18 al 25 (tierra) y suelde un solo hilo. 2.Verifique con ayuda del multmetro la continuidad entre cada pin y el cable correspondiente. 3.Implemente el siguiente circuito y conecte cada uno de los cables del conector DB25 a los terminales de cada una de las resistencias. El cable de tierra debe unirse a la tierra del circuito.

R1
1k

R2
1k

R3
1k

R4
1k

R5
1k

R6
1k

R7
1k

R8
1k

D1
LED

D2
LED

D3
LED

D4
LED

D5
LED

D6
LED

D7
LED

D8
LED

UNIVERSIDAD CATOLICA DE SANTA MARIA FACULTAD DE CIENCIAS E INGENIERAS FISICAS Y FORMALES PROGRAMA PROFESIONAL INGENIERIA MECNICA, MECNICA-ELECTRCA Y MECATRNICA

Pgina:7/8

Jefes de Prcticas: Ing. Juan Carlos Cuadros Ing. Henry Zegarra Gago Ing. Sergio Mestas Ramos Cdigo: Semestre: Grupo: Lab. N 4E04022 IV
FECHA:

Laboratorio de Mecnica Computacional II


Tema: PUERTO PARALELO CON MATLAB
Apellidos y Nombres (1):____________________________________________________ Apellidos y Nombres (2):____________________________________________________

1 4

del 03 al 07/Nov/12

4.Habra un script en blanco y escriba el siguiente cdigo. paralelo = digitalio(Parallel,LPT1); lnea=addline(paralelo,0:3,out); putvalue(linea, double(3)); salida1=[0 0 0 1; 0 0 1 1; 0 1 1 1;1 1 1 1]; salida2=[1 0 0 0; 1 1 0 0; 1 1 1 0;1 1 1 1]; for m=1:5 for x=1:4 valor1=salida1(x,:); putvalue(paralelo,valor1); pause(0.5); end for y=1:4 valor2=salida2(y,:); putvalue(paralelo,valor2); pause(0.5); end end delete(paralelo) clear paralelo 5.Ejecute el programa y verifique el funcionamiento del circuito. V. CUESTIONARIO FINAL 1. Escriba un programa que realice un juego secuencial (izquierda derecha) de 8 lmparas (LEDs), 2. Escriba un programa que realice un juego secuencial (izquierda derecha) de 8 lmparas (LEDs), 3. Escriba un programa que realice un juego secuencial (del centro hacia afuera) de 8 lmparas (LEDs), 4. Escriba un programa que realice un juego secuencial (afuera hacia el centro) de 8 lmparas (LEDs), 5. Cree una GUI para el manejo del puerto paralelo, donde se pueda seleccionar una de las secuencias anteriores adems de poder fijar el tiempo de retardo.

VI. OBSERVACIONES Y CONCLUSIONES Haga sus observaciones y emita al menos cinco conclusiones en torno al trabajo realizado ________________________________________________________________________________________ ________________________________________________________________________________________ ________________________________________________________________________________________ ______________________________________________________________________________________

You might also like