Sei sulla pagina 1di 10

Manejo del puerto paralelo de la PC con VB 7

PRACTICA NO. 2

MANEJO DEL PUERTO PARALELO DE LA PC CON VB

OBJETIVOS:

Ampliar los conocimientos adquiridos de los programas visuales.

Aprender a realizar arreglos de controles dentro de visual Basic.

Desarrollar programas en VB que usen el puerto de impresin de la PC como


puerto de uso general para leer y escribir datos del exterior.

INTRODUCCIN:

Como se vio en la prctica anterior, Visual Basic nos genera un entorno grfico muy
poderoso y atractivo, agradable a la vista del usuario, por lo que nos proporciona un cierto
nivel de esttica. Por otra parte, mediante VB, nos es posible generar programas visuales
de 32 bits capaces de hacer uso de los puertos de una computadora, como lo es en este
caso el puerto paralelo.

Desde el punto de vista del software, el puerto paralelo consta de tres registros de 8 bits
cada uno, ocupando tres direcciones de I/O consecutivas de la arquitectura x86. El
primero es el registro de datos al cual se le asigna la direccin base (378h 3BCh), el
segundo es el registro de estado (direccin base+1) y el registro de control (direccin
base+2).

Desde el punto de vista hardware, el puerto es un conector hembra DB25 con doce
salidas latcheadas (que tienen memoria/buffer intermedio) y cinco entradas, con 8 lneas
de tierra. La funcin original del puerto paralelo era la de transferir datos a una impresora
a travs de las 8 lneas de datos, usando las seales restantes como control de flujo.

MATERIAL Y EQUIPO EMPLEADO

Laboratorio equipado con computadoras que tengan instalado el sistema de


desarrollo de aplicaciones Windows en Microsoft Visual Basic 6.

Multmetro

E. Romero A. Laboratorio de Sistemas Digitales III


Manejo del puerto paralelo de la PC con VB 8

Pre-reporte:

Leer previamente la prctica.

Descargar de la pgina los archivos INPOUT32.BAS e INPOUT32.DLL,


almacenarlos y llevarlos en un disco el da de la prctica.

DESARRROLO:

En esta prctica de manera paulatina se van a ir integrando nuevas herramientas del


ambiente de desarrollo en Visual Basic. De tal forma que para crear un programa capaz
de intercambiar datos por el puerto paralelo de la PC, se dividir la prctica en:

1.- El empleo de checkboxs y creacin de arreglos de controles.


2.- La creacin de la interfaz del usuario.
3.- Como utilizar el puerto paralelo.
4.- Salida de datos por el puerto paralelo.
5.- Entrada de datos por el puerto paralelo.

I. Utilizacin de checkboxs, declaracin de variables y creacin de arreglos


de controles

Checkboxs
Para introducir los datos en el programa utilizaremos unos controles llamados checkbox,
mismos que estn ubicados en el rea de controles, estos reaccionan a un clic del
usuario al ser seleccionados o no, pudiendo tomar cualquier valor que el programador
desee, en este caso sern utilizados para introducir los datos binarios por el usuario.

Declaracin de variables
Existen varios tipos de variables en Visual Basic, como lo son

Arreglos de controles

II. Creacin de la interfaz de usuario

1. Tome un frame del rea de controles y colquelo en la forma, este ser utilizado solo
para indicar el bit del usuario. Dentro de l colocaremos un label y un checkbox como
se muestra en la figura1.

E. Romero A. Laboratorio de Sistemas Digitales III


Manejo del puerto paralelo de la PC con VB 9

Figura 1: Etiqueta y checkbox (ya inicializados) dentro del frame.

2. Una vez que se cuenta con todos los controles se inicializan de tal forma que el frame
debe estar mostrando una B, para indicar un bit. A la etiqueta se le asigna el nombre de
Ldat para indicar que es la etiqueta de salida de datos, en backcolor cambiamos el color
por uno blanco, centramos el contenido de la etiqueta y la inicializamos con 0. En el
checkbox borramos hasta dejar en blanco el campo caption.

