Anda di halaman 1dari 8

3.

Programmable Peripheral Interface (PPI 8255)


24 Bit Programmable I/O
Kompatibel dengan semua TTL
Kompatibel dengan semua processor INTEL
Tersedia dalam 40 pin DIP dan 44 PLCC
8255 INTEL didisain untuk peralatan I/O yang dapat diprogram dengan
menggunakan mikroprosesor INTEL. IC ini mempunyai 24 pin I/O yang
dapat diprogram secara terpisah dalam 2 kelompok yang masing-masing
terdiri dari 12 bit dan digunakan dalam 3 mode operasi yang utama.

3.1. Diskripsi fungsional 8255


PPI 8255 dari INTEL adalah chip paralel yang sederhana.
Keuntungan utamanya adalah interface yang sederhana dari 8 port 8 bit
bidirectional. PPI mengandung register control dan tiga port terpisah yang
mampu dialamati, disebut port A,B dan C (gambar 3.1).

gambar 3.1 pin dari 8255

Minimum sistem 8088

13

Diakses tidaknya PPI ini ditentukan dari sinyal pada pin CS dan
arah akses sesuai dengan sinyal RD dan WR. Pin A0 dan A1 menentukan
register mana yang dialamati. Tabel 3.1 menunjukkan bagaimana 4 buah
internal register (port) diakses untuk operasi pembacaan dan operasi
penulisan oleh CPU.

3.2. Data Bus Buffer


8 bit buffer tristate 2 arah digunakan untuk perantara 8255 dengan
sistem data bus. Data dikirim atau diterima oleh buffer tergantung kepada
instruksi input atau output oleh CPU. Informasi kontrol dan status juga
dikirim lewat buffer data bus.

3.3. Read / Write dan Logika Kontrol


Fungsi dari blok berikut adalah untuk mengatur transfer internal dan
eksternal dari data, kontrol dan status, menerima input dari alamat CPU dan
bus kontrol kemudian memberi perintah ke group kontrol (gambar 3.2).
GROUP A
CONTROL

8 BIT
BIDIRECTIONAL

GROUP A
PORT
A

GROUP A
PORT C
UPPER

DATA
BUS
BUFFER

GROUP B
PORT C
LOWER

RD
WR
A1
A0

READ/
WRITE
CONTROL
LOGIC

RESET

GROUP B
PORT
B

I/O

I/O

I/O

I/O

GROUP B
CONTROL

CS

gambar 3.2 Diagram blok 8255

Minimum sistem 8088

14

3.4. Fungsi pin 8255


CS (chip select) :
Input LOW akan mengaktifkan IC sehingga dapat dipakai
untuk komunikasi data antara 8255 dan CPU.
RD (read)

Input LOW akan mengaktifkan IC sehingga dapat meng-ambil


data dan status dari data luar ke CPU.
WR (write)

Input LOW akan mengaktifkan IC sehingga dapat mengi-rim


data dan status dari CPU ke perangkat luar.
Ao dan A1:
Pin ini digunakan untuk memilih port yang akan digunakan.
RESET :
Jika input HIGH, maka IC akan menghapus semua register dan
port A,B,C dan diset dalam mode input.

Tabel 3.1 Tabel kebenaran 8255


A1
0
0
1
0
0
1
1
x
1
x

A0
0
1
0
0
1
0
1
x
1
x

Minimum sistem 8088

RD
0
0
0
1
1
1
1
x
0
1

WR
1
1
1
0
0
0
0
x
1
1

CS
0
0
0
0
0
0
0
1
0
0

Keterangan
port A => data bus
port B => data bus
port C => data bus
databus => port A
databus => port B
databus => portC
databus => control
databus => tri state
ilegal condition
databus => tri state

15

3.5. Kontrol group A dan B


Fungsi konfigurasi dari masing-masing port ditentukan oleh
program dari software. Software tersebut berisi tentang informasi control
word, mode dan bit set/reset yang kemudian dikirim oleh CPU ke 8255.
Masing-masing blok kontrol menerima perintah dari sinyal
READ/WRITE dan Control Word dari data bus internal yang kemudian
akan memfungsikan port sesuai dengan informasi yang dibawa.
Group A terdiri dari port A dan port C upper ( C4 - C7)
Group B terdiri dari port B dan port C lower (C0 - C3)

3.6. Port A,B dan C


IC ini berisi 3 port 8 bit (A,B dan C). Semua port dapat dikonfigurasi
sesuai dengan karakteristik fungsinya yang ditentukan dari programnya.
Port A

: 8 bit data output latch/buffer dan 8 bit data input latch

Port B

: 8 bit data input/output latch/buffer dan 8 bit data input


buffer

Port C

: 8 bit data output latch/buffer dan 8 bit data input


buffer(input tidak latch).

