Jobsheet Paralel Input
description
Transcript of Jobsheet Paralel Input
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 NilaiLabel1 Caption Label1Label2 Caption Label2Label3 Caption ControlLabel4 Caption DataLabel5 Caption StatusLabel6 Caption
NamelbDatalbData
Shape1 Height dan WidthShape
65StCircle
Shape2 Height dan WidthShape
65StCircle
Shape3 Height dan WidthShape
65StCircle
Shape4 Height dan WidthShape
65StCircle
Shape5 Height dan WidthShape
65StCircle
Shape6 Height dan WidthShape
65StCircle
Shape7 Height dan WidthShape
65StCircle
Shape8 Height dan WidthShape
65StCircle
Timer 1 EnabledInterval
True1000
Timer 2 EnabledInterval
False1000
3. Masukkan perintah-perintah pada kejadian/event disetiap komponen di bawahIni.
Nama Komponen Event PerintahDeklarasi - 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';
Timer1 - 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 program6. On kan Toggle switch. 7. Amati apa yang terjadi pada komponen shape dan LED.
Prosedur percobaan 2 : Keypad1. Buatlah Program seperti dibawah ini
2. Komponen/Objek yang digunakan dan pengaturan propertiesnya adalah:
Komponen Properti NilaiLabel1 Caption Label1Label2 Caption Label2Label3 Caption Label3Label4 Caption Label4Label5 Caption Label5Label6 name
CaptionlbDatalbData
Label7 nameCaption
lbKeypadlbKeypad
Timer 1 EnabledInterval
True1
3. Masukkan perintah-perintah pada kejadian/event disetiap komponen di bawahIni.
Nama Komponen Event PerintahDeklarasi - 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'; if stat = 255-16 then keypad:='*';end;
Timer1 - procedure TForm1.Timer1Timer(Sender: TObject);begini:=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);
end;Form1 - procedure TForm1.FormCreate(Sender: TObject);
begin Out32($378,0);end;
4. Simpan semua file dpr dan unit kemudian jalankan program5. Hubungkan keypad dengan port Status dan Kontrol6. Tekan sembarang tombol pada keypad, kemudian amati apa yang terjadi pada
komponen lbKeypad.