El siguiente circuito electronico y la aplicacion en Visual Basic los realice para dar una clase sobre la programación del puerto paralelo, es un ejemplo didactico que nos da una ídea de las posibilidades del puerto paralelo, el cual se puede utilizar no solo para imprimir. Hay que tomar el ejemplo desde un punto didactico pues el puerto paralelo tiene ciertas limitaciones.

 

fotosim22.jpg

PROGRAMACIÓN DEL PUERTO PARALELO

 

1 INTRODUCCIÓN.

2 PROGRAMACIÓN.

2.1 Obtención del puerto.

2.2 Acceso a los puertos.

3 FUNDAMENTOS DE PROGRAMACION

3 .1 ¿Que son las variables?

3.2 Tipos de Variables

3.3 Declaración de las variables

3.4 Declaración de Constantes

3.5 Que son las estructuras de Decisiones?

3.5.1 Sentencia If Then Else

3.5.2 Sentencia Select CASE

3.5.3 Sentencia de Control While Wend

3.5.4 Sentencia de Control Do Until

3.5.5 Sentencia de Control For Next

3.5.6 ¿Por qué Tomar Decisiones?

4. CIRCUITO ELECTRONICO

5. APLICACION EN VISUAL BASIC

 

PROGRAMACIÓN DEL PUERTO PARALELO

1 INTRODUCCIÓN.

El puerto paralelo del PC es un conjunto de dispositivos (conector, circuitos electrónicos, etc.) que permite la conexión de un equipo informático con el propósito de intercambiar información digital.

El intercambio de información se lleva a cabo de acuerdo a unos protocolos de comunicación. Un protocolo es un conjunto de normas que definen la forma en que se establece el proceso de comunicación, permitiendo que se desarrolle de una manera ordenada y libre de errores. Los protocolos se siguen para iniciar y finalizar la comunicación de forma que ninguna de las partes implicadas quede bloqueada en un estado no deseado.

Desde el punto de vista del software, el puerto paralelo son tres registros de 8 bits cada uno, ocupando tres direcciones de I/O consecutivas de la arquitectura x86.

Desde el punto de vista hardware, el puerto es un conector hembra DB25 con doce salidas y cinco entradas, con 8 líneas de masa.

La función normal es transferir datos a una impresora a través de las 8 líneas de datos, usando las señales restantes como control de flujo.

clip_image0024.gif

 

2 PROGRAMACIÓN.

2.1 Obtención del puerto.

Las direcciones de I/O de los puertos paralelo:

0×378 – 0x37F Direcciones usuales para LPT1.

0×278 – 0x27F Direcciones usuales para LPT2.

A continuación se muestra como obtener dichas direcciones en el lenguaje C:

/* En portnum debo guardar el número de puerto (1,2,3).

En la variable lptadr, tipo unsigned, obtengo la dirección.*/

portnum–;

lptadr = peek(0×0040,0×0008+portnum*2);

2.2 Acceso a los puertos.

C

Se utilizan las funciones outportb() e inportb().

Visual Basic

Visual Basic no tiene una instrucción para lectura / escritura de puertos. Una segunda limitación es el tipo de sistema operativo y su configuración. En sistemas Windows 3.x, 9x, Me, Xp, se puede construir una librería de enlace dinámico (DLL) que provea a los programas realizados en Visual Basic de las funciones INP y OUT.

3 FUNDAMENTOS DE PROGRAMACION

3 .1 ¿Que son las variables?

En cualquier programa necesitamos hacer cálculos, usar información, procesarla y mostrarla. En la mayoría de los casos, necesitamos un lugar temporal en el cual guardar parte de esa información, incluso toda.

Es aquí donde entran en juego las variables, las que nos permite guardar datos en memoria, para que cuando los necesitemos, podamos tomarlos, modificarlos y volverlos a guardar para usar mas tarde.

La memoria es el lugar donde el ordenador almacena de forma temporal los programas y parte de la información que necesita o utiliza. Esas posiciones o lugares de la memoria donde los programas pueden almacenar información son las variables.

Es una ubicación de almacenamiento temporal con nombre que se encuentra en memoria, siendo capaz de contener cierto tipo de datos que pueden modificarse durante la ejecución del programa.

En Visual Basic los nombres de las variables deben limitarse a 255 caracteres, empezar con un carácter alfabético y no pueden obtener un punto

Resumen: Utilización temporal de almacenamiento de datos dentro de un programa. Permiten asignar nombres cortos y fácil de recordar. Son para manejar cualquier tipo de información.

3.2 Tipos de Variables

Dim : Al declarar una variable con esta palabra estamos diciendo que la variable sea local al ámbito en que se declara. Puede ser dentro de un procedimiento o dentro de un formulario, de esta forma no sería accesible desde los demás procedimientos o formularios.

Ejemplo: Dim suma

Public : Las variables declaradas serán publicas y podrán estar accesibles desde todos los formularios de la aplicación. Para conseguirlo tendremos que declararlas en un módulo de código, no en la sección declarations de cualquier formulario de los que conste la aplicación.

Ejemplo: Public suma

