Práctica 4: Control del puerto paralelo

abril 17, 2009 at 9:32 am (1, Documentos)

::[OBJETIVOS]::

  • Identificar los comando básicos para control de puertos por medio de un lenguaje de programación.
  • Diseñar un programa en un lenguaje de programación para el control de encendido de los LEDs de tal forma que al indicar un número del 1 al 8 en el teclado se encienda el correspondente LED.
  • Verificar el funcionamiento y aplicabilidad del circuito.

::[MONTAJE]::

  • Elementos: Los siguientes elementos son necesarios para el montaje del circuito:
    • Board, cable, multímetro, pinzas, entre otros.
    • Fuente: Bateria 9V DC.
    • Resistencias de 1/4W:
      • R3: 3 de 2.2 KΩ
      • R2: 8 de 4.7 KΩ
      • R1: 8 de 330 Ω
    • 8 Leds.
    • 2 circuitos integrados 74LS04. Uno de los circuitos está de color verde en eldiagrama lógico.
    • 1 circuito regulador LM7805.
    • 2 condensadores electrolíticos (C1) de 10 μF.
    • 3 pulsadores miniatura (S1, S2 y S3) para board.
    • 1 conector DB25 macho.
    • Cable para unir del conector DB25 a la board (se requieren 12 hilos). El conector DB25 debe ir soldado a los cables.

Diagrama lógico control puerto paralelo

Diagrama lógico control puerto paralelo

Clic sobre la imagen para ver en tamaño completo

  • Montaje en protoboard: La siguiente figura ilustra el montaje del circuito en la protoboard.

Diagrama de montaje control puerto paralelo

Diagrama de montaje control puerto paralelo

Clic sobre la imagen para ver en tamaño completo

  • Diagrama de conexión a la protoboard: La siguiente figura ilustra las conexiones que deben hacerse desde el cable de 12 hilos a la protoboard.

pendiente de elaborar

::[PROGRAMA PARA EL CONTROL DEL PUERTO PARALELO]::

El siguiente código en Visual Basic 6 es un programa  que hace uso de la librería inpout32.dll para el control del puerto paralelo. El código sólo se encarga de enviar la orden de encendido al led correspondiente en la board de acuerdo a la entrada del usuario.

Queda a interés del lector desarrollar el código del programa que se encarga de informar al usuario cuando uno de los tres pulsadores   de la board (S1, S2 ó S3) fue presionado (Nota: se hace usando otra función de la misma librería inpout32.dll).

La siguiente figura ilustra la interfase gráfica del programa.

GUI Control puerto paralelo

GUI Control puerto paralelo

El siguiente es el listado del código del programa:

'(C) Juan Felipe Muñoz Fernández
'http://www.juanfelipe.net
'https://juanfmunoz.wordpress.com

Private Declare Function Inp Lib "inpout32.dll" _
Alias "Inp32" (ByVal PortAddress As Integer) As Integer

Private Declare Sub Out Lib "inpout32.dll" _
Alias "Out32" (ByVal PortAddress As Integer, ByVal Value As Integer)

Public DireccionPuerto As Integer

Private Sub cmdApagarTodos_Click()
    Out DireccionPuerto, 0
End Sub

Private Sub cmdEncender_Click()

    Select Case Me.txtNumeroLed

        Case "1"
            Out DireccionPuerto, 1
        Case "2"
            Out DireccionPuerto, 2
        Case "3"
            Out DireccionPuerto, 4
        Case "4"
            Out DireccionPuerto, 8
        Case "5"
            Out DireccionPuerto, 16
        Case "6"
            Out DireccionPuerto, 32
        Case "7"
            Out DireccionPuerto, 64
        Case "8"
            Out DireccionPuerto, 128

    End Select

End Sub

Private Sub cmdEncenderTodos_Click()
    Out DireccionPuerto, 255
End Sub

Private Sub Form_Load()
    DireccionPuerto = Val(Me.txtDireccionBase)
End Sub

Para que el anterior programa funcione correctamente, la librería inpout32.dll debe copiarse en C:\WINDOWS\SYSTEM32.

La dirección base se obtiene así: Inicio | Panel de control | Sistema | Hardware | Administrador de dispositivos | Puertos (COM y LPT) | doble clic en el puerto LPT de interés | Recursos.

Información del puerto paralelo del computador

Información del puerto paralelo del computador

En la información de la pestaña Recursos, tomamos como dirección base el límite inferior del primer rango de Entrada-Salida.

Dirección base puerto paralelo

Dirección base puerto paralelo

En la imagen anterior, el límite inferior del primer rango de E/S es 0x378. Por lo tanto, al ejecutar el programa, en el campo Dirección base entramos este valor precedido por los caractéres &H, así: &H378.

::[REFERENCIAS]::

Permalink 10 comentarios

Implementación de un manejador de evento (Event Handler) en Nagios para mantener una conexión PPTP en Windows

febrero 17, 2009 at 3:47 pm (1)

Artículo que escribí describiendo la implementación de un manejador de evento para mantener una conexión VPN PPTP en Windows siempre en línea. La pubicación del artículo se puede ver directamente en mi página http://www.juanfelipe.net, sin embargo aquí dejo el enlace para descargar el mismo artículo en formato PDF.

Para descargar este artículo en formato PDF haga clic aquí

Espero sea de utilidad para quienes implementan esta maravillosa herramienta de monitoreo de infraestructura IT.

Permalink Dejar un comentario