Hola colegas aqui les dejo un code que ise hace unos años para controlar leds de varias formas. Esta en pascal. Espero que les sirva de algo. Saludos
-----------------------------------------------------------------------------------------
program ARRANQUE;
uses crt,dos;
VAR
c: real;
ms: integer;
BEGIN
CLRSCR;
WRITELN;
WRITELN;
GOTOXY(25,2); WRITELN('CONTROL de CONTACTORES');
GOTOXY (19,4); WRITELN ('PROGRAMADO POR: Sadam');
GOTOXY (16,6); WRITELN ('Versi¢n 1.0 -BETA TEST- (c) Copyright 2004.');
gotoxy(20,12); writeln ('1: Puerto LPT1 2: Puerto LPT2');
Readln (c);
GOTOXY (15,15); WRITE ('Establezca el tiempo de conmutaci¢n en Ms: '); READ (ms);
clrscr;
if c = 1 then {inicio de secuencia de salida}
begin;
{Inicio del encendido de los Contactores en estrella}
GOTOXY (20,6); Write ('Inicio en Estrella');
GOTOXY (20,8); Write ('Contactor 1 y 3 funcionando por: '); write (ms); write (' milisegundos');
GotoXY (20,10); Write ('Û');
GotoXY (24,10); WriteLN ('Contactor N§ 1');
GotoXY (20,13); Write ('°');
GotoXY (24,13); WriteLN ('Contactor N§ 2');
GotoXY (20,16); Write ('Û');
GotoXY (24,16); WriteLN ('Contactor N§ 3');
PORT [956] :=$05; DELAY (MS);
PORT [956] :=$01;
DELAY (700);
CLRSCR;
{Inicio del encendido de los Contactores en triangulo}
Repeat;
GOTOXY (20,6); Write ('Inicio en Triangulo');
GOTOXY (20,8); Write ('Contactor 1 y 2 funcionando hasta presionar una tecla ');
GotoXY (20,10); Write ('Û');
GotoXY (24,10); WriteLN ('Contactor N§ 1');
GotoXY (20,13); Write ('Û');
GotoXY (24,13); WriteLN ('Contactor N§ 2');
GotoXY (20,16); Write ('°');
GotoXY (24,16); WriteLN ('Contactor N§ 3');
PORT [956] :=$03;
Until Keypressed;
PORT [956] :=$00; {apagado del segundo Contactor}
end;
CLRSCR;
end.