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.
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.
Buatlah Form dengan tampilan sebagai berikut :
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:
Paralel port
Source ;
http://muhal.wordpress.com/2007/03/17/akses-port-paralel-dengan-delphi/