Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-07-2005
Chase Chase is offline
Registrado
 
Registrado: jul 2005
Posts: 1
Poder: 0
Chase Va por buen camino
Puerto paralelo en C

Buenas, tengo un problema, resulta que quiere resolver el siguiente problema:
En primer lugar, crear una ventana dividida en 2 en lenguaje C, y en que en la ventana de arriba muestre la hora del sistema con la clase bignum (cual es esta clase?) gracias de antemano, os pongo el enunciado de la practica:
--------------------------
Realizar un programa que nos permita trabajar con los puertos paralelos del PC.



El programa principal, haciendo uso de la clase Ventana, dividirá la pantalla en 2 ventanas. En la primera visualizará constantemente la hora del sistema, haciendo uso de la clase BigNum y en la segunda realizará todas las acciones que se describen a continuación.



Primero, se deberá obtener del area de datos de la BIOS el número de puertos paralelos que hay en el PC, así como si estan o no disponibles. Posteriormente, mostrará un menú para seleccionar el puerto paralelo con el que vamos a trabajar indicando si cada puerto esta o no disponible.



Una vez seleccionado el puerto, realizaremos otro menú con las siguientes opciones:



Opción 1.- Juego de luces.

Opción 2.- Salida de datos.

Opción 3.- Entrada de datos.

Opción 0.- Salir.



El programa solo terminará cuando se seleccione la opción de Salir. Para cualquier otro dato no válido se visualizara un mensaje informando de que no es correcto.



La opción 1 realizará un efecto luminoso en los leds conectados al registro de datos del puerto siguiendo la siguiente secuencia

a) activara uno a uno los bits de dicho registro desde el mas significativo hasta el menos significativo,

b) activara todos los bits a uno y a cero 3 veces

c) activara uno a uno los bits de dicho registro desde el menos significativo hasta el mas significativo.



La opción 2, pedirá por teclado un número y lo mandara al puerto paralelo seleccionado, por el registro de datos de dicho puerto. Si el número es mayor que 255 o menor que 0 se mostrara por pantalla un mensaje de error informativo y se encenderán y apagaran todos los leds del puerto 3 veces. El puerto se configurará en modo salida.



La opción 3, configurara el puerto paralelo seleccionado en modo entrada y realizara la recepción de datos por interrupción, haciendo uso del IRQ7 y revectorizandola de forma que la nueva ISR realice un efecto acústico y muestre por pantalla el byte leído del puerto.



Para ello, habrá que poner a 1 el bit C4 del registro de control del puerto paralelo que activa las interrupciones. Además, deberá configurar el controlador de interrupciones para gestione la IRQ7. Dicha configuración se establece en el registro de mascara de interrupción, IMR, del controlador de interrupciones poniendo a 0 el bit correspondiente a la IRQ7 en el PIC Maestro.
----------------------

Última edición por Chase fecha: 04-07-2005 a las 12:34:30.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 16:56:19.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi