- Memahami mengenai rangkaian interface
- Dapat membuat rangkaian interface dengan decoder 74LS138
- IC 74LS138
- IC 8225A
- 74LS32 (Gerbang Logika OR)
- IC 74LS245
- LED
- Resistor
- Switch
Programmable I/O
Rangkaian interface yang bisa diprogram dengan memakai IC 8255. IC ini adalah suatu Programmable Peripheral Interface (PPI), yang Input atau Output-nya dapat diprogram sesuai dengan keinginan pemakai. Dengan demikian akan didapatkan suatu fleksibilitas yang cukup tinggi. Adapun blok diagram Programmable I/O seperti gambar 2.
PPI 8255 memiliki 24 buah pin I/O yang terbagi dalam 3 buah port yang bisa diprogram secara individual dalam dua group dan 3 buah mode operasi. Group A yang meliputi port A (8 bit) dan port C upper (4 bit) sedangkan group B terdiri dari port B (8 bit) dan port C lower (4 bit). Konfigurasi pin PPI 8255 dapat dilihat pada gambar 1.
Gambar 1 Konfigurasi pin PPI 8255
Adapun fungsi pin-pin PPI 8255 adalah:
a. D0 – D7 berfungsi sebagai data bus 3 state 2 arah yang dihubungkan ke data bus sistem komputer.
b. Chip Select (CS) aktif rendah yang berfungsi untuk mengaktifkan PPI 8255.
c. Read (RD) aktif rendah yang berfungsi untuk menandakan bahwa CPU akan membaca data dari PPI.
Gambar 2 Blok diagram Programmable I/O
d. Write (WR) aktif rendah yang berfungsi mengizinkan CPU untuk menulis data ke dalam PPI.
e. Port Select (A0 dan A1). Pin ini digunakan untuk memilih port yang akan digunakan.
f. Reset yang berfungsi untuk me-reset seluruh port I/O menjadi input dengan kondisi high pada seluruh pin.
Dalam pengoperasian PPI, dapat dibedakan atas 3 mode operasi dasar yang dapat dipilih melalui software, yaitu :
a) Mode 0 (Basic I/O)
Konfigurasi operasi ini menyediakan operasi-operasi sederhana untuk input dan output bagi ketiga buah port yang ada. Tidak ada sinyal handshaking yang bisa diberikan ataupun diterima, melainkan data secara sederhana dikirim dan dibaca dari port.
b) Mode 1 (Basic I/O)
Konfigurasi operasi ini menyediakan fasilitas untuk transfer data I/O dari dan ke port tertentu dengan dilengkapi oleh sinyal handshaking. Dalam hal ini port A dan port B digunakan sebagai transfer data, sedangkan port C sebagai pembangkit sinyal handshaking.
c) Mode 2 (Strobed bidirectional I/O)
Konfigurasi operasi ini menyediakan fasilitas untuk komunikasi data 8-bit dua arah dengan peralatan luar. Tersedia sinyal-sinyal untuk handshaking dan interrupt dengan fungsi enable dan disable-nya.
Ketika PPI mendapat sinyal reset, maka semua port di-set menjadi mode input (ke 24 jalur menjadi high impedance). Setelah dilakukan inisialisasi pasa IC 8255 tersebut, maka port-port tersebut dapat berfungsi sebagai input atau output sesuai nilai CW.
Inisialisasi pada IC 8255 dapat dilakukan dengan mengirimkan Control Word (CW) yang mempunyai format seperti gambar 3. Inisialisasi dilakukan untuk menentukan mode PPI sekaligus fungsi dari tiap port, apakah sebagai input atau output.
Dalam program, penulisan alamat port-port dan CW dari IC 8255 adalah sebagai berikut :
Port A equ 300h
Port B equ 301h
Port C equ 302h
Port CW equ 303h
Contoh program inisialisasi adalah:
MOV AL, 10011001b
MOV DX,303h
OUT DX,AL
Dari inisialisasi PPI 8255 diatas artinya sebagai mode 0, dengan port A dan Port C sebagai input serta Port B sebagai output. Control Word yang harus dikirim supaya IC 8255 dapat berfungsi demikian, diberikan seperti pada gambar 4.
Gambar 3 Control Word pada IC 8255
Gambar 4 Contoh Control Word untuk IC 8255
Kemudian program dapat dilanjutkan dengan melakukan pembacaan pada port A, misalnya, atau bisa juga memberikan output ke port B. Berikut ini contoh instruksi untuk melakukan pembacaan input dari port A.
MOV DX,301h
IN AL,DX
Didalam program tersebut terlihat instruksi-instruksi IN dan OUT yang memegang peranan penting dalam pengiriman data ke dalam dan ke luar sistem komputer. Instruksi OUT DX,AL berarti mengirimkan data yang berada di register AL ke alamat port yang tersimpan di DX. Dan IN AL,DX berarti membaca data dari port yang alamatnya tersimpan di DX kemudian menyimpan data tersebut di register AL.
Ada 3 contoh rangkaian yang dibedakan pada rangkaian decodernya.
Secara singkat prinsip kerjanya adalah pertama-tama mikroprosesor mengirimkan alamat interface seperti pada gambar rangkaian dapat dirancang untuk alamat 300H, 310H, 308H dan 318H dengan mengkombinasikan switch yang terhubung ke pin Slot ISA pada A3 dan A4. Jika salah satu alamat tersebut dikirim oleh mikroprosesor maka IC 7430 akan aktif ‘0’ yang diumpankan ke CS dari IC 8255 untuk mengaktifkannya dan ke E dari IC 74LS245 untuk mengaktifkan IC ini. Sebagai contoh misalnya mikroprosesor ingin mengirimkan data ke Port A dari rangkaian interface. Misal memakai alamat 300H maka untuk mengakses Port A dikirimkan alamat 300H dengan sendirinya CS dari IC 8255 dan E dari IC 74LS245 aktif lalu mikroprosesor mengirimkan data misal 80H dan bersamaan dengan itu mengirimkan sinyal kontrol WR ke IC 8255 dan dengan sendirinya sinyal kontrol RD dalam kondisi logika ‘0’ maka pin DIR dari IC 74LS245 menerima logika ‘1’ yang artinya akan melewatkan dari 8-bit A ke 8-bit B. Begitu juga sebaliknya, jika membaca data di suatu port maka sinyal kontrol RD yang berlogika ‘0’ sehingga pin DIR berlogika ‘0’ yang artinya data dilewatkan dari 8-bit B ke 8-bit A.
1. Memakai decoder Nand Gate IC 74LS30
Gambar 5 Rangkaian interface dengan decoder nand
2. Memakai decoder IC 74LS138
Gambar 6 Rangkaian interface dengan decoder 74LS138
Rangkaian ini beralamat 300H yang membuat output Y4 dari IC decoder 74LS138 berlogika ‘0’ karena A8 dari slot ISA dihubungkan ke input C dari IC 74LS138. Selain itu rangkaian interface dilengkapi dengan aplikasi led yang terhubung ke Port A dan switch yang terhubung ke Port B serta Port C tidak terhubung, seperti gambar 74. Maka dalam program inisialisasi Port A sebagai output, Port B sebagai input dan Port C bisa sebagai Input atau Output karena tidak terhubung ke suatu rangkaian aplikasi.
a. Buka aplikasi Proteus
b. Buat Program pada software seperti gambar
c. Jalankan Program sehingga tampil pada layar