Port ini dapat dibagi menjadi 4 bit port tergantung kepada kontrol
modenya. Masing-masing 4 bit latch dan dapat digunakan untuk output sinyal
kontrol dan input sinyal status
Karena bit-bit dalam port C kadang-kadang digunakan sebagai bit
kontrol, 8255 dirancang sehingga bit-bit itu dapat dikeluarkan secara
individual menggunakan instruksi set reset. Ketika PPI menerima satu byte
yang diarahkan ke register kontrolnya, PPI akan memeriksa data 7. Jika

Minimum sistem 8088

16

berharga 1 maka datanya ditransfer ke register kontrol, tetapi jika 0 datanya


diperlakukan sebagai instruksi set reset.
Bit-bit dalam tiga port dihubungkan ke pin-pin yang dapat
dihubungkan ke peralatan I/O. Bit-bit ini dibagi dalam group-group A dan B,
dimana group A terdiri dari bit-bit output dan empat MSB port C sedang
group B terdiri dari port B dan empat LSB port C. Kegunaan dari masingmasing group dikontrol oleh mode yang berhubungan dengannya. Modemodenya ditentukan oleh isi dari register kontrol, seperti gambar 3.3. Group
A dihubungkan dengan satu dari tiga mode yaitu mode 0, 1 dan 2, sedang
group B dapat dihubungkan dengan satu dari 2 mode yaitu mode 0 dan 1.
D7

D6

D5

D4

D3

D2

D1

D0

port C lower :
0 : output
1 : input
port B 0 : output
1 : input
mode 0 : 0
1:1
port C upper 0 : output
1 : input
port A 0 : output
1 : input
mode 0 : 00
1 : 01
2 : 10
1 : set flag
gambar 3.3 format control word

Dari gambar di atas terlihat bahwa bit D0 sampai D2 merupakan


bagian group B. Bit D0 mengatur 4 bit bawah dari port C, yaitu sebagai

Minimum sistem 8088

17

input jika logikanya HIGH dan output jika logikanya LOW. Bit D1 mengatur
fungsi port B sebagai input jika logikanya HIGH dan output jika LOW. Bit
D2 menentukan mode operasi dari port B dimana terdapat 2 mode operasi,
yaitu : mode 0 jika logikanya LOW dan mode 1 jika HIGH. Bit D3 sampai
D6 merupakan bagian grup A dimana bit D3 menentukan operasi kerja 4 bit
atas port C dan bit D4 untuk operasi kerja port A. Untuk bit D5 dan D6
berfungsi untuk memilih salah satu dari 3 mode operasi, yaitu : mode 0,
mode 1 dan mode 2.Bit D7 merupakan mode set flag yang harus HIGH jika
mode operasi akan diubah.

3.7. Pengoperasian PPI 8255


Mode kerja dari PPI 8255 dioperasikan dalam tiga mode, yaitu:

Mode 0 : Basic Input/Output


Mode ini disebut juga mode simple I/O operation. Pada
mode 0 port berfungsi sebagai masukan atau keluaran
tanpa strobe. Bila port A dan B bekerja dalam mode
0,maka port C dapat bekerja sebagai port 8 bit dan juga
dapat bekerja sebagai port 4 bit secara terpisah. Bila
digunakan sebagai keluaran, port C secara terpisah dapat
di SET dan RESET dengan mengirim sinyal CONTROL
WORD tertentu ke alamat register kontrol.

Minimum sistem 8088

18

RD/WR

DATA BUS

ADDRESS BUS

8255

B
8 bit I/O

4 bit I/O

A
4 bit I/O

8 bit I/O

gambar 3.4 diagram blok mode 0

Mode 1 : Strobed Input/Output


Jika diinginkan port A dan B bekerja sebagai masukan dan
keluaran strobe, maka port harus diinisialisasi pada mode
1. Pada mode ini beberapa pin dari port C difungsikan
sebagai jalur strobe. PC0, PC1,PC2 difungsikan sebagai
strobe untuk port B. Jika port A diinisialisasi sebagai port
keluaran handshake,

maka

PC3,PC6,PC7

berfungsi

sebagai sinyal handshake. PC4,PC5 dapat digunakan


sebagai jalur masukan atau keluaran.
RD/W R

DATA BUS

ADDRESS BUS

8255

B
8 bit I/O

control
or I/O

A
control
or I/O

8 bit I/O

gambar 3.5 diagram blok mode 1

Minimum sistem 8088

19

Mode 2 : Bi-directional Bus


Hanya port A yang dapat diinisialisasi pada mode 2. Port
A dapat digunakan sebagai transfer data 2 arah. PC3
sampai PC7 digunakan sebagai jalur strobe untuk port A
dan PC0 - PC2 dapat digunakan sebagai masukan atau
keluaran bila port B digunakan dalam mode 0. Bila port B
dalam mode 1, maka PC0 - PC2 digunakan sebagai strobe
untuk port B.

RD/WR

DATA BUS

ADDRESS BUS

8255

B
8 bit I/O

I/O

control

8 bidirectional

gambar 3.6 diagram blok mode 2

Minimum sistem 8088

20