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 ).

omputer interfacing parallel port            omputer interfacing parallel port

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.

omputer interfacing parallel port

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