3. Ahora se procede a crear el arreglo de controles, para realizarlo copie y pegue siete
veces el frame que fue creado (ya que trabajaremos con ocho bits). Al hacerlo, VB le
preguntar si desea realizar un arreglo de controles, note que la pregunta la debe de
realizar tres veces cada vez que pegue el frame, ya que estar creando a la vez un
frame, un checkbox y un label: Si esto no sucede, la copia no fue correctamente
realizada, intente de nuevo.

4. Despus de copiar los frame cambie la B de cada uno por B7, B6 hasta B0 para
indicar el nmero de bit. Ha terminado de crear el arreglo de controles para el dato de
salida, ahora agregaremos los dems controles a utilizar. Note que al seleccionar cada
checkbox o label, en el rea de propiedades se ve el nombre con su ndice entre
parntesis.

5. Coloque arriba del arreglo una etiqueta que muestre DATO DE SALIDA, agregue un
textbox inicializado con 0 y cambie el nombre por DatSal, e inhabiltela con la opcin
enabled ponindola en false, coloque una etiqueta sobre el textbox igual a la anterior,
agregue el botn salir con su cdigo visto en la sesin anterior, que nos sirve para salir
del programa en ejecucin, debe obtener lo mostrado en la figura 2.

E. Romero A. Laboratorio de Sistemas Digitales III


Manejo del puerto paralelo de la PC con VB 10

Figura 2: Arreglo del dato de salida.

6. Ejecute el programa y vea como al dar un click sobre un checkbox este se selecciona
automticamente y al dar de nuevo un click este vuelve a su estado inicial, de clic en el
botn salir para dejar de ejecutar el programa.

7. Ahora se proceder a construir la interfaz para la entrada de datos: Para esto, utilice
nuevamente un frame conteniendo una etiqueta. El frame debe mostrar una B para
indicar bit, la etiqueta inicializada a 0, de un color blanco, y ahora se cambia el nombre a r
Lent para indicar que es etiqueta de entrada de datos. Copie de nuevo 4 veces el frame,
ya que esta vez se necesitan 5 bits.

8. Se agregaran dos etiquetas rotuladas como ENTRADA DE DATOS una sobre el


arreglo de datos de entrada y otra sobre un textbox, mismo que iniciaremos con un 0 y
llamar DatEnt, y se inhabilitara seleccionando en el rea de propiedades la opcin
enabled, ponindola en false, para que no este disponible al usuario.

9. Por ltimo, colocar un commandbutton que diga LEER DATO, a l se le asignar el


nombre de CLeer para indicar que es el comando de lectura. Si los pasos anteriores
fueron hechos en forma correcta, entonces ya se tiene creada la interfaz del usuario, la
cual deber ser similar a la mostrada en la figura 3

E. Romero A. Laboratorio de Sistemas Digitales III


Manejo del puerto paralelo de la PC con VB 11

Figura 3: Interfaz de usuario terminada.

III. Como utilizar el puerto paralelo

Descripcin del puerto paralelo

Inicialmente se coloc al puerto paralelo en la tarjeta del "Adaptador de impresora de


IBM", o tambin con la tarjeta del "monitor monocromtico y adaptador de impresora de
IBM".

Con la llegada de clones al mercado, se crea un controlador de mltiples entradas y


salidas (Multi I/O) donde se instalan controladores de discos, puertos serie, puerto de
juegos y el puerto paralelo. La conexin del puerto con el mundo externo no ha sufrido
modificaciones.

Descripcin del conector DB25 del PC y el conector DB25 del Centronics

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

E. Romero A. Laboratorio de Sistemas Digitales III


Manejo del puerto paralelo de la PC con VB 12

