You are on page 1of 8

INTROCUCCION.

El amplio mundo de la computación nos asombra con nuevos productos


tecnológicos capaces de realizar tareas como cálculos a velocidades
exuberantes, complejos controles de automatización,etc.

Pero esto no fuese logrado sin ayuda del avance en la tecnología electrónica
ya que esta es la parte física o real que realiza dichas tareas.

OBJETIVO GENERAL.-

• Realizar un circuito interfaz del puerto paralelo LPT1 para controlar las
luces de un domicilio.

• Realizar un software en lenguaje C que funcione como interfaz de


usuario, para administrar los datos del puerto paralelo LPT1 que se
enviaran por medio de la interfaz.

• Demostrar el funcionamiento del software y hardware Domótica de


luces.

MARCO TEORICO.-

El puerto paralelo de una PC es ideal para ser usado como herramienta


de control de motores, relés, 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
con muy poco dinero 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 o bien en el cartel que
generalmente la PC muestra en el momento del booteo. Puede darse el
caso que el LPT1 asuma la dirección 0x3BC (956 en decimal) y el LPT2
0x378, en ese caso habrá que tratar de corregir el setup y/o los jumper
de las tarjetas en caso que sea posible. De lo contrario se puede
modificar el software que veremos más adelante para aceptar esas
direcciones.
CIRCUITO.-
PROGRAMA CONTROLADOR.-

#include <conio.h>

#include <stdio.h>

#include <dos.h>

#include <math.h>

#include <io.h>

int a;

int Dato=0;

int apagar = 1;

int encender = 0;

int Luces [8];

char sino = 'I';

void BD()

int i=0;

for(i=0; i<7; i++)

Dato+=((2^i)*(Luces[i]));

outp(888, Dato);

Dato=0;

void main()

int puntero = 0;
a=1;

outp(888,255);

clrscr();

gotoxy(8, 5);

printf ("PROGRAMA CONTROLADOR DE LUCES POR PUERTO PARALELO


LPT1\n");

gotoxy(15,8);

printf ("INTEGRANTES:\n");

gotoxy(15,9);

printf (" 1.- Erlan Gary lola Ayala\n");

gotoxy(15,10);

printf (" 2.- Edgar Choque Challapa\n");

gotoxy(15,11);

printf (" 3.- Ergar Iquize Cayoja\n");

gotoxy(2, 14);

printf ("Desea empezar el programa? S/N.\n");

while(1)

sino = getche();

if((sino == 's') || (sino == 'S'))

sino='I';

goto Empezar;

if((sino == 'n') || (sino == 'N'))

sino='I';

goto Salir;

Empezar:
clrscr();

gotoxy(10, 4);

printf ("El codigo para cada lampara se describe enseguida:\n");

gotoxy(15, 6);

printf ("Lampara 1 ----> 1\n");

gotoxy(15, 7);

printf ("Lampara 2 ----> 2\n");

gotoxy(15, 8);

printf ("Lampara 3 ----> 3\n");

gotoxy(15, 9);

printf ("Lampara 4 ----> 4\n");

gotoxy(15, 10);

printf ("Juego de Luces ----> 5\n");

gotoxy(15, 11);

printf ("Luces de Jardin ----> 6\n");

gotoxy(15, 12);

printf ("Para Salir ----> 0\n");

scanf("%i",&a);

puntero = a-1;

switch (a)

case 1:

if(Luces[puntero]==0) Luces[puntero] = apagar;

if(Luces[puntero]==1) Luces[puntero] = encender;

BD();

break;

case 2:

if(Luces[puntero]==0) Luces[puntero] = apagar;


if(Luces[puntero]==1) Luces[puntero] = encender;

BD();

break;

case 3:

if(Luces[puntero]==0) Luces[puntero] = apagar;

if(Luces[puntero]==1) Luces[puntero] = encender;

BD();

break;

case 4:

if(Luces[puntero]==0) Luces[puntero] = apagar;

if(Luces[puntero]==1) Luces[puntero] = encender;

BD();

break;

case 5:

if(Luces[puntero]==0) Luces[puntero] = apagar;

if(Luces[puntero]==1) Luces[puntero] = encender;

if(Luces[puntero+1]==0) Luces[puntero] = apagar;

BD();

break;

case 6:

if(Luces[puntero]==0) Luces[puntero] = apagar;

if(Luces[puntero]==1) Luces[puntero] = encender;

if(Luces[puntero-1]==0) Luces[puntero] = apagar;

BD();

break;

case 0:

goto Salir;

default:

goto Empezar;
}

goto Empezar;

Salir:

outp(888,255);

exit();

ESQUEMA DE MAQUETA.-

You might also like