ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Lenguaje De Interfaz


Enviado por   •  4 de Diciembre de 2014  •  1.889 Palabras (8 Páginas)  •  155 Visitas

Página 1 de 8

PROGRAMACIÓN DEL PUERTO PARALELO

El puerto paralelo de una PC es ideal para ser usado como herramienta de control de motores, LED's, etc. El mismo posee un bus de datos de 8 bits (Pin 2 a 9) y muchas señales de control, algunas de salida y otras de entrada que también pueden ser usadas fácilmente.

Las PC's generalmente poseen solo uno de estos puertos (LPT1) pero se le puede adicionar una tarjeta con un segundo puerto paralelo (LPT2).

En reglas generales la dirección hexadecimal del puerto LPT1 es igual a 0x378 (888 en decimal) y 0x278 (632 en decimal) para el LPT2. Esto se puede verificar fácilmente en el setup de la PC.

Breve descripción del puerto paralelo

El puerto paralelo de un PC posee un conector de salida del tipo DB25 hembra cuyo diagrama y señales utilizadas podemos ver en la siguiente figura:

Si deseamos escribir un dato en el bus de salida de datos (pin 2 a 9) solo debemos escribir el byte correspondiente en la dirección hexadecimal 0X378 (888 en decimal) cuando trabajamos con el LPT1 y 0x278 (632 en decimal) cuando trabajamos con el LPT2. Los distintos pins (bits) de salida correspondientes al bus de datos no pueden ser escritos en forma independiente, por lo que siempre que se desee modificar uno se deberán escribir los ocho bits nuevamente.

Para leer el estado de los pins de entrada (10, 12, 13 y 15) se debe realizar una lectura a la dirección hexadecimal 0x379 (889 en decimal) si trabajamos con el LPT1 o bien leer la dirección 0x279 (633 en decimal) si trabajamos con el LPT2. La lectura será devuelta en un byte en donde el bit 6 corresponde al pin 10, el bit 5 corresponde al pin 12, el bit 4 corresponde al pin 13 y el bit 3 corresponde al pin 15.

Option Explicit

Public Out_TTL As Byte 'contiene el BYTE a sacar por el puerto

Public In_Port As Integer 'contine la dirección de lectura del LPT

Public Out_Port As Integer 'contiene la direcc.para escribir al LPT

Private Sub Form_Load() 'procedimiento inicial

'Configura la COMBOLIST cmbLptSelect

cmbLptSelect.AddItem "0x378"

cmbLptSelect.AddItem "0x278"

cmbLptSelect.AddItem "0x3BC"

'Establece LPT1 como default

cmbLptSelect.ListIndex = 0

SetLPTAddress 'estable direccion base del LTP

Port_Reset 'reseteo salidas TTL

End Sub

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)

Cancel = 1 'evita que se salga mediante la 'X'

End Sub

Private Sub Form_Unload(Cancel As Integer) 'si sale del programa

Port_Reset 'entonces reseteo salidas TTL

End

End Sub

Private Sub cmdSalir_Click() 'si presiono SALIR, reseteo

Port_Reset 'las salidas TTL y salgo del programa

End

End Sub

Private Sub Port_Reset() 'procedimiento para resetear salidas TTL

PortOut Out_Port, 0

End Sub

Private Sub cmbLptSelect_Click()

SetLPTAddress 'llamo rutina para determinarar la direccion

'base del nuevo LPT elegido

End Sub

Private Sub cmdHelpOnLpt_Click()

frmHelpOnLpt.Show

End Sub

Private Sub SetLPTAddress() 'establece la direccion correpondiente

'al puerto seleccionado

Select Case cmbLptSelect.ListIndex

Case Is = 0

Out_Port = &H378

Case Is = 1

Out_Port = &H278

Case Is = 2

Out_Port = &H3BC

End Select

In_Port = Out_Port + 1

End Sub

Private Sub Chkttl0_Click() 'invierto estado de TTL0

If chkTTL0.Value = 1 Then

SetPortBit Out_Port, 0

chkTTL0.Caption = "Salida TTL0 = 1 - ALTO"

Else

ClrPortBit Out_Port, 0

chkTTL0.Caption = "Salida TTL0 = 0 - BAJO"

End If

End Sub

Private Sub Chkttl1_Click() 'invierto estado de TTL1

If chkTTL1.Value = 1 Then

SetPortBit Out_Port, 1

chkTTL1.Caption = "Salida TTL1 = 1 - ALTO"

Else

ClrPortBit Out_Port,

...

Descargar como (para miembros actualizados)  txt (6.9 Kb)  
Leer 7 páginas más »
Disponible sólo en Clubensayos.com