Que tal chavo...? no se si aun te sirve pero te mando un programita que hice para mandar pulsos a determinados pines del paralelo...
te cuento que solo me corrio en visual c++ 6
#include <iostream.h>
#include <stdio.h>
#include <dos.h>
#include <conio.h>
void main (){
int vec[8];
int i,j,valor=1,estado=1;
_outp(888,0);
for (i=0;i<=8;i++) vec =0;
do{
cout<<"Ingrese numero de luz ";
cin>>j;
j-=1;
cout<<"Ingrese Estado ";
cin>>vec[j];
valor = ((vec[0]*1 ) + (vec[ 1]*2 ) +
(vec[2]*4 ) + (vec[ 3]*8 ) +
(vec[4]*16) + (vec[5]*32) +
(vec[6]*64) + (vec[7]*128));
_outp(888,valor);
getch();
cout<<"Cambia otra luz ";
cin>> estado;
} while (estado == 1);
}