Cara Mengendalikan Port Paralel

Paralel port atau sering disebut LPT memiliki tiga port, yaitu port data, port control, dan port status. Port-port ini memiliki alamat yang berurutan dengan alamat untuk port data sebagai alamat dasar. Alamat yang biasa digunakan untuk LPT adalah $378, $278 dan $38B. Dan alamat $378 merupakan alamat yang paling lumrah digunakan untuk LPT jika hanya ada sebuah port LPT yang terinstal. Dengan alamat dasar $378, maka ini berarti bahwa port data beralamat $378, port status pada $379 dan port control pada $37A.

Susunan pin untuk LPT pada konektor DB25 adalah sebagai berikut:

No.PinFungsiArahKeterangan
1Control bit 0 (strobe)KeluarDibalik
2-9Data (bit 0-bit 7)Masuk/keluar
10Status bit 6 (acknowledge)Masuk
11Status bit 7 (busy)MasukDibalik
12Status bit 5 (paper end)Masuk
13Status bit 4 (select)Masuk
14Control bit 1 (auto feed)KeluarDibalik
15Status bit 3 (error)Masuk
16Control bit 2 (init)Keluar
17Control bit 3 (select in)KeluarDibalik
18-25Ground

Kita bisa menggunakan 8 bit port data untuk mengendalikan berbagai peralatan. Misalnya untuk mengendalikan LED, relay, SCR, dan lain sebagainya.

Untuk kemudahan dalam pemrogramannya, saya membuat sebuah komponen yang bisa diinstal pada Delphi (LPTXP.dpk) ataupun Lazarus (LPTXP.lpk). Komponen ini menggunakan hwinterface.sys.

Setelah Anda menginstal komponen tersebut, Anda bisa mencoba program demo (LPTTest.dpr). Dengan program demo ini, Anda bisa mengatur keluaran dari port data dengan memberi centang pada CheckBox. Jika CheckBox dicentang, maka keluaran dari port data akan bernilai H. Sedangkan jika centangnya dibuang, maka keluaran port data akan bernilai L.

LPTTest

LPTTest

Untuk mempermudah dalam melihat keadaan port data, Anda bisa menyambungkan port data ke LED seperti gambar berikut:

Menghubungkan LED ke LPT

Menghubungkan LED ke LPT

Dengan membuat rangkaian LED seperti gambar di atas, Anda bisa mencoba mengendalikan nyala LED menggunakan CheckBox pada program LPTTest. Dan Anda akan mendapatkan Runnung LED yang sangat menarik jika Anda klik pada tombol Run. Pola penyalaan LED menggunakan file biner yang disusun menggunakan pola seperti pada BAB “LED berjalan 5” pada buku “Mudah dan Menyenangkan Belajar Mikrokontroler”.

Komponen LPTXP

Komponen LPTXP

Apakah Anda menyukai post ini? Mengapa tidak memberikan komentar di bawah dan melanjutkan perbincangan, atau berlangganan my feed dan dapatkan artikel semacam ini yang dikirm secara otomatis feed reader Anda.
Harap diperhatikan bahwa komentar atau pertanyaan yang disampaikan haruslah sesuai dengan topik yang sedang dibahas. Komentar atau pertanyaan yang tidak sesuai dengan topik akan kami hapus :!:

10 Komentar
  1. Mantab, ada komponen Lazarusnya.
    Btw, aku sudah download dan coba install package di Lazarus 0.9.30.2 / FPC 2.4.4, tapi gagal karena file LPT.pas tidak ditemukan. Mohon bantuannya. Terima kasih.

    • mungkin bisa diatasi dengan menambahkan -Fu dengan path dari LPT.pas

    • Baik, komponen sudah bisa diinstal di Lazarus. Hanya saja sepertinya file form pada project lazarusnya tidak disertakan, sehingga project demo tidak bisa dijalankan. Thanks.

    • Oia, ada yg tertinggal. thanks infonya 😀

    • Eh, tapi tidak kok, itu menggunakan file form yang sama dengan Delphi, jadi menggunakan dfm, bukan lfm. Coba lakukan konversi Delphi unit to Lazarus unit untuk unit UnitTest.pas.

    • Sip, project bisa dicompile sampai jadi .exe, tapi form tetap tidak muncul.

  2. Mas bs minta program LPTTest nya mas? makasih

    • Download saja LPTXP.7z yang di bawah, di dalamnya ada demo yang berisi LPTTest.exe maupun source code-nya

  3. Mas Sulhan,
    Saya coba install componentnya di lazarus 1.6 windows7 32bit, nggak bisa ya mas, apa memang tidak didesain utk windows7 ?, ada 3 error saat diinstall….

    Pertama, parport_rut_noDll.pas(77,7)Error: Can’t determine which overloaded function to call (di scrip menunjuk -> AssignFile(fb,path);)

    Kedua, parport_rut_noDll.pas(129,36)Error: Incompatible type for arg. 3: Got “PChar”, expected “LPPCSTR”

    Ketiga, parport_rut_noDll.pas(142,30)Error: Incompatible type for arg. 3: Got “PChar”, expected “LPPCSTR”

    Sedangkan LPTTest.exe bisa dijalankan dengan sempurna….

    Thanks sebelumnya

    • Memang Lazarus ini kadang agak sulit karena dari versi ke versi kadang tidak kompatibel. Dicoba pada versi X berhasil, setelah sampai versi Y ternyata error. Saya barusan mencoba compile pada lazarus 1.6.2 dan penyelesaiannya:
      1) Untuk kesalahan pertama cukup dengan mengganti menjadi AssignFile(fb,pchar(path));
      2) Untuk error Got “PChar”, expected “LPPCSTR”, itu adalah ketidak cocokan tipe data untuk X. Jadi tinggal disesuaikan saja tipe X menjadi X:LPPCSTR; (pada baris 117)

Tinggalkan komentar

Sebelum membuat komentar, pastikan Anda telah membaca komentar-komentar sebelumnya. Jangan membuat pertanyaan yang telah ditanyakan. Perhatikan pula link-link dalam artikel. Lihatlah link tersebut sebelum membuat pertanyaan, karena mungkin penjelasan dari pertanyaan Anda telah di jawab dalam link tersebut.

Komentar yang tidak mengikuti aturan ini akan dihapus!

(wajib)

(wajib)


Time limit is exhausted. Please reload the CAPTCHA.