Figura 4: Numeracin de las terminales del puerto paralelo en los conectores DB25.

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
empleadas como indicadores del estado de la impresora (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. Cabe sealar que actualmente las
nuevas implementaciones del puerto paralelo permiten una comunicacin bidireccional
mediante estas lneas. La distribucin de las terminales en el conector DB25 se presenta
en la tabla 1.

Tabla 1: Distribucin de terminales del puerto paralelo en el conector DB-25.

E. Romero A. Laboratorio de Sistemas Digitales III


Manejo del puerto paralelo de la PC con VB 13

Pasos para utilizar el puerto paralelo en Visual Basic

Cualquier proyecto que utilice el puerto paralelo ya sea como entrada o como salida, debe
contar con dos archivos importantes: INPOUT.BAS e INPOUT.DLL.

10. El primero de ellos va implcito con el proyecto y necesita anexarse cada vez que se
ejecute, a este se le identifica como "MODULO", su nombre es: INPOUT32.BAS.

Para anexarlo al proyecto, se accede a la opcin PROYECTO/Agregar Modulo del men


principal. Aparecer una ventana y elegimos existente, ahora solo lo importamos de
nuestro disco.

11. Aparte del modulo, el sistema operativo tambin necesita el archivo INPOUT32.DLL.
Esta librera nos da acceso al hardware de la maquina y debe estar en la carpeta:
C:\WINDOWS\SYSTEM o sea basta con copiarlo de nuestro disco. Una vez que la
mquina tenga el archivo INPOUT32.DLL cualquier proyecto que involucre puertos tiene
acceso al hardware.

IV. Salida de datos por el puerto paralelo

Como ya se cuenta con todos los controles y archivos necesarios, se procede a generar el
cdigo necesario para nuestro programa funcione.

12. El primer paso es codificar los datos de salida. Para esto, se har click a un
checkbox del arreglo de los datos de salida y se agrega el siguiente cdigo.

If Check1(Index).Value = 1 Then
Ldat(Index).Caption = 1
Else: Ldat(Index).Caption = 0
End If

Lo que se est haciendo aqu es decirle a nuestro programa que si damos un click a un
checkbox la etiqueta marcada con el mismo ndice tomar el valor de uno, en caso
contrario tomar un cero, lo que utilizaremos para introducir el nmero binario que
mandaremos al puerto paralelo.

13. Se procede a ejecutar el programa y verificar que las etiquetas cambien conforme se
van dando clicks en los checkbox. Si lo anterior no sucede, verificar el cdigo. Si
funciona bien, se agrega el siguiente cdigo:

If Ldat(7).Caption = 0 Then d0 = 0 Else d0 = 128


If Ldat(6).Caption = 0 Then d1 = 0 Else d1 = 64
If Ldat(5).Caption = 0 Then d2 = 0 Else d2 = 32
If Ldat(4).Caption = 0 Then d3 = 0 Else d3 = 16
If Ldat(3).Caption = 0 Then d4 = 0 Else d4 = 8
If Ldat(2).Caption = 0 Then d5 = 0 Else d5 = 4
If Ldat(1).Caption = 0 Then d6 = 0 Else d6 = 2
If Ldat(0).Caption = 0 Then d7 = 0 Else d7 = 1

E. Romero A. Laboratorio de Sistemas Digitales III


Manejo del puerto paralelo de la PC con VB 14

datosalida = d0 + d1 + d2 + d3 + d4 + d5 + d6 + d7

DatSal.Text = datosalida

El cdigo anterior nos indica el valor correspondiente de cada bit del arreglo en decimal.
Ntese que el ndice que se encuentra entre parntesis es el que especifica el peso del
bit, datosalida es el dato que se enviara por el puerto y es la suma de los bits dados por
el usuario, mismos que se pondran en el cuadro de texto de los datos de salida.

14. En este punto se vuelve a ejecutar el programa y se deber observar que el valor en
el cuadro de texto cambia cada vez que damos un click en un checkbox, y este valor
es el mismo de los checkboxs en decimal.

15. Ahora que ya es posible desplegar el dato de salida en la pantalla de usuario. Realice
el despliegue con el dato de entrada, para esto dar click al botn LEER DATO y agregue
el siguiente cdigo,

If Ldat(0).Caption = 0 Then e0 = 0 Else e0 = 1


If Ldat(1).Caption = 0 Then e1 = 0 Else e1 = 2
If Ldat(2).Caption = 0 Then e2 = 0 Else e2 = 4
If Ldat(3).Caption = 0 Then e3 = 0 Else e3 = 8
'If Ldat(4).Caption = 0 Then e4 = 0 Else e4 = 16

datoentrada = e0 + e1 + e2 + e3 + e4

DatEnt.Text = datoentrada

Con este cdigo estamos realizando una copia de las etiquetas de salida para generar el
dato de entrada, el programa ahora debe mostrar los ltimos 5 bits del dato de salida en la
entrada, ejecute la aplicacin y verifique.

16. Para sacar los datos del programa, se debe averiguar cual es la direccin base que
tiene el puerto paralelo (recuerde que la direccin puede variar de una PC a otra). Para
esto se abre el Panel de control y se elige el icono de Sistema, luego se da click en la
pestaa Hardware y se oprime el botn Administrador de dispositivos. Lo anterior
desplegar el rbol de conexin de los dispositivos de la PC. Dentro de l elegimos
Puertos (COM & LPT) y se hace doble click en Puerto de Impresora para desplegar
las propiedades relevantes del puerto. Hecho esto, elegimos la pestaa Recursos y
anotamos la primera direccin mostrada en la lnea Intervalo del E/S, esa es la direccin
base del puerto.

17. Una vez identificada la direccin base, declararemos en el arreglo del dato de salida el
siguiente cdigo (suponiendo que la direccin base es 378h):

Out &H378, datosalida

Con esta lnea indicamos la salida del dato, la direccin del puerto por donde saldr la
informacin y el dato que deseamos sacar por el.

E. Romero A. Laboratorio de Sistemas Digitales III


Manejo del puerto paralelo de la PC con VB 15

18. Vuelva a ejecutar el programa y coloque el voltmetro en las bits de datos (terminales
2 a la 9) del puerto paralelo para verificar que el dato est escrito en el..

V. Wntrada de datos por el puerto paralelo

19. En este punto la copia de los 5 bits de salida a la entrada del puerto paralelo ya no
nos es til, ya que solo era para verificar el funcionamiento del programa, por lo que se
debe eliminar y reemplazar por el siguiente cdigo.

datoentrada = Inp(&H37A)
DatEnt.Text = datoentrada

Con se captura el dato de entrada del puerto paralelo en una variable y luego se lo
asignamos al botn de texto para poder desplegarlo.

20. Agregue el siguiente cdigo despus de las dos lneas anteriores, mismas que nos
sirven para convertir el dato ledo por el puerto paralelo y desplegarlo en las etiquetas del
dato de entrada.

If datoentrada >= 128 Then e4 = 1


If e4 = 1 Then datoentrada = datoentrada - 128
Else: e4 = 0
End If

If datoentrada >= 64 Then e3 = 1


If e3 = 1 Then datoentrada = datoentrada - 64
Else: e3 = 0
End If

If datoentrada >= 32 Then e2 = 1


If e2 = 1 Then datoentrada = datoentrada - 32
Else: e2 = 0
End If

If datoentrada >= 16 Then e1 = 1


If e1 = 1 Then datoentrada = datoentrada - 16
Else: e1 = 0
End If

If datoentrada >= 8 Then e0 = 1


If e0 = 1 Then datoentrada = datoentrada - 8
Else: e0 = 0
End If

If e0 = 0 Then Lent(0).Caption = 0 Else Lent(0).Caption = 1


If e1 = 0 Then Lent(1).Caption = 0 Else Lent(1).Caption = 1
If e2 = 0 Then Lent(2).Caption = 0 Else Lent(2).Caption = 1
If e3 = 0 Then Lent(3).Caption = 0 Else Lent(3).Caption = 1
If e4 = 0 Then Lent(4).Caption = 0 Else Lent(4).Caption = 1

E. Romero A. Laboratorio de Sistemas Digitales III


Manejo del puerto paralelo de la PC con VB 16

21. Modifique el nivel lgico introducido a los bits de estado del puerto paralelo (recuerde
que el puerto es compatible con los niveles TTL). Esto puede lograrse puenteando
cualquiera de las terminales 10, 11, 12, 13 o 15 con cualquiera de las GND del puerto
(terminales 18 a 15). Tenga cuidado en realizar bien las conexiones y verifique varias
veces con la ayuda del maestro, para no daar el puerto paralelo.

ACTIVIDADES COMPLEMENTARIAS

1. Investigar circuitos que permitan al puerto paralelo:


Leer datos de 8 o 12 bits a travs de 4 lneas del registro de estado.
Leer datos de 8 bits combinando lneas del registro de estado y del registro de
control (en total 8 lneas).

2. Elaborar la interfaz de usuario correspondiente en VB que permita controlar el


funcionamiento de los circuitos investigados.

E. Romero A. Laboratorio de Sistemas Digitales III

Potrebbero piacerti anche