Anda di halaman 1dari 15

Modul I/O PPI intel 8255A

Programmable Peripheral Interface Intel 8255A

Contoh modul I/O yang menggunakan I/O


terprogram dan interrupt driven I/O adalah Intel 8255A
Programmable Peripheral Interface (PPI). Intel 8255A
dirancang untuk keperluan mikroprosesor 8086.
Skema konektor dari IC PPI 8255A adalah sebagai berikut:
Skema blok diagram didalam PPI 8255A adalah sebagai
berikut :
Bagian kanan dari blok diagram Intel 8255A adalah
24 saluran antarmuka luar, terdiri atas 8 bit port A, 8 bit
port B, 4 bit port CA dan 4 bit port CB. Saluran tersebut
dapat diprogram dari mikroprosesor 8086 dengan
menggunakan register kontrol untuk menentukan
bermacam – macam mode operasi dan konfigurasinya.

Bagian kiri blok diagram merupakan interface


internal dengan mikroprosesor 8086. Saluran ini terdiri
atas 8 bus data dua arah (D0 – D7), bus alamat, dan bus
kontrol yang terdiri atas saluran CHIP SELECT, READ,
WRITE, dan RESET. Pengaturan mode operasi pada
register kontrol dilakukan oleh mikroprosesor.
Pada Mode 0, ketiga port berfungsi sebagai tiga port
I/O 8 bit. Pada mode lain dapat port A dan port B sebagai
port I/O 8 bit, sedangkan port C sebagai pengontrol
saluran port A dan B.

PPI Intel 8255A dapat diprogram untuk mengontrol


berbagai peripheral sederhana. contoh penggunaan 8255A
untuk modul I/O Keyboard dan display.
Format inisialisasi Port pada PPI 8255A :
D7 D6 D5 D4 D3 D2 D1 D0

Flag Mode PA PCH Mode PB PCL

Keterangan: Mode (D6, D5) PA, PCH, PB, PCL


1 = Inisialisasi 00 = mode 0 0 = output
01 = mode 1 1= input
1X = mode 2
Mode (D2)
0 = mode 0
1 = mode 1
Teknik Bit Set / Reset
D7 D6 D5 D4 D3 D2 D1 D0

0 x x x Bit Selector S/R

Keterangan :

D7 = 0 ( digunakan sebagai bit set-reset)

D6, D5, D4 = X, don’t care ( terserah diisi berapa aja, 0 atau 1 )

D3, D2, D1 = Bit selector


( Port C keberapa yang ingin di Set atau di Reset)

D0 = S/R ( Set = 1, Reset = 0)


Modul Motor DC
1. Kinerja Alat
 Inisialisasi
F M M PA PCh M PB PCl

 Arah (PC 5)
D7 D6 D5 D4 D3 D2 D1 D0

 Kecepatan Motor (PC 6)


D7 D6 D5 D4 D3 D2 D1 D0
Rumus rpm
RPM = Digital/18 * 1/0.2 * 60

Cara mempercepat atau memperlambat kecepatan


motor dc :
 Apabila Ingin putarannya kencang, onc kasih delay yang
besar, ofc kasih delay kecil
 Apabila Ingin putarannya pelan, onc kasih delay kecil,
ofc delay yang besar
 Apabila Ingin berhenti, ofc kasih delay 100%
Uses crt, dos; repeat delay (25);
Var port [cp] := $D; until keypressed;
arah : char ; delay (75); end;
rpm : real; port [cp] := $C; digital := port [pa];
digital : integer; delay (25); rpm := (digital / 18 ) * (1 /
Const until keypressed; 0,2) * 60;
pa = $280; writeln (‘rpm :‘, rpm :4 :2);
pc = $282; end; end.
cp = $283; if arah = ‘b’ then
Begin begin
Port [cp] := $90; port [cp] := $A;
arah := readkey; repeat
If arah = ‘a’ then port [cp] := $D;
Begin delay (75);
port [cp] := $B; port [cp] := $C;
Latihan...
1. Buatlah format inisialiasi port PPI 8255A jika diketahui:
a. PORT A sebagai input c. PORT A sebagai input
PORT B sebagai output PORT B sebagai output
PORT C7 sebagai output PORT Ch sebagai input
PORT C0 sebagai input PORT Cl sebagai output
b. PORT A sebagai output d. PORT A sebagai input
PORT B sebagai output PORT B sebagai output
PORT C sebagai output PORT C sebagai input
e. PORT A sebagai output
PORT B sebagai output
PORT C6 sebagai input
PORT C5 sebagai input
PORT C3 sebagai output
2. Buatlah dengan teknik bit set/reset:
a. PortC 7 (Reset dan Set)
b. PortC 0 (Set)
c. PortC 3 (Reset)
d. PortC 5 (Set dan Reset)
e. PortC 6 (Set)

Anda mungkin juga menyukai