Static : Con esta forma de declarar variables conseguiremos que las variables locales no se creen y se destruyan al entrar y salir de los procedimientos donde fueron declaradas sino que se mantenga su valor durante todo el periodo de ejecución de la aplicación. De esta forma a entrar en algún procedimiento las variables recuerdan el valor que tenían cuando se salió de él.

Ejemplo: Static suma

TIPOS DE VARIABLES

TIPO

COMENTARIO
BOOLEAN Sólo admite 2 valores TRUE o FALSE
BYTE Admite valores entre 0 y 255
INTEGER Admite valores entre –32768 y 32767
LONG Admite valores entre -2.147.483.648 y 2.147.483.647
SINGLE Admite valores decimales con precisión simple
DOUBLE Admite valores decimales de doble precisión
CURRENCY Válido para valores de tipo moneda
STRING Cadenas de caracteres
Variant Admite cualquier tipo de datos
DATE fechas, permite operar con ellas

3.3 Declaración de las variables

Ejemplos :

Dim nombre As String

Dim led As Byte

Dim Control As Boolean

3.4 Declaración de Constantes

Como su palabra lo dice es Información que no varía hace más fácil la comprensión del código y permite modificar un valor en un solo lugar no ocupa espacio extra, Ejemplo: Const Mínimo = 1, Máximo = 10

3.5 Que son las estructuras de Decisiones?

Estas estructura caen en dos amplias categorías: Ramificaciones y Ciclos . Los dispositivos como If..Then y Select Case hacen que el programa continúe en una dirección cuando se encuentra una condición particular, sin mirar nunca atrás.

Las construcciones en ciclos como Do.. Loop y While..Wend , se usan para repetir un cierto bloque limitado de instrucciones hasta que las condiciones especificadas son True (cierta) o False (Falsa).

3.5.1 Sentencia If Then Else

If condición then

bloque de sentencias

Else

bloque de sentencias

End If

Si los bloques de sentencias están formados por una sola instrucción podemos utilizar la versión reducida que ocupa una sola línea:

If condición then sentencia else sentencia

Ejemplos:

(1) If isnumeric(numero) then la variable numero es numérica else no es numerica.

(2) I f dato<10 then

la variable dato contiene un solo dígito

Else

If dato<100 then

la variable dato contiene 2 dígitos

Else

la variable dato contiene más de 2 dígitos

end If

End If

 

3.5.2 Sentencia Select CASE

Esta sentencia permite realizar operaciones diferentes dependiendo del valor de una variable:

Estructura General:

Select Case dato

Case valor1

bloque de sentencias

case valor2

bloque de sentencias

Case valor3

bloque de sentencias

case else

bloque de sentencias, se ejecutan si no se cumple ninguno de los valores anteriores

End Select

Ejemplo:

Select Case NotaFinal

Case Is < 5

Suspendido

Case 5 to 6.99

Aprobado

Case 7 to 8.99

Notable

Case Else

Sobresaliente

End Select

3.5.3 Sentencia de Control While Wend

Ejecuta repetidamente una o más instrucciones mientras una condición dada es cierta.

Sintaxis:

While condición

[ instrucciones]

Wend

3.5.4 Sentencia de Control Do Until

Proporciona una forma mas estructurada y flexible para ejecutar ciclos. Esta repite un bloque de código mientras una condición es True o a partir de que la condición sea True.

Sintaxis:

Do Until cliente.EOF

Print cliente(“nombre”)

Cliente.movenext

Loop

Exit Do transfiere el control a la instrucción que sigue inmediatamente al ciclo.

3.5.5 Sentencia de Control For Next

Esta sentencia repite un grupo de instrucciones, un numero especificado de veces. Sintaxis:

For contador = 1 To 10

Print cliente(“nombre”)

Cliente.Movenext

Next contador

Se puede especificar también el intervalo Step , la cantidad que cambiar el contador cada vez que se ejecuta el ciclo. Si no se especifica, el incremento toma un valor por omisión de 1.

Ejemplo:

For porcentaje = 0 To 100 Step 5

Print porcentaje & “%”

Next porcentaje

Exit For se usa frecuentemente con la evaluación de algunas condicionantes If..Then y transfiere el control a la instrucción que se encuentra a continuación de Next .

3.5.6 ¿Por que Tomar Decisiones?

Los lenguajes de computación al igual que la vida real deben ser capaces de realizar diferentes juegos de acciones, algunas veces repetidas, indicadas por circunstancias internas o externas. Por ejemplo, en un sistema de administración de personal, si un empleado ha estado en la compañía por espacio de una año, este empleado obtiene un aumento. Si el empleado entra en la edad de la jubilación, hay que jubilarlo.

4. CIRCUITO ELECTRONICO

circuito1.jpg

circuito1.jpg
Esquema del circuito electrónico.

Este circuito permite controlar ocho led´s . En el circuito integrado ULN2803 se encuentran los componentes de protección y limitación de corriente, así como los transistores de potencia que se encargan de las señales provenientes del puerto paralelo.

circuito2.jpg

Circuito visto desde los componentes.

 

circuito3.jpg

Conector del puerto paralelo.

 

5. APLICACIÓN EN VISUAL BASIC

aplic.jpg

Se puede descargar esta aplicación pinchando aquí (esta en formato *.rar, hay que descomprimirlo) y la librería io.dll aquí. Los dos archivos deben estar en la misma carpeta.

About these ads