Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Comenz and Ol PT
Comenz and Ol PT
TERMINOLOGIA:
A lo largo de este tutorial, voy a ser uso de ciertos trminos que considero que
seria muy bueno que se conocieran antes.
Bit 1 : Significa que la salida de esta puerta es 5V.
Bit 0 : Significa que la salida es 0v.
Bit X : Significa que no importa el valor de este bit, puede ser 1 o 0
Bit ~X
: Significa que este dato es negado.
Registro: Arreglos de 8 Bits, que sirven para la configuracin del Puerto Paralelo
Un Poco de Teora.
Para comenzar, Estas operaciones son muy importantes, ya que nos permiten el
manejo del Puerto, cambiar Bits, invertirlos, enmascaralos. Como se vera a
continuacin:
D7
1
D6
0
D5
1
D4
1
D3
0
D2
0
D1
0
D0
0
Operador
& = And
Result =
D7
D5
D4
//Muy interesante
Es decir que nos sirve para colocar los bits que deseamos a 0
Yoel Ocmn
http://Yoelocmin.tk
FIE-UNMSM Lima-Per
1
http://proyectosfie.tk
yoelocmin@hotmail.com
D7
1
D6
1
D5
0
D4
1
D3
0
D2
1
D1
0
D0
0
Operador
| = or
Result =
D5
D3
D1
D0
//Muy interesante
D7
1
D6
0
D5
1
D4
1
D3
0
D2
0
D1
0
D0
0
Operador
^ =Xor
Result =
~D7
D6
~D5
~D4
D3
D2
D1
D0
//Muy interesante
Aqu, no voy a redundar en los pines, es decir, no voy a detallar cuales son y su
numeracin, por que de eso ya hay bastante en la Web, y ya he puerto informacin
en la seccin Puertos de mi web.
Bueno, para manejar el puerto paralelo, hay q saber acerca de sus registros. Que
Son 3 Base, Estado y Control.
La direccin de la mayora de Pcs q conozco, esta en 378h. Aunque puede variar
dependiendo del SO q uses. Yo lo voy ha usar como un Estndar para este tutorial.
Yoel Ocmn
http://Yoelocmin.tk
FIE-UNMSM Lima-Per
2
http://proyectosfie.tk
yoelocmin@hotmail.com
Descripcin de Registros:
Registro de Datos. (Su direccin es 378h = Direccin Base).
D7
D6
D5
D4
D3
D2
D1
D0
#include "stdafx.h"
#include "Iostream.h"
//Definimos los prototipos de nuestras funciones
//Recuerdese q se debe agregar a la etapa de Link, el archivo InpOut32.lib
short _stdcall Inp32(short PortAddress);
void _stdcall Out32(short PortAddress, short data);
void main(void)
{ short data;
data=Inp32(0x378);
cout<<"El Registro Estado es: "<<data<<"\n";
return; }
Ejemplo en Assembler Para DOS
.model small
.code
mov al,11111111b; Mandamos q todas las salidas sean 1
mov dx,378h
in dx,al
mov ah,4ch
int 21 h
end
S6
S5
S4
S3
Yoel Ocmn
http://Yoelocmin.tk
FIE-UNMSM Lima-Per
3
http://proyectosfie.tk
yoelocmin@hotmail.com
C0
Yoel Ocmn
http://Yoelocmin.tk
FIE-UNMSM Lima-Per
4
http://proyectosfie.tk
yoelocmin@hotmail.com
FIE-UNMSM Lima-Per
5
http://proyectosfie.tk
yoelocmin@hotmail.com
Pero como!!!
Bueno, Sabemos que Visual Basic no permite manejar el Puerto Paralelo, pero
nuestra DLL S, ES por eso que lo adjuntaremos, mediante un archivo obj:
InpOut32.bas
FIE-UNMSM Lima-Per
6
http://proyectosfie.tk
yoelocmin@hotmail.com
Form1.frm
Yoel Ocmn
http://Yoelocmin.tk
FIE-UNMSM Lima-Per
7
http://proyectosfie.tk
yoelocmin@hotmail.com
Yoel Ocmn
http://Yoelocmin.tk
FIE-UNMSM Lima-Per
8
http://proyectosfie.tk
yoelocmin@hotmail.com
Simulacin:
Bueno ahora, vamos a Hacer un Circuito y simular el programa.
Como!!!
Bueno, uno puede simular el programa hecho en Visual Basic, con otro programa.
Yo voy a usar el Proteus Lite Isis. Para ello voy a necesitar la librera y
modelo Respectivo. Se llaman Modelo : Port.dll y Library: Lpt02.lib
Se supone que debe estar junto a este archivo, en al versin comprimida, pero
si no es as bajatela de la seccion Proteus de mi pagina web.
http://proyectosfie.tk
OJO:
Esa Librera y Modelo son de mi cosecha.
Otra cosa. El Esquemtico que acompaa el archivo fue hecho con la versin 6.3
sp1, que la puedes descargar del enlace q indica mi Web en la seccin Proteus
Si te bajas esa versin no te olvides colocarle los 2 parches respectivos para su
buen funcionamiento.
Por Ahora, creo que con poner el Esquema es Suficiente, para la simulacin
usa las Libreras:
Yoel Ocmn
http://Yoelocmin.tk
FIE-UNMSM Lima-Per
9
http://proyectosfie.tk
yoelocmin@hotmail.com
Yoel Ocmn
http://Yoelocmin.tk
FIE-UNMSM Lima-Per
10
http://proyectosfie.tk
yoelocmin@hotmail.com