Descargar

Proyecto para controlar 8 Leds, mediante el puerto paralelo


  1. Objetivos
  2. Fundamento teórico
  3. Procedimiento del programa
  4. Conclusión

Objetivos

Crear un programa que controle el encendido y apago de los leds en la maqueta de la ciudad.

Conocer el debido uso de las librerías a usarse.

Aprender a ejecutar óptimamente el programa Turbo C.

Explicar de forma detallada el programa a realizarse.

Fundamento teórico

Se usa para decirle al Turbo C que haga algo, como ejecutar el editor o compilar unprograma, o establecer una opci6n de entorno. En el menú principal se selecciona de dos maneras, que se deberían ensayar en este momento. Primero, se pueden utilizar las teclas de flecha para mover la barra iluminada a la opción que se quiera. Entonces pulsar ENTER. Segundo, simplemente pulsando la primera letra de la opción del menú que se quiere. Por ejemplo, para seleccionar Edit, debería teclear E. Se puede entrar la letra en mayúsculas o minúsculas.

EJECUTANDO TURBO C

Para ejecutar la versión integrada de Turbo C, siempre teclear..TC Y pulsar enter. cuando Turbo C comienza se verá la pantalla que se muestra en la Figura 1.

Ésta se le llama la pantalla principal de menú y consta de cuatro partes, listadas uqul en orden de arriba a abajo:

El menú principal.

La línea y ventana del editor.

La ventana de mensaje del compilador.

La línea de referencia rápida de las «teclas calientes».

Algunas librerías son:

< conio.h > "Contiene los prototipos de las funcionesmacros, y constantes para preparar y manipular la consola en modo texto en el entorno de MS-DOS®." [1]

< iostream.h > es un componente de la biblioteca estándar (STL) del lenguaje de programación C++ que es utilizado para operaciones de entrada/salida. Su nombre es un acrónimo de Input/Output Stream. El flujo de entrada y salida de datos en C++ (y su predecesor C) no se encuentra definida dentro de la sintaxis básica y se provee por medio de librerias de funciones especializadas como iostream.

COMANDOS:

Algunos comandos son:

Cout

Cin

While

do

Void main

Int

Cada uno con diferentes usos y con las librerías correctas.

Programa desarrollado:

//Diego Choquehuanca Gutierrez

//Te Cheng Lu

//Ilsen Fabiola Zapata Calderon

edu.red

#include

#include

//LEDS2.cpp

intPuertoDatos = 0x378; //ò 0x3bc

void main(){

int Dato;

do{

cout<< "Digite un Número del 0 al 7 para Encender el respectivo LED";

cout<< "Digite un Número 8 para apagar todos los LED";

cout<< "Digite un Número 9 para apagar todos los LED y salir";

cin>>Dato;

switch(Dato){

case 0: outportb(PuertoDatos, 0x01);

break;

case 1: outportb(PuertoDatos, 0x02);

break;

case 2: outportb(PuertoDatos, 0x04);

break;

case 3: outportb(PuertoDatos, 0x08);

break;

case 4: outportb(PuertoDatos, 0x10);

break;

case 5: outportb(PuertoDatos, 0x20);

break;

case 6: outportb(PuertoDatos, 0x40);

break;

case 7: outportb(PuertoDatos, 0x80);

break;

default:

outportb(PuertoDatos, 0x00);

}

}while(Dato!=9);

}

edu.red

Procedimiento del programa

#include < conio.h >

#include < iostream.h >

– En esta parte empezamos introduciendo las librerías correspondientes a cada caso necesario para el desarrollo del programa, las cuales están explicadas con detalle en el punto 2 de fundamentos, estas librerías permiten el funcionamiento del programa y su ejecución.

intPuertoDatos = 0x378;

void main(){

int Dato;

do{

-Permiten el ingreso de datos y funciones literales como las variables a tomarse en cuenta.

– En esta parte empezamos introduciendo la variable necesaria (palabra buscada) la cual será la palabra introducida por teclado y mostrando la pantalla, también se muestra el ingreso de las funciones que permiten introducir color de pantalla, color de letra y presentación del juego.

cout<< "Digite un Número del 0 al 7 para Encender el respectivo LED";

cout<< "Digite un Número 8 para apagar todos los LED";

cout<< "Digite un Número 9 para apagar todos los LED y salir";

cin>>Dato;

switch(Dato){

case 0: outportb(PuertoDatos, 0x01);

break;

case 1: outportb(PuertoDatos, 0x02);

break;

case 2: outportb(PuertoDatos, 0x04);

break;

case 3: outportb(PuertoDatos, 0x08);

break;

case 4: outportb(PuertoDatos, 0x10);

break;

case 5: outportb(PuertoDatos, 0x20);

break;

case 6: outportb(PuertoDatos, 0x40);

break;

case 7: outportb(PuertoDatos, 0x80);

break;

default:

outportb(PuertoDatos, 0x00);

}

}while(Dato!=9);

}

Conclusión

– Gracias a la enseñanza recibida en clases se pudo realizar óptimamente el desarrollo de dicho programa.

– Pudimos verificar que las galerías usadas se ejecutaron correctamente con los comandos adecuados.

– Con las sentencias adecuadas se puede realizar cualquier tipo de progamas usándolas de forma correcta.

Observaciones y problemas

-Se debe habilitar el puerto paralelo, ya que el puerto de la impresora (el cual estamos utilizando viene por defecto cerrado, eso se puede arreglar yendo a: EQUIPO-( Propiedades ( Hardware ( y elegimos el puerto de la impresora y lo activamos.

edu.red

¿Por qué no controlaba el programa en C los led del proyecto de mis alumnos?

La razón muy simple, es la versión de Windows. Hasta la versión de Windows 98, los puertos estaban libres no se bloqueaban, por lo que simplemente al ejecutar el programa en C que controle los puestos se podía trabajar sin problemas. Ahora Windows Xp, 7 y 8 bloquean los puertos, por este motivo ya no funcionan directamente nuestros programas de control de puerto paralelo. Entonces antes de ejecutar nuestro programa en C debemos desbloquear el puerto paralelo.

Se puede desbloquear el puerto paralelo directamente desde Windows, pero necesita saber configuración o simplemente puede utilizar una herramienta de software que haga este trabajo.Userport es una herramienta que hace esto, puede descargarla desde el aula virtual, es la que utilicé para este ejemplo, o descargue desde:

El procedimiento para habilitar el puerto paralelo para Windows de 32 bits es el sgte:

  • 1. Copie el archivo userport.sys en C:WindowsSystem32drivers

  • 2. Ejecute el programa userport.exe, presentará la sgte pantalla:

edu.red

  • 3. Clic en start y luego clic en Exit y la máquina está lista para utilizar el programa que controla los leds.

Entonces ingrese al TC++ y ejecute el programa.

Maqueta

Para asegurarse que el circuito de su maqueta esté correcto al conectarlo debería encender los leds. En mi caso, este es el circuito:

edu.red

edu.red

edu.red

 

 

 

Autor:

Diego Choquehuanca Gutierrez

Te Cheng Lu

Ilsen Fabiola Zapata Calderon

  • Carreras:

-Ingenieria de Sistemas

-Ingenieria de Telecomunicaciones