Seguimos con otro pequeño programa que hace uso del puerto paralelo. Esta hecho en C, puede ser fácilmente modificado para que también funcione en linux.
En este caso es pedir dos números, luego debe aparecer un menú donde le pida al usuario que operación requiere de las 4 básicas.
Obviamente es código que puede ser mejorado, pero que sirve bien a su propósito inicial.
/* Programa de manejo de puerto paralelo
Fecha: 04 de Junio de 2009
Autor: Hector Bautista Flores
Materia: Arquitectura de Computadoras 2
Profesor: Ing. Casanova
*/#include<stdio.h>#include<conio.h>#include<dos.h>#define puerto 0x378 // Port Address#define tiempo 2000 //2 segundos de espera
main
()//Rutina principal{
int num1,num2,res,opt,cont;
clrscr
();
printf("\n\nOperaciones en Decimal, Salida al protoboard en Binario\n\n");
printf("\nDeme primer numero: ");
scanf
("%d",&num1
);
outport
(puerto,num1
);
delay
(tiempo
);
outport
(puerto,0x0
);
printf("\nDeme un segundo numero: ");
scanf
("%d",&num2
);
outport
(puerto,num2
);
delay
(tiempo
);
outport
(puerto,0x0
);
printf("\n\nQue tipo de operacion quieres:\n");
printf("\n\t1.- Suma");
printf("\n\t2.- Resta");
printf("\n\t3.- Multiplicacion");
printf("\n\t4.- Division");
printf("\n\tEscoja un numero: ");
scanf
("%d",&opt
);
switch(opt
)
{
case1: res=num1+num2;break;
case2: res=num1-num2;break;
case3: res=num1*num2;break;
case4: res=num1/num2;break;
}
printf("\nEl resultado es: ");
for(cont=
0; cont<
3; cont++
){
delay
(tiempo/
4);
outport
(puerto,
255);
delay
(tiempo/
4);
outport
(puerto,0x0
);
delay
(tiempo/
4);
}
printf("%d\t",res
);
outport
(puerto,res
);
delay
(tiempo*
5);
outport
(puerto,0x0
);
printf("\n\nHemos terminado!\n\n");
delay
(tiempo
);
}
Y con esto dejamos por ahora estos artículos hasta que surjan algo nuevo en la escuela..

by hbautista@gmail.com (Hector Bautista) at junio 30, 2009 03:18