You are on page 1of 2

Instituto de Tecnologías Educativas

Consideraciones previas
Cada lenguaje de programación tiene sus distintas funciones para enviar y recibir datos a través de los puertos del PC. Aquí explicaremos las rutinas de control básicas para los lenguajes de programación MSWLogo, Visual Basic y Borland C/C++. Para realizar estas rutinas hay que tener en cuenta los siguientes puntos: Un ordenador PC puede manejar hasta tres puertos de impresora que se denominan LPT1, LPT2 y LPT3. Cada uno de ellos utiliza una dirección base distinta según se muestra a continuación: LPT1 = 378H LPT2 = 278H LPT3 = 3BCH Una vez determinado el puerto de impresora que vamos a utilizar deberemos tener en cuenta que las direcciones de los puertos utilizados como entrada, salida y control son los siguientes: SALIDAS DATOS = BASE + 0 ENTRADAS DATOS = BASE + 1 CONTROL = BASE + 2

Por ejemplo, si utilizamos el puerto LPT1 = 378H, la salida de datos se realizará a través de la dirección 378H, la entrada a través de la 379H y el control a través de la 37AH.

Antes de realizar una entrada o salida de datos, deberemos poner una palabra de control en el puerto de control que seleccionará una de las entradas analógicas, digitales o la salida digital del siguiente modo: Salida digital por relés: PALABRA DE CONTROL = 7H Entrada digital baja (4 bits de menor peso) PALABRA DE CONTROL = 3H Entrada digital alta (4 bits de mayor peso) PALABRA DE CONTROL = 1H Entrada analógica baja (4 bits de menor peso) PALABRA DE CONTROL = 2H Entrada analógica alta (4 bits de mayor peso) PALABRA DE CONTROL = 0H Comienzo de conversión del ADC. PALABRA DE CONTROL = 8H Selección del canal analógico: PALABRA DE CONTROL = 5H

Por ejemplo, si queremos sacar un dato por las salidas digitales el pseudocódigo sería:

• •

EscribirLPT1 37AH, 7H EscribirLPT1 378H, Dato

En la primera orden, inicialmente ponemos la función propia de cada lenguaje que manda datos al puerto de la impresora (EscribirLPT1).

Funcionamiento Programación Consideraciones previas

1

Interfaz de control de dispositivos externos por ordenador a través de puerto paralelo
A continuación, la dirección de control del puerto paralelo (37AH) seguida de la palabra de control para activar las salidas digitales (7H). En la segunda orden, indicamos en el primer campo que se hará una salida de datos por el puerto (378H), seguido del dato que queremos poner, dato que indica qué salidas digitales serán activadas. Hay que tener en cuenta, que el dato es un número decimal, pero representando a un número binario, el cual indica las posiciones de las salidas digitales que se quieren activar. La siguiente tabla, indica el "Dato" que hay que poner en el puerto para activar la salida digital que corresponda: SALIDAS DIGITALES 0 1 2 3 4 5 6 7 NÚMERO DECIMAL 1 2 4 8 16 32 64 128 NÚMERO BINARIO 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000

Para activar más de una salida digital a la vez, sólo hay que poner en "Dato" la suma de cada de cada una de ellas: Por ejemplo, si queremos activar las salidas 2, 3 y 6 debemos poner 76. SALIDAS DIGITALES 2 3 6 2+3+6 NÚMERO DECIMAL 4 8 64 76 NÚMERO BINARIO 00000100 00001000 01000000 01001100

Si lo que deseamos, es leer un dato correspondiente a las entradas digitales bajas, deberemos escribir: EscribirLPT1 37AH, 3H VAR=LeerLPT1(379H) En la primera instrucción, propia del lenguaje de programación que se esté programando, en el primer campo ponemos la dirección de control del puerto (37AH), seguido de la palabra de control (3H) para activar las entradas digitales bajas (las cuatro primeras). En la segunda instrucción, almacenamos en una variable "VAR", el resultado de la operación "LeerLPT1", que realiza una lectura del puerto paralelo en la dirección destinada a ello (379H). También debemos saber que la lectura de las entradas, tanto las analógicas como las digitales, se realiza en dos partes, primero leyendo la parte alta y después la parte baja del dato de entrada.

El ordenador como elemento de control

2