Anda di halaman 1dari 31

TEKNIK ANTAR MUKA (INTERFACING)

Mashoedah, MT

ANTARMUKA /INTERFACING ?

Satu sistem ke sistem yang lain computer to computer Computer to another

Dimana terjadi Antarmuka ?


Komputer = Mikrokontroler = .

PORT ?

Port
Port adalah pintu hubungan (konektor) antara komponen peripheral dengan mainboard Beberapa port langsung berhubungan dengan bus yang terkait (mis: USB, Firewire, AGP) Port-port tradisional yang biasanya ada di mainboard: Serial port : transmisi data secara serial (mis: modem) Parallel port: transmisi data secara parallel (mis: printer)

PORT PARALEL

Behind your PC (mburine komputermu)

Parallel port modes


The IEEE 1284 Standard which has been published in 1994 defines five modes of data transfer for parallel port. They are, 1) Compatibility Mode 2) Nibble Mode 3) Byte Mode 4) EPP(Enhance Parallel Port) 5) ECP(Extended Capability Port)

Tujuan Standarisasi ini adalah untuk mendesain driver dan peralatan yang baru sehingga kompatibel dengan peralatan lainnya dan standard parallel port sebelumnya (SPP) yang diluncurkan pada tahun 1981.

Mode Kompatibilitas, Nible, dan Byte digunakan sebagai standard perangkat keras yang tersedia di port parallel original. Sedangkan untuk EPP dan ECP membutuhkan tambahan hardware sehingga mampu bekerja dengan kecepatan tinggi.

Mode Kompatibilitas atau sering disebut Centronics hanya dapat mengirimkan data pada arah maju (dari Host ke device external) dengan kecepatan 50 Kbyte sampai 150 Kbyte perdetik. Untuk menerima data harus diubah modenya menjadi mode Nibble atau Byte. Mode Nibble dapat menerima data 4 bit (Nibble) sedangkan mode Byte dapat menerima data 8 bit (1 byte).

Hardware The pin outs of DB25 connector is shown in the picture below

ALAMAT PORT PARALEL


Alamat (dalam format Hexa) 3BC-3BF = Digunakan untuk Port Parallel yang terpadu dengan kartu kartu Video, tidak mendukung mendukung alamat alamat ECP Alamat (dalam format Hexa) 378-37F = Biasa digunakan untuk LPT1 Alamat (dalam format Hexa) 278-27F = Biasa digunakan untuk LPT2

Alamat dasar 3BCh pertama kali diperkenalkan sebagai alamat port parallel pada card card video lama.LPT1 biasanya memiliki alamat dasar 378, sedangkan alamat LPT2 adalah 278. ini adalah alamat umum yang biasa dijumpai, namun alamat dasar ini bisa berlainan antara satu komputer dengan komputer lainnya.

Setelah diketahui alamat dari port parallel, maka dapat ditentukan alamat Data Register, Control Register dan Status Register. Alamat Data Register adalah base address dari port parallel tersebut, alamat Status Register adalah (base address + 1), sedangkan alamat Control Register adalah (base address +2).

List dibawah adalah tabel alamat untuk DP, PC dan PS dengan LPT mempunyai base address 378h
LPT1 DP = Alamat Register &H378 / 888 LPT1 PS = Alamat Register &H379 / 889 LPT1 PC = Alamat Register &H37A / 890

Register - register Port Parallel


Register Data Port Register Status Parallel ( 378h ) Port Parallel ( 379h )
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 (Data7) (Data 6) (Data 5) (Data 4) (Data 3) (Data 2) (Data 1) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1
(Busy) (Ack) (Paper Out) (Select)

Register Kontrol Port Parallel ( 37Ah )


Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1
(Not Used) (Not Used) (Aktivasi Port Dwi Arah) (Aktivasi IRQ melalui jalur Ack) (Select In) (Reset / Inisialisasi) (Autofeed)

(Error) (IRQ) (Not Used)

PENGAKSESAN PORT PARALEL


Untuk komunikasi atau antarmuka antara PC dengan peralatan IO salah satu cara adalah dengan memanfaatkan File .DLL (dynamic Link Library)

File DLL untuk akses Port


Ada dua jenis yang bisa kita pilih yaitu misalnya: Win95IO.DLL (hanya bisa dipakai pada OS win98 ke bawah,) inpout32.dll (bisa dipakai baik di win98 maupun win XP,) Untuk versi yang lainya, atau untuk keperluan lainya bisa dilihat di sini.. Khusus untuk inpout32.dll bisa berjalan di win 98, win xp, vb.6 dan VB.NET. File dll yang akan digunakan dicopykan ke directory windows/system

Deklarasi File .dll


Win95IO.dll Private Declare Sub vbOut Lib WIN95IO.DLL (ByVal nPort As Integer, ByVal nData As Integer) Private Declare Function vbInp Lib WIN95IO.DLL (ByVal nPort As Integer) As Integer

inpout32.dll Private Declare Sub Out32 Lib inpout32.dll (ByVal nPort As Integer, ByVal nData As Integer) Private Declare Function Inp32 Lib inpout32.dll (ByVal nPort As Integer) As Integer

IO.dll dari buku Merah


Private Declare sub Port_Out lib Port_IO.dll (ByVal nPort As Integer, By Val nData As Byte) Private Declare Function Port_In lib Port_IO.dll (ByVal nPort As Integer) As Byte

Perintah-perintah untuk Mengakses Port


Win95IO.dll Masukan : X = vbInp(Port) contoh: X = vbInp(&H378) Keluaran : vbOut port, Nilai contoh: vbOut &H378, 20

inpout32.dll Masukan : X = Inp(Port) contoh: X = Inp(&H378) Keluaran : Out port, Nilai contoh: Out &H378, 20 Private Sub command1_click() text1.text =inp(&h379) End sub

Port_IO.dll dari buku merah


Untuk perintah masukan: X=Port_In(Alamat_Port) Contoh : X=Port_In(888) X adalah variabel untuk data yang diambil dari alamat port.

Untuk mengeluarkan data di port: Port_Out (Alamat_Port), (Nilai) Contoh: Port_Out 888, 2 Yang berarti mengeluarkan data 00000010b di port 888 atau &H378

Bagaimana, dimana deklarasi ?


Buka VB 6.0 Sorot layar projects explorer Klik kanan Sorot add Klik modul Klik new modul, open Tulis list program deklarasi diatas selesai