Anda di halaman 1dari 28
PPIPPI (Programable(Programable PeriperalPeriperal Interface)Interface) 82558255 Kuliah Pertemuan VII Sistem Berbasis
PPIPPI (Programable(Programable PeriperalPeriperal
Interface)Interface) 82558255
Kuliah Pertemuan VII
Sistem Berbasis
Mikroprosesor
Lie Jasa
ModulModul I/OI/O Merupakan peralatan antarmuka (interface) bagi sistem bus atau perangkat peripheral. Tidak hanya
ModulModul I/OI/O
Merupakan peralatan antarmuka
(interface) bagi sistem bus atau
perangkat peripheral.
Tidak hanya sekedar modul penghubung,
tetapi sebuah piranti yang berisi logika
dalam melakukan fungsi komunikasi
antara peripheral.
IsolatedIsolated I/OI/O
IsolatedIsolated I/OI/O
MemoryMemory MappedMapped I/OI/O
MemoryMemory MappedMapped I/OI/O
MinimumMinimum ModeMode 80888088 I/OI/O interfaceinterface
MinimumMinimum ModeMode 80888088 I/OI/O interfaceinterface
MinimumMinimum ModeMode 80868086 I/OI/O interfaceinterface
MinimumMinimum ModeMode 80868086 I/OI/O interfaceinterface
Programmable Peripheral Interface Intel 8255A •• MenggunakanMenggunakan I/OI/O terprogramterprogram ••
Programmable Peripheral
Interface Intel 8255A
•• MenggunakanMenggunakan I/OI/O terprogramterprogram
•• InterruptInterrupt drivendriven I/OI/O
•• DirancangDirancang untukuntuk keperluankeperluan mikroprosesormikroprosesor
80868086
Programmable Peripheral Interface Intel 8255A • IC 8255 adalah sebuah antarmuka yang dapat menggerakkan
Programmable Peripheral Interface
Intel 8255A
• IC 8255 adalah sebuah antarmuka yang dapat
menggerakkan piranti/peralatan/peripheral berbentuk
Integrated Circuit (IC) yang dapat diprogram dan
bekerja pada Mikroprosessor intel dan kompatibelnya.
• 8255 menyediakan 3 buah port I/O yang masing
masing berisi 8 bit dan masing - masing portnya
saling berdiri sendiri.
• IC 8255 adalah peralatan yang berkenaan dengan
operasi data paralel input maupun output (Paralel I/O
= PIO). Fungsi dari 3 buah port I/O yang ada adalah
sebagai berikut :
ModulModul I/OI/O PPIPPI 82558255 • Bagian kanan dari blok diagram Intel 8255A – 24 saluran
ModulModul I/OI/O PPIPPI 82558255
• Bagian kanan dari blok diagram Intel 8255A
– 24 saluran antarmuka luar
• 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.
– 8 bus data dua arah (D0 – D7)
– bus alamat
– bus kontrol yang terdiri atas saluran CHIP SELECT,
READ, WRITE, dan RESET
ModulModul I/OI/O PPIPPI 82558255 • Pengaturan mode operasi pada register kontrol dilakukan oleh mikroprosesor •
ModulModul I/OI/O PPIPPI 82558255
• Pengaturan mode operasi pada register kontrol
dilakukan oleh mikroprosesor
• Mode 0, ketiga port berfungsi sebagai tiga port
I/O 8 bit
• 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
ModulModul I/OI/O PPIPPI 82558255
ModulModul I/OI/O PPIPPI 82558255
PPIPPI 82558255
PPIPPI 82558255
–– PortPort AA : Terdiri dari bagian Input 8 bit atau Output 8 bit. (bisa
–– PortPort AA : Terdiri dari bagian Input 8
bit atau Output 8 bit. (bisa
berfungsi sebagai Input / Output)
–– PortPort BB : terdiri dari sebuah bagian
I/O
yang
terdiri
dari 8 bit dan
sebuah Input buffer data 8 bit.
(bisa
berfungsi
sebagai
Input
/
Output)
–– PortPort CC : Terdiri dari satu bagian
output 8 bit dan satu bagian input
8 bit.
– Pada mode 1 dan 2; Port C dibagi
atas dua bagian yang masing -
masing
mempunyai
lebar 4 bit.
(bisa
berfungsi
sebagai
Input
/
Output)
PPI 8255 mempunyai 3 mode kerja : 1.1. MODEMODE 00 sebagaisebagai BASICBASIC INPUTINPUT OUTPUTOUTPUT Semua
PPI 8255 mempunyai 3 mode kerja :
1.1. MODEMODE 00 sebagaisebagai BASICBASIC INPUTINPUT OUTPUTOUTPUT
Semua Port I/O dipakai sebagai Input dan Output.
Tidak diperlukan sinyal “ Handshake “. Data langsung
ditulis atau dibaca dari port yang bersangkutan. Fungsi
dasar dari 8255 mode 0 adalah :
– Dua Port-8 bit (Port A & B) serta 2 Port - 4 bit (Port
c).
– Setiap Port dapat dipakai sebagai input atau output.
– Output
di-latch
(ditahan);
input
tidak
di-latch
(ditahan).
– Menyediakan 16 kombinasi konfigurasi input/output
pada mode ini. ( Dapat dilihat dari control wordnya )
2. MODEMODE 11 sebagaisebagai STROBESTROBE INPUT/OUTPUT.INPUT/OUTPUT. Sebagai penyalur data I/O dari atau ke port yang
2. MODEMODE 11 sebagaisebagai STROBESTROBE INPUT/OUTPUT.INPUT/OUTPUT.
Sebagai penyalur data I/O dari atau ke port yang
dimaksud yang berhubungan dengan sinyal strobe
(sinyal kontrol) memakai aturan “Handshake”. Port A
dan Port B dipakai untuk jalur transfer data. Port C untuk
menghasilkan atau menerima sinyal “Handshake”
tersebut. Definisi fungsional dari mode 1 adalah :
– 2 kelompok sinyal kontrol dengan Handshake.
– Tiap kelompok terdiri dari satu buah port data 8 bit
(port A atau B) dan satu buah port kontrol/data 4 bit.
– Port data-8 bit dapat digunakan sebagai input
ataupun output. Keduanya dapat di- latch.
– 4 Port lainnya (4 bit) dipakai untuk port kontrol/status
dari port data 8 bit. 1 bit lagi dipakai untuk port data
input/output.
3. MODEMODE 22 sebagaisebagai STROBEDSTROBED BIDIRECTIONALBIDIRECTIONAL BUSBUS I/OI/O Mode ini setiap data port
3. MODEMODE 22 sebagaisebagai STROBEDSTROBED BIDIRECTIONALBIDIRECTIONAL BUSBUS I/OI/O
Mode ini setiap data port membutuhkan 5 sinyal
kontrol sehingga hanya kontrol grup A yang
terdapat pada mode ini.Fungsinya mirip dengan
mode 1, hanya arah datanya Bidirectional (Dua
arah). Fungsi dasar dari mode 2 :
– Digunakan hanya dalam grup A.
– Sebuah port bus 8 bit Bidirectional (port A)
dan 5 bit port kontrol (port c).
– Data input dan output di-latch.
INPUT/OUTPUTINPUT/OUTPUT INSTRUCTIONSINSTRUCTIONS Contoh: Tuliskan urutan instruksi Output data dengan lebar FFh pada
INPUT/OUTPUTINPUT/OUTPUT INSTRUCTIONSINSTRUCTIONS
Contoh: Tuliskan urutan instruksi Output data dengan
lebar FFh pada alamat ABh pada allokasi address
kosong.
MOVMOV AL,0FFhAL,0FFh
OUTOUT 0ABh,0ABh, ALAL
Contoh: Data dibaca sebesar dua byte dari input ports address AAhAAh dan A9HA9H dan selanjutnya
Contoh: Data dibaca sebesar dua byte dari
input ports address AAhAAh dan A9HA9H dan
selanjutnya data dikeluarkan ke Word-
wide port keluaran alamat B000hB000h
ININ AL,AL, 0AAh0AAh
MOVMOV AH,AH, ALAL
ININ AL,AL, 0A9h0A9h
MOVMOV DX,DX, 0B000h0B000h
OUTOUT DX,DX, AXAX
InputInput BusBus CycleCycle ofof 80888088
InputInput BusBus CycleCycle ofof 80888088
OutputOutput BusBus CycleCycle ofof 80888088
OutputOutput BusBus CycleCycle ofof 80888088
InputInput BusBus CycleCycle ofof 80868086
InputInput BusBus CycleCycle ofof 80868086
AddressingAddressing 82558255
AddressingAddressing 82558255
Contoh : Menentukan Control Word •Temukan Control Word – PA = out – PB =
Contoh : Menentukan Control Word
•Temukan Control Word
– PA = out
– PB = in
– PC0 – PC3 = in
– PC4 – PC7 = out
• Program the 8255 to get data from port B and send it to port
A; in addition data from PCL is sent out to the PCU
• Use port addresses 300h – 303h for the 8255 chip
Control Word:
The control word should be 1000 0011b = 83h
The Program B8255 CNTL EQU 300h EQU 83h MOV DX, B8255+3 MOV AL, CNTL OUT
The Program
B8255
CNTL
EQU 300h
EQU 83h
MOV DX, B8255+3
MOV AL, CNTL
OUT DX, AL
MOV DX, B8255+1
IN AL, DX
MOV DX, B8255
OUT DX, AL
MOV DX, 8255+2
IN AL, DX
AND AL, 0Fh
MOV CL, 4
ROL AL, CL
OUT DX, AL