como crear este codigo

hola amigos del foro
les ecribo para q me puedan dar un poco de luz con esta tarea
he buscado mucha informacion pero hay algo que tengo duda haber la tarea es la siguiente:

Escribir un programa en Lenguaje C (para el compilador VisualC) que, empleando la interfaz para el puerto paralelo de la figura, implemente dos contadores binarios de 5 y 3 bits (D7:D3 y D2:D0). El contador de 5 bits es ascendente y se debe actualizar a razón de 1 cuenta/segundo, mientras que el contador de 3 bits es descendente y se actualiza a razón de 2 cuentas/segundo.


tengo los parametros y el codigo que debo usar para ingresar a controlar los bit de un puerto paralelo pero lo que no puedo es hacer el programa que pide que haga el contador de 5 y 3 bits eso no lo entiendo , alguien podria darme luz por lo menos con unos de los contadores como hacerlo y como incluirlo en el codigo que ya tengo
el programa q quiere es en visual C++ o borlanC , pero ahora les pongo el codigo para

BORLAN C++ y asi me ayudan que le puedo meter a este codigo para que haga lo que pide:
/**********************************************************************
**********************************************************************/
#include <windows.h>
#include <stdio.h>
#include <conio.h>
#include "winio.h"

#define BASE 0x378

int main( void )
{
unsigned char Cont;
unsigned char Aux;
bool bResult;

// Call InitializeWinIo to initialize the WinIo library.
bResult = InitializeWinIo();
if( ! bResult)
{
printf("Error during initialization of WinIo.\n");
return 1;
}

Aux = _inp( BASE + 2 );
Aux &= 0:LOL:F;
_outp( BASE + 2, Aux );

//***********************************

AQUI CREO ES DONDE TENGO Q METER EL CODIGO QUE ME HAGO EL CONTEO ASCENDENTE DE
5BIT Y DESCENDENTE DE 3 BIT


//****************

// When you're done using WinIo, call ShutdownWinIo
ShutdownWinIo();

return 0;
}

ESTOY TRABAJANDO CON el driver WINIO para poder controlar el puerto paralelo
agradeceria su pronta ayuda
 
Hi faber,
si entendi bien lo que quieres es unir los dos contadores en una variable de 8 bits
para enviar por el puerto paralelo. Prueba esto
:)


void main(void)
{
unsigned char c1,c2,r,sw;
c1 = 0;
c2 = 0x07;
sw = 0;
while(c1<0x1f)
{
r = c2;
r = r << 3;
r |= c1;
printf("%i %i %x\n",c1,c2,r);

if(c2)c2--;else c2 = 0x07;
sw++;
if(sw==2)
{
if(c1<0x1f)c1++;
else c1 = 0;
sw = 0;
}
Sleep(500);
}
}
 
Atrás
Arriba