Anda di halaman 1dari 7

Alat dan Bahan

1 Set PC
Tool Pemrograman Borland Delphi
Kabel LPT
Trainer Komunikasi Paralel

Prosedur Percobaan 1 : Toggle Switch


1. Buatlah Program seperti dibawah ini

2. Komponen/Objek yang digunakan dan pengaturan propertiesnya adalah:


Komponen
Properti
Nilai
Label1
Caption
Label1
Label2
Caption
Label2
Label3
Caption
Control
Label4
Caption
Data
Label5
Caption
Status
Label6
Caption
lbData
Name
lbData
Shape1
Height dan Width
65
Shape
StCircle
Shape2
Height dan Width
65
Shape
StCircle
Shape3
Height dan Width
65
Shape
StCircle
Shape4
Height dan Width
65
Shape
StCircle
Shape5
Height dan Width
65
Shape
StCircle
Shape6
Height dan Width
65
Shape
StCircle
Shape7
Height dan Width
65
Shape
StCircle
Shape8
Height dan Width
65
Shape
StCircle
Timer 1
Enabled
True
Interval
1000
Timer 2
Enabled
False
Interval
1000
3. Masukkan perintah-perintah pada kejadian/event disetiap komponen di bawah
Ini.

Nama Komponen
Event
Deklarasi
-

Timer1

Perintah
var
Form1: TForm1;
ctrl, data, stat: integer;
implementation
{$R *.dfm}
procedure
Out32(PortAddress:smallint;Value:smallint);
stdcall; external 'inpout32.dll';
function
Inp32(PortAddress:smallint):smallint;stdcall;
external 'inpout32.dll';
procedure TForm1.Timer1Timer(Sender: TObject);
begin
ctrl:=(inp32($37A) xor $0B);
stat:=(inp32($379) xor $80);
Label1.Caption:=IntToStr(ctrl);
Label2.Caption:=IntToStr(stat);
data:=stat+ctrl;
data:=255-data;
lbData.Caption:=IntToStr(data);
Out32($378,data);
if (data and 1)=1 then shape1.Brush.Color:=clred
else shape1.Brush.Color:=clwhite;
if (data and 2)=2 then shape2.Brush.Color:=clred
else shape2.Brush.Color:=clwhite;
if (data and 4)=4 then shape3.Brush.Color:=clred
else shape3.Brush.Color:=clwhite;
if (data and 8)=8 then shape4.Brush.Color:=clred
else shape4.Brush.Color:=clwhite;
if (data and 16)=16 then shape5.Brush.Color:=clred
else shape5.Brush.Color:=clwhite;
if (data and 32)=32 then shape6.Brush.Color:=clred
else shape6.Brush.Color:=clwhite;
if (data and 64)=64 then shape7.Brush.Color:=clred
else shape7.Brush.Color:=clwhite;
if (data and 128)=128 then
shape8.Brush.Color:=clred
else shape8.Brush.Color:=clwhite;
end;
end.

4. Hubungkan Toggle switch dengan port control dan status, sedangkan LED dengan port
Data
5. Simpan semua file dpr dan unit kemudian jalankan program
6. On kan Toggle switch.
7. Amati apa yang terjadi pada komponen shape dan LED.

Prosedur percobaan 2 : Keypad


1. Buatlah Program seperti dibawah ini

2. Komponen/Objek yang digunakan dan pengaturan propertiesnya adalah:


Komponen
Properti
Nilai
Label1
Caption
Label1
Label2
Caption
Label2
Label3
Caption
Label3
Label4
Caption
Label4
Label5
Caption
Label5
Label6
name
lbData
Caption
lbData
Label7
name
lbKeypad
Caption
lbKeypad
Timer 1
Enabled
True
Interval
1
3. Masukkan perintah-perintah pada kejadian/event disetiap komponen di bawah
Ini.
Nama Komponen
Event
Deklarasi
-

Perintah
var
Form1: TForm1;
ctrl, data, stat, i: integer;
keypad : String;
implementation
{$R *.dfm}
procedure
Out32(PortAddress:smallint;Value:smallint);
stdcall; external 'inpout32.dll';

function
Inp32(PortAddress:smallint):smallint;stdcall;
external 'inpout32.dll';
procedure baris1;
var
stat: integer;
begin
Out32($378,$E);//1 //1110
stat:=(inp32($379) xor $80);
if stat = 255-128 then keypad:='A';
if stat = 255-64 then keypad:='3';
if stat = 255-32 then keypad:='2';
if stat = 255-16 then keypad:='1';
end;
procedure baris2;
var
stat: integer;
begin
Out32($378,$D);//2 //1101
stat:=(inp32($379) xor $80);
if stat = 255-128 then keypad:='B';
if stat = 255-64 then keypad:='6';
if stat = 255-32 then keypad:='5';
if stat = 255-16 then keypad:='4';
end;
procedure baris3;
var
stat: integer;
begin
Out32($378,$B);//4 //1011
stat:=(inp32($379) xor $80);
if stat = 255-128 then keypad:='C';
if stat = 255-64 then keypad:='9';
if stat = 255-32 then keypad:='8';
if stat = 255-16 then keypad:='7';
end;
procedure baris4;
var
stat: integer;
begin
Out32($378,$7);//8 //0111
stat:=(inp32($379) xor $80);
if stat = 255-128 then keypad:='D';
if stat = 255-64 then keypad:='#';
if stat = 255-32 then keypad:='0';

Timer1

if stat = 255-16 then keypad:='*';


end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
i:=i+1;
if i=1 then baris1();
if i=2 then baris2();
if i=3 then baris3();
if i=4 then begin
baris4();
i:=0;
end;
lbKeypad.Caption:=keypad;
ctrl:=(inp32($37A) xor $0B);
stat:=(inp32($379) xor $80);
Label1.Caption:=IntToStr(ctrl);
Label2.Caption:=IntToStr(stat);
data:=stat+ctrl;
data:=255-data;
lbData.Caption:=IntToStr(data);
Out32($378,data);

Form1

end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Out32($378,0);
end;

4. Simpan semua file dpr dan unit kemudian jalankan program


5. Hubungkan keypad dengan port Status dan Kontrol
6. Tekan sembarang tombol pada keypad, kemudian amati apa yang terjadi pada
komponen lbKeypad.

Anda mungkin juga menyukai