Anda di halaman 1dari 6

PPI 8255

Untuk mengirimkan data ke perangkat luar, P8088 dapat menggunakan latch (FlipFlop) untuk menyimpan data tersebut sampai ada data baru yang ingin dikirim P 8088. Sedangkan untuk menerima data, diperlukan pula suatu latch untuk menyimpan data, sampai P 8088 memiliki waktu untuk mengambil data tersebut. Sebuah latch hanya dapat digunakan untuk satu arah saja : output atau input. Untuk sistem yang kompleks, implementasi dengan PPI 8255 (Programmable Peripheral Interface) akan sangat memudahkan dan menyederhanakan sistem. Hal ini disebabkan karena PPI 8255 memiliki 3 latch yang dapat diprogram sesuka kita, apakah ingin dibuat sebagao input latch atau sebagai output latch. Skema konektor dari IC PPI 8255 adalah sebagai berikut :
PA3 PA2 PA1 PA0
read CS ground A1 A0 PC7 PC6 PC5 PC4 PC0 PC1 PC2 PC3 PB0 PB1 PB2

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

8255

40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21

PA4 PA5 PA6 PA7


write

reset D0 D1 D2 D3 D4 D5 D6 D7 Vcc PB7 PB6 PB5 PB4 PB3

Terlihat pada skema diatas, PPI 8255 : 1. memiliki 3 port : port A (pin 1-4 dan 37-40), port B (pin 18-25), port C (pin 10-17) 2. masing-masing port tersebut dapat diprogram menjadi port input maupun sebagai port output atau keduanya. Dan jika dibutuhkan, port C dapat diprogram sebagai port kontrol 3. address line A0 (pin 8) dan A1 (pin 9) digunakan untuk memilih salah satu port yg ingin diakses.

Edy Prasetiyo (5223093033)

Tugas Interface

Skema blok diagram didalam PPI 8255 adalah sebagai berikut :

D0 - D7

DATA BUS BUFFER

REGISTER DATA A

PA0 - PA7

Group A A0 A1

2 TO 4 DECODER

PC0 - PC3 REGISTER DATA C PC4 - PC7

REGISTER CONTROL

Group B
REGISTER DATA B

PB0 - PB7

RD WR

READ/WRITE CONTROL LOGIC

Terlihat bahwa PPI 8255 memiliki 3 port I/O (setiap port memiliki lebar 8 bit). Ketiga port tersebut diberi nama port A, port B, dan port C. Register 8255 8255 menyediakan 4 buah register 8-bit : diakses saat A0 A1 0 0 0 1 1 0 1 1 keterangan register ini menyimpan data dari/untuk port A register ini menyimpan data dari/untuk port B register ini menyimpan data dari/untuk port C register untuk mengontrol kerja 3 register lainnya

Register data A Register data B Register data C Register kontrol

Edy Prasetiyo (5223093033)

Tugas Interface

Register data A, register data B, dan register kontrol hanya dapat diakses dalam format 8bit. Register data C dapat diakses dalam 2 nibble (2 x 4 bit) yaitu Lower C (C0 C3) dan Upper C (C4 C7) Programming 8255 Dengan mengirim suatu informasi selebar 1 byte ke register kontrol, kita dapat memprogram kerja dari port A, B, dan C. Informasi ini disebut juga dengan Control Word. Control Word A berfungsi untuk memprogram kerja setiap port, sedangkan Control Word B berfungsi untuk menSet atau meReset salah satu bit di Port C.

Control Word A : untuk memprogram kerja port


1 D6 D5 D4 D3 D2 D1 D0

Group B
Tipe Port C Lower (PC0-PC3) 0 output 1 input Tipe Port B 0 output 1 input Mode Selector 0 mode 0 1 mode 1

Group A
Tipe Port C Upper (PC4-PC7) 0 output 1 input Tipe Port A 0 output 1 input Mode Selector 00 mode 0 01 mode 1 1X mode 2

Edy Prasetiyo (5223093033)

Tugas Interface

Control Word B : menSet/Reset salah satu bit di Port C saat 8255 bekerja pada mode
0 X X X D3 D2 D1 D0
Set / Reset selected bit in Port C below 0 reset 1 set Select a specific bit in Port C 000 select Port C bit 0 001 select Port C bit 1 010 select Port C bit 2 011 select Port C bit 3 100 select Port C bit 4 101 select Port C bit 5 110 select Port C bit 6 111 select Port C bit 7

Karena masing-masing port dapat diprogram sebagai buffer input maupun output, maka untuk memudahkan, 8255 didesain khusus untuk menerima 3 mode kerja : 1. mode 0 : Basic I/O pada mode ini setiap port bekerja secara independen. masing-masing dapat bekerja sebagai input atau output.

MODE 0 - 8255
Port B
8 lines 4 lines

Port C
4 lines

Port A
8 lines

I/O

I/O

I/O

PB7 - PB0

PC7 - PC4

PC3 - PC0

PA7 - PA0

Control Word A : D7 1 D6 0 D5 0 D4 A D3 CU D2 0 D1 B D0 CL

Edy Prasetiyo (5223093033)

Tugas Interface

A = 0 (port A sbg Output); B = 0 (port B sbg Output); CU = 0 (Port C Upper sbg output); CL = 0 (Port C Lower sbg Output) 2. mode 1 : Strobe I/O

MODE 1 - 8255
Port B
8 lines

Port C

Port A
8 lines

I/O

Control atau I/O

I/O

PB7 - PB0

PC7 - PC4

PC3 - PC0

PA7 - PA0

Control Word A : D7 1 D6 0 D5 1 D4 A D3 CU D2 1 D1 B D0 CL

A = 0 (port A sbg Output); B = 0 (port B sbg Output); CU = 0 (Port C Upper sbg output); CL = 0 (Port C Lower sbg Output) Control Word B : D7 1 a 0 0 0 0 1 1 1 1 D6 D5 D4 dont care b 0 0 1 1 0 0 1 1 c 0 1 0 1 0 1 0 1 D3 a D2 b D1 c D0 0/1

bit di register C yg diakses C0 C1 C2 C3 C4 C5 C6 C7

Edy Prasetiyo (5223093033)

Tugas Interface

3. mode 2 : Bidirectional I/O

MODE 2 - 8255
Port B
8 lines

Port C

Port A
8 lines

Bidirectional

I/O

Control

Bidirectional

PB7 - PB0

PC7 - PC5

PC4 - PC0

PA7 - PA0

Control Word A : D7 1 D6 1 D5 X D4 A D3 CU D2 1 D1 B D0 CL

A = 0 (port A sbg Output); B = 0 (port B sbg Output); CU = 0 (Port C Upper sbg output); CL = 0 (Port C Lower sbg Output) Control Word B : D7 1 a 0 0 0 0 1 1 1 1 D6 D5 D4 dont care b 0 0 1 1 0 0 1 1 c 0 1 0 1 0 1 0 1 D3 a D2 b D1 c D0 0/1

bit di register C yg diakses C0 C1 C2 C3 C4 C5 C6 C7

Edy Prasetiyo (5223093033)

Tugas Interface