computer interfacing tutorial-printer, serial, game, usb port
 

 

3.1.2. Turn On and Off 8 LED on Port Data Sequentially - Printer Port

Program exp311a.pas sequentially turns each of the 8 LED's on and then off on 8 bit port Data. Each LED is held off or on for nominally 1 second. Note that an LED is turned off with a logic one. This process is executed once.

Delphi Programming ( Download file exp312.zip )

a. Puts 8 Timers Components, 2 Button Components and label on Form, as shown in picture bellow. Setting up Timer1 .. Timer8 component for Enabled = false, and Interval = 1000 ( approximataly = 1000 ms ).

            

b.Click on start, stop button, amd timer to insert with the program as shown bellow

procedure TSequence.Button1Click(Sender: TObject);
begin
timer1.enabled:=true;
end;
procedure TSequence.Timer1Timer(Sender: TObject);
begin
 timer1.enabled:=false;
 asm
  mov dx,$378
  mov al,11111110b
  out dx,al
 end;
 timer2.enabled:=true;
end;
procedure TSequence.Timer2Timer(Sender: TObject);
begin
 timer2.enabled:=false;
 asm
  mov dx,$378
  mov al,11111110b
  out dx,al
 end;
 timer3.enabled:=true;
end;
procedure TSequence.Timer3Timer(Sender: TObject);
begin
 timer3.enabled:=false;
 asm
  mov dx,$378
  mov al,11111110b
  out dx,al
 end;
 timer4.enabled:=true;
end;
procedure TSequence.Timer4Timer(Sender: TObject);
begin
 timer4.enabled:=false;
 asm
  mov dx,$378
  mov al,11111110b
  out dx,al
 end;
 timer5.enabled:=true;
end;
procedure TSequence.Timer5Timer(Sender: TObject);
begin
 timer5.enabled:=false;
 asm
  mov dx,$378
  mov al,11111110b
  out dx,al
 end;
 timer6.enabled:=true;
end;
procedure TSequence.Timer6Timer(Sender: TObject);
begin
 timer6.enabled:=false;
 asm
  mov dx,$378
  mov al,11111110b
  out dx,al
 end;
 timer7.enabled:=true;
end;
procedure TSequence.Timer7Timer(Sender: TObject);
begin
 timer7.enabled:=false;
 asm
  mov dx,$378
  mov al,11111110b
  out dx,al
 end;
 timer8.enabled:=true;
end;
procedure TSequence.Timer8Timer(Sender: TObject);
begin
 timer8.enabled:=false;
 asm
  mov dx,$378
  mov al,11111110b
  out dx,al
 end;
 timer1.enabled:=true;
end;
procedure TSequence.Button2Click(Sender: TObject);
begin
 timer1.enabled:=false;
 timer2.enabled:=false;
 timer3.enabled:=false;
 timer4.enabled:=false;
 timer5.enabled:=false;
 timer6.enabled:=false;
 timer7.enabled:=false;
 timer8.enabled:=false;
end;

c. To run the program, you can hits F9 or RUN menu, and then you will show a picture as shown bellow, and try to simulate the program by clicking on Start and Stop Button and see what happen on your LED.

PREVIOUS NEXT

 

Free Software
Delphi

Lesson 1
Delphi Programming
1.1. IDE Delphi
1.2. Component


Lesson 2
Printer Port
/ LPT
1.1.Basic
1.2.Address
1.3.Port Register
1.4.8 Bit Data Input
1.5.Test Circuitry
1.6.Assignment

Lesson 3
Printer Port / LPT
Experiments

3.1.LED
3.2.Swicht
3.3.Motor Stepper
3.4.DAC
3.5.ADC
3.6.Graph Display

Lesson 4
Serial Port

4.1.Basic
4.2.Hardware
4.3.Port Register

Lesson 5
Serial Port Experiments

5.1.LED
5.2.Stepper Motor
5.3.Swicht
5.4.ADC

Lesson 6
Game Port
Joy Stick
6.1. Basic
6.2. Experiments