Академический Документы
Профессиональный Документы
Культура Документы
PRACTICA NO. 2
OBJETIVOS:
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.
Multmetro
Pre-reporte:
DESARRROLO:
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
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.
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.
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.
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
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.
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.
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.
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:
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,
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):
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.
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..
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.
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