Proyecto integrador de Ingeniería Electrónica del Instituto Tecnologico Superior de LerdoDescripción completa
Descripción completa
Full description
This book is a basic to intermediate for Visual basic 2010 by Dr.Liew.Full description
Understanding VB
Deskripsi lengkap
Uploaded from Google Docs
Descripción completa
Descripción completa
Descripción: Visual basic
Visual basic
Full description
Part1 of 20 Tutorials to following using Visual Basic 2008 express Edition learn to program etc . . .
Descripción completa
Descripción completa
Deskripsi lengkap
Descripción completa
Tutorial Básico Control Puerto Paralelo con Visual Basic 6.0 Introducción. Este pequeño tutoríal proporciona los pasos básicos para controlar el puerto paralelo desde Visual Basic 6.0. Lo que se intenta es poder enviar pulsos o señales por medio de este y recibir pulsos o señales por medio de el. La información que se encuentra en este texto fue adquirida en Internet y conocimientos adquiridos (experiencia del escritor). Material. Puerto paralelo. Microsoft Visual Studio 6.0. 1 Led. Empecemos con el puerto paralelo. Este es un conecto DB25 obvio con 25 pines lo cuales están numerados y tienen una función especifica cada uno de ellos.
Podemos ordenar cada uno de los pines o bytes en: Dataport pin 2 - D0 pin 4 - D2 pin 6 - D4 pin 8 - D6
pin 3 - D1 pin 5 - D3 pin 7 - D5 pin 9 - D7
Statusport pin 10 – ACK pin 11 - BUSY pin 12 - PAPER END pin 13 - SELECT SELECT IN pin 15 - ERROR
1
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
ControlPort pin 1 – STROBE pin 16 – INIT
pin 14 - AUTO FEED pin 17 - SELECT
La parte de GND, son los tierra del 18 al 25
1. El Datapo Dataport rt se usa como como sali salida. da. 2. El Stat Statusp usport ort se usa usa como como entrad entrada. a. 3. El contro controlport lport se usa usa de las dos formas anteriores. anteriores. Es decir que para encender encender led’s mandando voltaje voltaje al puerto usaremos el Dataport, para recibir niveles de voltaje usaremos el Statusport. Es importante no conectar al revés las cosas en el puerto ya que existe la posibilidad posibilidad de dañarlo. En este caso mencionare la forma en que se conecta y controla pero también mencionare que mi comput computado adora ra no contab contabaa con puerto puerto parale paralelo. lo. Una vez adquir adquirido ido el puerto puerto paralelo de tipo PC-I fue colocado en la ranura correspondiente y se le instalo el controlador indicado. El puerto paralelo maneja direcciones de memoria asignadas por el SO. No se si son pilas o colas pero son direcciones de memoria, estas direcciones están numeradas en código código hexadec hexadecimal imal y son utiliza utilizadas das normalm normalment entee para para enviar enviar ceros o unos unos a una una impresora. Por ejemplo: H378 * Donde la H indica que es hexadecimal. * El 378 es el número hexadecimal. Una vez dicho y entendido entendido esto se debe tener alguna alguna forma de controlar controlar esto desde el lenguaje visual Basic, desafortunadamente al ser un lenguaje de alto nivel visual no tiene la capacidad de controlar hardware por si solo, este tipo de circunstancias se controlan con C o C++ ya que estos lenguajes tiene esa capacidad. Afortunadamente para nosotros se puede aprovechar la característica de Windows de utilizar DLL (Dynamic Linking Library (Bibliotecas de Enlace Dinámico)) y ya que algún experto experto programo programo una DLL en C++ para controlar controlar este dispositivo dispositivo nosotros nosotros podemos utilizarla en Visual Basic. Esta DLL mágica es la inpout32 la cual tiene la capacidad de mandar y recibir señales o pulsos pulsos por el puerto puerto paralelo. paralelo. Existen varias versiones, versiones, varias de ellas no funcionan funcionan en
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Una vez compre comprendi ndido do esto esto hablem hablemos os de las direcci direccione oness de memori memoriaa anteri anteriorm ormente ente mencione la dirección de memoria que utiliza el puerto paralelo para funcionar esta se puede ver en: Botón de inicio/Mi PC/botón derecho del ratón/propiedades/hardware/administrador de dispositivos/puertos (COM (COM & LPT)/doble LPT)/doble clic en tu puerto LPT/recursos. LPT/recursos.
Como se ve en la imagen los primeros intervalos corresponden a Dataport (salidas del puerto paralelo) es decir: Pin Memoria
2 378
3 379
4 37A
5 37B
6 37C
7 37D
8 37E
9 37F
Como se puede ver se omitió el 0 y también se puede observar que es la misma dirección que usamos en el ejemplo del del código hexadecimal. hexadecimal. El otro intervalo es para el Statusport y funciona de la misma manera. Esto no quiere decir que para todas las maquinas sea la misma. Como mencione al principio de este escrito mi PC no contaba con puerto paralelo por lo que le agregue un PC-I y mis direcciones quedaron de la siguiente manera.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Para la programación se necesita comprender la forma en que serán enviados los datos, señales o pulsos al puerto y es de la manera siguiente. Se envían datos binarios y dependiendo dependiendo del valor son los pines utilizados: Pin Valor Binario
2 1
3 10
4 100
5 1000
6 10000
7 100000
Valor decimal
1
2
4
8
16
32
8 100000 0 64
9 10000000 128
Por ejemplo: Si queremos mandar señales por el pin 2 y el 5 pues se hace la suma. 1+8=9 Y ese valor es el que se envía en binario 1001. Digamos que necesitamos el pin 5 y 9 la suma es: 8 + 128 = 136 Y en binario es 10001000. Si queremos prender todos los led’s conectados al puerto paralelo pues se pone: Valor.- 1111111 = 255 Si queremos apagar todos los led’s conectados al puerto paralelo pues se pone: Valor.- 0 = 0
NOTAS: Se puede ver que el pin de menor peso es el numero 2 por lo que hay que • empezar a contar por hay. Normalmente el puerto paralelo esta enviando señal por todos los pines. • No es necesario enviar el dato binario ya que la DLL inpout32 los convierte • basta con enviar el dato decimal. Es hora de comenzar. Para poder enviar datos al puerto paralelo desde visual Basic utilizando la DLL inpout32 se usa el comando Out:
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Por ejemplo: Out &H378, 255 Donde: Se omite el paréntesis. &H indica que el valor es hexadecimal. Se separa con “,”. El 255 indica que pines serán usados. Normalmente se utiliza la primera dirección de memoria y el pin numero 2 como el de menor peso, de no ser así cambia la suma y los valores adquiridos por los pines que le siguen al de menor peso. Programación: 1) Creamos Creamos un nuevo nuevo proyec proyecto to EXE estándar estándar en VB6 en el formula formulario rio agregamo agregamoss 2 botones. Nombre Command1 Command2
Texto Prendido Apagado
2) Abrimo Abrimoss el código código y agreg agregamo amos. s. Private Sub Command1_Click() Out &H378, 0 End Sub Private Sub Command2_Click() Out &H378, 1 End Sub Agregamos un modulo modulo “Archivo/agregar modulo” y ponemos. 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)
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Yo y mucha gente mas a escuchado la frase “los que es del cesar a l cesar” pues en nuestro caso seria “lo que es del SO. Al SO.” A que me refiero con esto no es muy recomendable mezclar cosas vitales del SO. Con otras cosas externas por lo que nuestra DLL seria mejor ponerla en otro lugar, digamos que se instala nuestro programa en una PC pues la DLL debería estar en la carpeta donde se instalo, en este caso supongamos que la tenemos en un pendriver o usb con la letra H:\ asignada y una carpeta con nombre serial, pues el código seria el siguiente: Public Declare Function Inp Lib "H:\ serial\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)
Como ven lo único que cambia es el path, ¡que fácil es la vida verdad! 3) Si corremos corremos el programa programa y presionam presionamos os los botones botones pues pues no pasa pasa nada y eso es bueno quiere decir que esta bien, lo que pasa es que no esta conectado nada. Si te sale un error como este al momento de compilar o apretar un boton.
Pueden ser 2 cosas. 1) La DLL DLL inpout32 inpout32 no esta esta en C:\WINDOWS\ C:\WINDOWS\syste system32 m32 o no esta en en el path path
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
2) La DLL inpout32 inpout32 no no es compatible compatible con XP XP o Vista es una una versión versión anterior anterior que solo funciona en sus predecesores de XP. Claro si su SO. Es Windows XP o Vista. Solución.- Usa la que se encuentra con este tutorial. Yo e mirado que es necesario para controlar un solo pin o bit que prenda un led lo siguiente: Material Necesario
1 Puerto paralelo libre 1 Moc3010m 1 Triac (A los Amperes que trabaje el dispositivo I=P/V) 1 Resistencia 560 Ohms 1 Resistencia 220 Ohms 1 Led 1 Conector Db25 Macho Cable para interconexiones (Puede ser del de Red de 8 Hilos) 1 Fusible (Al amperaje del dispositivo) 1 Clavija CA con cable
Pues la verdad yo no ocupe tanto, solo use el puerto paralelo libre una extensión de puerto paralelo es decir un cable de puerto paralelo y un led. Conectar el led y probar nuestro programa. 1) Conectamos la extensión al puerto paralelo. 2) En el pin 2 conectamos la pata del led (+). 3) En cualquier pin entre 18 y25 conectamos la pata (-). 4) Corremos nuestro programa. 5) Apretamos los botones y miramos. Para leer un dato desde desde el puerto se usa usa la instrucción Inp. Más información de esto en: