Programación del Puerto paralelo en lenguaje 'C'

ENVIÓ Y LECTURA DE DATOS DEL PUERTO

Envío de datos al puerto.

El puerto paralelo puede ser usado como una comunicación directa con el PC, de este modo es posible desarrollar aplicaciones en tiempo-real que necesiten un rápido tiempo de respuesta.
El acceso se realiza escribiendo un byte (8 bits) en registro determinado. Este byte debe referirse a cada uno de los bits del registro. Esto significa que se debe definir el byte a escribir en sistema binario.

Por ejemplo si queremos escribir en el registro de datos el bit D0 y el bit D2 entonces el byte es:


0
0
0
0
0
1
0
1
= 5  En decimal
D7
D6
D5
D4
D3
D2
D1
D0
Registro de datos



Luego, se debe escribir 5 en el registro de datos (dirección base):

En C la sentencia utilizada es:

Outport(dir_base, 5);

Lectura de datos del puerto

La lectura de datos se realiza accesando un byte del registro determinado. Al hacer la lectura se debe convertir el byte a binario para determinar él o los bits que interesen. Note que sólo se debe leer el registro de estado, o sea, la dirección base+1.

En C la sentencia utilizada es:

unsigned int dato;
dato=inport(dir_estado);

Por ejemplo, si el dato leído es igual a 96, significa que los bits S5 y S6 están activos (tienen un nivel alto, un 1).



0
1
1
0
0
0
0
0
= 96  En decimal
S7
S6
S5
S4
S3
S2
S1
S0
Registro de estado

La sintaxis de las instrucciones para la escritura en el puerto en los diversos lenguajes es similar aunque, obviamente, existen ciertas diferencias. Veamos cómo se procede en el lenguaje “C”.
 En "C" se utiliza la instrucción outport, o bien outportb, ambas incluidas en la cabecera "dos.h". Un ejemplo muy simple de cómo escribir un 0xFF en el puerto es el siguiente:

#include <dos.h>
void main(void)
{
outport(0x378,0xFF);
}

En este ejemplo simplemente colocamos las salidas D0 a D7 en uno.

Esto lo podemos comprobar si medimos dichas salidas con un multímetro, observando que el valor de tensión respecto de masa es de 5V aproximadamente.


 Haz clic aquí para ver el tema completo