IV. Programacin de
Perifricos
Puerto paralelo
IV. Programacin
Pr
orientada a
perifricos
Puerto paralelo
PROGRAMACIN ESTRUCTURADA
PRE-ES | Ingeniera Mecatrnica | 2013
CONTENIDO
1. Introduccin
IV. Programacin de
Perifricos
2. El puerto paralelo
Introduccin
Contenido v
Contenido v
Qu es un puerto ?
IV. Programacin de
Perifricos
En el mundo de la computacin, un
puerto es un conjunto de lneas de seal
que el microprocesador o CPU usa para
intercambiar datos con otros
componentes.
El puerto paralelo
La mayora de los puertos de la computadora son digitales, es decir, cada seal o bit,
es 0 1.
Contenido v
Contenido v
7
Cada uno de estos registros se denomina puerto o PORT, y cada uno de sus
pines representa un bit.
El puerto paralelo de la PC es un
conector de 25 pines de tipo D (DB25)
comnmente conocido como puerto
LPT (line printer terminal, por sus siglas
en ingls)
Los pines del 18 al 25 son para masa, y sirven para conectar las descargas de
los circuitos.
Puerto de Datos
Conector
Hembra
(PC)
Puerto de Estado
Puerto de Control
Contenido v
Contenido v
10
Puerto
Hexadecimal
Decimal
Datos
0x378
888
Estado
0x378+1
889
Control
0x378+2
890
Contenido v
PortOut_int_(888,bin)
11
Descripcin de puertos
12
Puerto de Datos
Pines 2-9
Puerto Paralelo
Circuito
Puerto de Control
Pines 1, 14, 16, 17
Contenido v
Puerto de Estado
Pines 10-13, 15
Contenido v
14
13
IV. Programacin de
Perifricos
0v
0
Contenido v
Contenido v
15
IO.DLL
http://www.geekhideout.com/iodll.shtml
16
PortTalk Driver
http://retired.beyondlogic.org/porttalk/porttalk.htm
Inpout32.dll
http://logix4u.net/parallel-port/16-inpout32dll-for-windows-982000ntxp/
Contenido v
#include "ioports\ioports_ctl.c"
Contenido v
17
18
Funciones de Simulacin
Habilitacin de la librera.
Comando
Descripcin
OpenLibrary();
StartIOPorts("io",0);
CloseLibrary();
Contenido v
Contenido v
19
Acceso al puerto.
Comando
valor = PortIn(0x379);
Comando
1 Parmetro
StartIOPorts("pt",0);
Permite decidir si se
utilizarn las funciones de
acceso real o las de
simulacin:
0 , reales
1 , de simulacin
PortOut(888,1);
PortOut_int(888,b);
Es un arreglo de nmeros
enteros que debe tener 8
elementos, cada uno de los
cuales slo podrn tomar los
valores 0 1
Descripcin
PortOut(888,1);
PortOut_int(888,b);
20
2 Parmetro
N/A
se pretende acceder
Contenido v
Contenido v
21
PortOut(888, 8);
En Windows XP
Los programas se ejecutan sin problema
En Windows 7
La primera vez que se ejecute el
programa desde Dev-C no
funcionar.
Es necesario ejecutar como
administrador la aplicacin generada
(ver a la derecha)
Esto se requiere solamente la
primera vez.
Contenido v
22
Contenido v
23
IV. Programacin de
Perifricos
24
Circuito de prueba
Encendido de leds mediante el puerto paralelo
Circuito de Prueba
Contenido v
Contenido v
25
Circuito de prueba
Programa ejemplo
#include "ioports\ioports_ctl.c"
int main()
{
OpenLibrary();
// Abriendo el puerto
StartIOPorts("io", 0);
PortOut(888,0);
PortOut(888,8);
CloseLibrary();
D7
Contenido v
D6
D5
D4
D3
D2
D1
D0