Sehr gute Ergebnisse habe ich in einem Informatik-Physik-Kurs an einem Gymnasium mit der Unit zlportio von Alexandr Zloba gemacht. Hier ein Testprogramm, dass die Zweierpotenzen 2^0 bis 2^7 auf den Port gibt. Ich habe damals eine Ampelsimulation mit 8 LEDs (2 Straßenampeln + 1 Fußgängerampel) programmieren lassen, die an den 8 Datenleitungen des Parallelports angeschlossen waren. Die Unit zlportio.pas mitsamt dem Treiber zlportio.sys kann bezogen werden unter http://www.sharewareorder.com/ZLPORTIO-SOURCE-download-9205.htm
implementation
uses zlportio;
{$R *.dfm}
const LPT1 = $378;
procedure TForm1.FormCreate(Sender: TObject);
begin
if not zliostarted then begin
showmessage ('Fehler.');
Application.Terminate;
end;
zlioportwrite (LPT1, ZLIO_BYTE, 0);
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
zliostop;
end;
procedure TForm1.StartBtnClick(Sender: TObject);
var wert : integer;
procedure pause;
var i : longint;
begin
for i := 1 to 200000000 do;
end;
begin
repeat
zlioportwrite (LPT1, ZLIO_Byte, 0);
pause;
wert := 1;
repeat
zlioportwrite (LPT1, ZLIO_Byte, wert);
wert := 2 * wert;
pause;
until (wert = 256);
until false; // Endlosschleife
end;