You are on page 1of 5

SOFTWARE PARA VISUAL BASIC En Visual Basic es ms sencillo, podemos solo agregar 2 botones y lo dems es cosa de presentacin.

El comando es Out &direccin.dato El cdigo sera as: Notas: Hay que agregar un .dll que esta adjunto en el 1bitlptfvisual.zip, a la carpeta del sistema, yo lo pegu en Windows, system y system32. Adjunto el compilado por si lo quieres ya hecho, no lo explicar por que esta muy sencillo, pero si alguien tiene dudas respecto al cdigo, puede hacrmelas saber Para el Form Cdigo:
Private Sub Command1_Click() Out &H378, 0 End Sub Private Sub Command2_Click() Out &H378, 1 End Sub

Adems debemos agregar un Mdulo par ala Dll Cdigo:


Public Declare Function Inp Lib "inpout32.dll" _ Alias "Inp32" (ByVal PortAddress As Integer) As Integer Public Declare Sub Out Lib "inpout32.dll" _ Alias "Out32" (ByVal PortAddress As Integer, ByVal Value As Integer)

SOFTWARE EN VISUAL BASIC La ocasin anterior, el programa en visual fue ms sencillo, pero en esta, la verdad es que me ha costado ms por los arreglos que he hecho con los checkbox.

Los Bits pueden encenderse o apagarse desde los 8 checkbox o puede ingresarse el dato en el texbox. Para hacerlo, hubo que agregar 1 checkbox y copiarlo y pegarlo 7 veces para hacer una matriz, entonces se simplifica el trabajo pues solo damos la instruccin una vez y solo debemos indexarlos para hacer referencia a cada uno. Para empezar, ocuparemos un mdulo para la dll Cdigo:
Public Declare Function Inp Lib "inpout32.dll" _ Alias "Inp32" (ByVal PortAddress As Integer) As Integer Public Declare Sub Out Lib "inpout32.dll" _ Alias "Out32" (ByVal PortAddress As Integer, ByVal Value As Integer)

El cdigo para hacer que revise los checkbox es as Cdigo:


Private Sub revisa() contador = 0 dato = 0 While contador < 8 If Check1(contador).Value = 1 Then arreglo(contador + 1) = 1 Else arreglo(contador + 1) = 0 dato = dato + (arreglo(contador + 1) * (2 ^ contador)) contador = contador + 1 Wend Text1 = dato Out &H378, dato End Sub Private Sub Check1_Click(Index As Integer) revisa

End Sub

Lo de poder ingresar el dato desde el texbox es adiciona y no es necesario para el funcionamiento del programa.

Antes de hablar de la programacin, es importante saber en que sistema operativo vas a conectar y usar tu puerto paralelo. Si es Windows 98 para atrs no habr problema. Pero si ests usando el XP existir un pequeo problema: El direccionamiento (lo explicar mas adelante) no lo tomar en cuenta y aparecer un mensaje de error. Para solucionar este problema un geek creo una librera que emula el direccionamiento, haciendo funcionar nuestros programas a la perfeccin. Que es direccionamiento? cuando nosotros por medio de software sacamos valores es importante dirigirlos hacia a alguna parte, es decir si van hacia los registros de datos, estado o control. aki les dejo las direcciones: Registro de Datos: 888 Registro de Estado: 889 Registro de Control: 890 Software. Estas direcciones son para Win XP y los valores estn en decimal, no estoy seguro pero si tienes Win 98 95 las direcciones tienen que ser en hexadecimal. El soft lo hice con Visual Basic... por que?... porque tiene varias ventajas, como ser de facil uso, tiene una interfase mas amigable.. etc.. si alguien maneja otro lenguaje, lo invito a que postee tambien.. bueno si se deciden a hacerlo con vb sigan las siguientes indicaciones y no tendran ningun tipo de problemas..... comenzamos.....: ahora abrimos un proyecto nuevo de vb... y vamos a Project -->Add Module y en el modulo ponemos lo siguiente Cdigo: Public Declare Sub PortOut Lib "io.dll" (ByVal Port As Integer, ByVal Value As

Byte) Public Declare Function PortIn Lib "io.dll" (ByVal Port As Integer)

en el form creamos dos botones .. dentro de los cuales ponemos .. Encender y Apagar: dentro de cada uno de estos ponemos Encender: Cdigo: Private Sub Command1_Click() Call PortOut(888, 1) End Sub

Apagar: Cdigo: Private Sub Command2_Click() Call PortOut(888, 0) End Sub

Explicacion de lo que hicimos : Call PortOut ------- con esta instruccion mandamos datos fuera de nuestra pc Call PortOut (888, ------ Con el 888 le decimos al puerto paralelo que mandaremos datos por el registro de datos.(verque es direccionamiento.) Call PortOut (888, 1)------ ojo a la explicacin; dentro de visual basic trabajaremos con nmero decimales, pero los datos que arroja el puerto paralelo son en binarios, es decir al momento de prender los ocho leds quiere decir que mandamos el valor 255. la instruccin sera as: Call PortOut (888, 255) Resumiendo: Call PortOut(888, 1) ----- prende el led del bit menos significativo. Call PortOut(888, 0) ----- apaga el led que estaba encendido. Con 0 no hay valor y todo est apagado. el ejemplo que les deje detallado es para un solo bit que sale por un solo pin del cable les dejo un programa que realize un tanto mas elaborado para el manejo de 8 de los 25 pines... se puede hacer una etapa de potencia para manejar tension porque no es recomendable

hacerlo con la corriente del puerto porque lo pueden llegar a quemar..despues veo si puedo poner un video o algo del programa y el circuito que arme funcionando...saludos..

You might also like