Bagi anda yang suka pemrograman untuk mengakses hardware komputer, mungkin salah satu port yang bisa dimanfaatkan adalah paralel port, serial atau USB. Bagaimana kita membuat program untuk mengakses port paralel?. Berbeda dengan pemrograman biasa, untuk program akses port kita harus mengetahui alamat port yang digunakan… untuk lebih jelasnya silahkan baca selanjutnya tutorial ini semoga bermanfaat…

Port paralel walaupun sekarang sudah mulai disertakan pada motherboard keluaran terbaru tetapi masih layak untuk dikembangkan untuk keperluan kontrol perlatan seperti, motor stepper, lampu LED,LCD, Seven Segment dan aplikasi lainnya.Nah bagaimana cara melakukan akses ke port paralel melalui Delphi?…

 

port.JPG

Buatlah Form dengan tampilan sebagai berikut :

 port1.JPG

Buatlah Kode program sebagai berikut :

procedure TulisPort(addr: word; value: byte); assembler;

asm

XCHG AX,DX

OUT DX,AL

end;

function BacaPort(addr: word): byte; assembler;

asm

MOV DX,AX

IN AL,DX

end;

procedure TForm1.FormCreate(Sender: TObject);

var

kontrol: byte;

begin

kontrol := BacaPort($37A); {baca register kontrol LPT1}

kontrol := kontrol and $DF; {reset bit 5, operasi tulis}

TulisPort($37A, kontrol); {tulis kembali register kontrol LPT1}

end;

 

Dobel klik pada Button1 dan tulis perintah berikut (event handler OnClick untuk Button1) untuk menulis data ke port printer.

procedure TForm1.Button1Click(Sender: TObject);

var

data: byte;

begin

data := StrToInt(edit1.text); {mengambil nilai dari Edit1}

data := $FF-data; {komplemenkan nilai tersebut}

TulisPort($378, data); {tulis data tsb ke port data LPT1}

end;

Running Program …

Jika Edit diisi dengan bilangan, maka akan berlaku konversi bilangan desimal ke biner dengan logika sebagai berikut

Misal 8 = 0 0 0 0 1 0 0 0

Sehiingga bilangan binernya adalah  = 07 + 06 + 05 +04 + 23 + 02 + 01 + 00.

maka led yang menyala adalah 1 led nomor 5 dari kiri

Jika anda menggunakan sistem operasi Windows XP anda  harus menambahkan komponen User Port yang dapat anda download disini…