Leuchtdioden

Praxis zu den LEDs

Messung der LED-Kennlinie



Grafische Darstellung + Interpretation der Kennlinie



Bau einer 3-Farben-Ampel zum Betrieb an der Parallelschnittstelle eines PC


Programmierung der Ampel (Programmausschnitt,Delphi)

	unit AmpelUnit;

	implementation
	
	    procedure PortOut(Port : Word; Data : Byte); stdcall;external 'io.dll';
	    function PortIn(Port : Word) : Byte;stdcall; external 'io.dll';
	    procedure SetPortBit(Port : Word; Bit : Byte);stdcall; external 'io.dll';
	    procedure ClrPortBit(Port : Word; Bit : Byte);stdcall; external 'io.dll';
	    procedure NotPortBit(Port : Word; Bit : Byte);stdcall; external 'io.dll';
	    function GetPortBit(Port : Word; Bit : Byte) : WordBool;stdcall; external 'io.dll';
	    function IsDriverInstalled : Boolean;stdcall; external 'io.dll';
	
	{$R *.dfm}
	
	procedure TForm1.Button1Click(Sender: TObject);
	begin
	  n:=0;						//Sekundenzähler
	  timer1.Enabled:=true;				//Timer wird aktiviert
	end;
	
	procedure TForm1.Timer1Timer(Sender: TObject);
	begin
	  inc(n);                                       //n wird um 1 erhöht
	  case n of 0..4: portout($378,4);              //Ausgabe von 4 auf Druckerport($378)(rot)
	            5..8: portout($378,6);              //Ausgabe von 4+2(rot+gelb)
	            9..14: portout($378,1);             //Ausgabe von 1(grün)
	            15,17,19,21: portout($378,0);       //alle aus
	            16,18,20,22: portout($378,1);       //grün
	            23..25: portout($378,2);            //gelb
	            26: n:=0;                           //n=0 Neustart
	  end;
	end;
	
	end;