materi 7 ppi
TRANSCRIPT
-
7/22/2019 Materi 7 Ppi
1/53
Programmable Peripheral Interface
(PPI) 8255
-
7/22/2019 Materi 7 Ppi
2/53
PPI 8255
PPI adalah modul IO paralel
yang dapat digunakan untuk
operasi IO dengan teknikProgrammed IO dan Interrupt
driven IO.
-
7/22/2019 Materi 7 Ppi
3/53
Blok diagram PPI 8255
-
7/22/2019 Materi 7 Ppi
4/53
PPI 8255
Bagian sebelah kanan dari blok di atas adalah
interface eksternal ke peripheral (saluran PA7-PA0,
PB7-PB0, dan PC7-PC0), sedangkan bagian
sebelah kiri adalah interface internal ke
mikroprosesor.
PPI memiliki 3 buah port, yaitu Port A, Port B, dan
Port C. Selain itu PPI juga memiliki sebuah Control
Register.
Masing-masing port dan Control Register
membutuhkan satu alamat, sehingga PPI
membutuhkan 4 buah alamat.
Saluran masukan A1 dan A0 (pada bagian kiri blok)
digunakan untuk memilih salah satu alamat.
-
7/22/2019 Materi 7 Ppi
5/53
PPI 8255
Port A dan Port B adalah port 8
bit, artinya dapat digunakan untuk
input output data 8 bit. Sedangkan Port C, selain dapat
digunakan sebagai port 8 bit juga
dapat digunakan sebagai 2 buahport 4 bit (Port C upper dan Port C
lower).
-
7/22/2019 Materi 7 Ppi
6/53
Tabel Kebenaran PPI 8255
-
7/22/2019 Materi 7 Ppi
7/53
Metode transfer data paralel
Terdapat 4 metode transfer data
paralel, yaitu:
Simple Input and OutputSimple Strobe I/O
Single handshake I/O
Double handshake I/O
-
7/22/2019 Materi 7 Ppi
8/53
Simple Input and Output
Metode transfer ini digunakan untuk operasi
input atau output pada peralatan yang
selalu berada dalam keadaan siap (ready)
seperti sensor dan LED.
-
7/22/2019 Materi 7 Ppi
9/53
Simple Strobe I/O
Pada periperal tertentu, data hanya tersedia pada waktu
tertentu saja. Untuk memperoleh data yang valid,pembacaan harus dilakukan pada saat tersebut.
Contoh peralatan yang menggunakan metode ini adalah
keyboard.
Data dari keyboard ada hanya pada saat-saat tertentu,
yaitu pada saat tombol ditekan dan pada saat tersebut
data valid. Untuk memberitahu komponen lain bahwa
ada data valid, keyboard menghasilkan sinyal strobe.
-
7/22/2019 Materi 7 Ppi
10/53
Single handshake I/O
Metode transfer Simple Strobe I/O cocok digunakan
untuk transfer data dengan kecepatan rendah. Jikakomponen pengirim dapat mengirimkan data dengan
kecepatan yang lebih tinggi dibanding yang dapat
diterima oleh komponen penerima, maka metode
tersebut tidak cocok digunakan.
Untuk itu harus digunakan "handshaking" atau tanyajawab antar kedua komponen.
-
7/22/2019 Materi 7 Ppi
11/53
Double handshake I/O
Jika koordinasi yang lebih baik diperlukan, maka digunakan
2 buah "handshaking. Pada double handshake tiap tepi sinyal memiliki arti.
Sebelum mengirimkan data pengirim terlebih dahulu
menanyakan kesiapan penerima dengan menurunkan
sinyal Strobe.
Jika siap, penerima akan memberitahu pengirim dengancara menaikkan sinyal Acknowledge.
Selanjutnya pengirim mengirimkan data, dan memberitahu
penerima bahwa data telah dikirim dengan cara menaikkan
sinyal Strobe.
Dan apabila data tersebut telah diterima, penerima
menurunkan sinyal Acknowledge dan ini sekaligus berarti
meminta pengirim mengirim data berikutnya.
-
7/22/2019 Materi 7 Ppi
12/53
Double handshake I/O
-
7/22/2019 Materi 7 Ppi
13/53
Mode Operasi PPI 8255
Mode 0
Mode 1
Mode 2
-
7/22/2019 Materi 7 Ppi
14/53
Mode Operasi PPI 8255
Mode O Operasi I/O dengan simple input output
tanpa menggunakan sinyal handshaking.
Jika port A dan port B diinisialisasi padamode 0, maka port C dapat digunakan
sebagai port 8 bit atau sebagai 2 buah
port 4 bit (C upper dan C lower) yang
berdiri sendiri.
-
7/22/2019 Materi 7 Ppi
15/53
Mode Operasi PPI 8255
Mode 1 Jika proses transfer data membutuhkan sinyalhandshaking, maka PPI diinisialisasi pada mode 1.
Jika port B diinisialisasi pada mode 1, maka saluranPC0, PC1, PC2 akan berfungsi sebagai saluran
handshake untuk port B. Jika port A diinisialisasi pada mode 1 sebagai port
input, maka saluran PC3, PC4, PC5 akan berfungsisebagai sinyal handshake untuk port A. Sedangkansaluran PC6 dan PC7 dapat digunakan sebagai
saluran input atau saluran output. Jika port A diinisialisasi pada mode 1 sebagai port
output, maka saluran PC3, PC6, PC7 akan berfungsisebagai sinyal handshake untuk port A. Sedangkanport PC4 dan PC5 dapat digunakan sebagai saluraninput atau output.
-
7/22/2019 Materi 7 Ppi
16/53
-
7/22/2019 Materi 7 Ppi
17/53
Insialisasi PPI
Sebelum dapat digunakan sebagai portinput atau port output PPI terlebih dahuluharus diinisialisasi. Berikut ini dijelaskancara mengiinisialisasi PPI.
Tentukan Control Word atau datapengontrolan berdasarkan sifat port-portyang telah ditentukan sebelumnya.
Untuk menentukan nilai tiap bit pada Control
Word, ikuti aturan pada tabel di halamanberikutnya.
Setelah Control Word ditentukan, isikanControl Word tersebut ke Control Register.
-
7/22/2019 Materi 7 Ppi
18/53
Tabel untukpenentuan
Control Word
-
7/22/2019 Materi 7 Ppi
19/53
Contoh 1:
Misalkan PPI akan diprogram agarberfungsi sebagai berikut:
Port B : sebagai port input pada mode 1.
Port A : sebagai port output pada mode 0.
Port C upper sebagai port input
Bit PC3 (Port C Lower) sebagai output.
Misalkan alamat dari Control Register
adalah 303 H.
-
7/22/2019 Materi 7 Ppi
20/53
Control Wordnya:
-
7/22/2019 Materi 7 Ppi
21/53
Program inisialisasinya :
MOV DX, 303 H
MOV AL, 10001110 B
OUT DX, AL
-
7/22/2019 Materi 7 Ppi
22/53
-
7/22/2019 Materi 7 Ppi
23/53
Program inisialisasinya :
MOV DX, 303 HMOV AL, 10000000 B
OUT DX, AL
Program output data (port A):
MOV DX, 300 H
MOV AL, 00001111 B
OUT DX, AL
C t h 3
-
7/22/2019 Materi 7 Ppi
24/53
Contoh 3:
Dengan menggunakan address decoder seperti padagambar di atas, tentukanlah alamat Port A,B,C dan Control
Register. Tentukanlah Control Word, diasumsikan port A dan C diset
sebagai port input.
Tuliskan program untuk menginisialisasi PPI.
Tuliskan program untuk menyalakan/mematikan LED-LEDseperti pada gambar di atas.
-
7/22/2019 Materi 7 Ppi
25/53
Contoh 4:
Program ini membaca data dari saklar yang terhubung ke port 300 H.
Jika saklar off (0) maka lampu-lampu yang terhubung ke port 301 Hakan padam. Jika saklar on (1) maka lampu-lampu yang terhubung
ke port 301 H akan menyala. Kedua port tersebut adalah port 8-bit.
-
7/22/2019 Materi 7 Ppi
26/53
-
7/22/2019 Materi 7 Ppi
27/53
Contoh 5:
Program ini membaca data dari sebuah sensor
suhu. Jika suhu lebih atau sama dengan 27 derajat,
heater akan dimatikan. Sebaliknya jika suhu
kurang dari 27 derajat, maka heater akan
dinyalakan. Dimisalkan sensor suhu terhubung ke port
dengan alamat FFFB H, sedangkan heater
terhubung ke port dengan alamat FFFA H.
Untuk menghidupkan heater pada port FFFA Hdikirimkan data 80 H, sedangkan untuk
mematikan heater pada port FFFA H dikirimkan
data 00 H.
-
7/22/2019 Materi 7 Ppi
28/53
CODE_HERE SEGMEN 'CODE'ASSUME CS:CODE_HERE
TEMP_IN: MOV DX,FFFB H ; baca data darisensor
IN AL,DX
CMP AL,27 ; uji denganbilangan 27
JB HEATER_ON ; jika di bawah 27
JMP HEATER_OFF ; jika di atas/sama dengan 27
HEATER_ON: MOV AL,80 H
MOV DX,FFFA H
OUT DX,AL ; hidupkan heater
JMP TEMP_IN ; baca lagi data darisensor
HEATER_OFF: MOV AL,00 H
MOV DX,FFFA H
OUT DX,AL
JMP TEMP_IN ; baca lagi data darisensor
CODE_HERE ENDS
-
7/22/2019 Materi 7 Ppi
29/53
Men-set/reset bit-bit port C
Selain digunakan untuk menentukan konfigurasi
port-port, control word juga digunakan untuk men-
set/reset bit-bit port C (PC0 .. PC7).
Apabila sebelumnya pada saat control word
digunakan untuk menentukan konfigurasi port, bit
D7 diisi dengan 1, pada saat control word
digunakan untuk men-set/reset nilai bit-bit port C,
nilai D7 haruslah diisi dengan 0.
-
7/22/2019 Materi 7 Ppi
30/53
Contoh:
Nilai bit PC3 akan diset.
Untuk itu ditentukan control wordnya sebagai
berikut:
-
7/22/2019 Materi 7 Ppi
31/53
Contoh:
Nilai bit PC5 akan direset.
Untuk itu ditentukan control wordnya sebagai
berikut:
-
7/22/2019 Materi 7 Ppi
32/53
Sama seperti control word untuk mengkonfigurasi
port, control word ini juga harus dikirimkan ke
control register. Jika alamat control register
adalah 303 H, maka program inisialisasinya
adalah:
MOV DX, 303 H
MOV AL, 00000111 B
OUT DX, AL
-
7/22/2019 Materi 7 Ppi
33/53
PPI 8255 pada mode 1 digunakan sebagai port
input
Ada 2 sinyal handshaking yang digunakan, yaitu : strobe
dan IBF (input buffer full). Sinyal strobe dihasilkan oleh
peripheral pengirim, sedangkan IBF dihasilkan oleh PPI.
-
7/22/2019 Materi 7 Ppi
34/53
PPI 8255 pada mode 1 digunakan sebagai
port output
Ada 2 sinyal handshaking yang digunakan, yaitu:
OBF (output buffer full) dan Acknowledge. Sinyal
OBF dihasilkan oleh PPI, sedangkan sinyal
acknowledge dihasilkan oleh peripheral penerima.
-
7/22/2019 Materi 7 Ppi
35/53
Contoh Aplikasi PPI: Pengontrolan mesin
bubut oleh mikrokomputer
Pada sistem ini operasi sebuah mesin bubut akan dikontrololeh mikrokomputer.
Mesin bubut digunakan untuk membuat berbagai jenis baut dari
batang stainless steel.
Data-data pemotongan untuk tiap baut tersimpan pada sebuah
metal tape..
Tape reader berfungsi membaca data-data yang tersimpan
pada metal tape.
Mikrokomputer akan membaca data tersebut dari tape reader.
Mikrokomputer juga akan selalu memantau kondisi mesinbubut untuk memastikan bahwa mesin bubut tidak kehabisan
bahan, minyak pelumasnya tidak habis, dan juga memastikan
mesin bubut tidak macet oleh berbagai sebab yang lain.
-
7/22/2019 Materi 7 Ppi
36/53
-
7/22/2019 Materi 7 Ppi
37/53
Pada aplikasi ini PPI terlebih dahulu
diinisialisasi dengan konfigurasi berikut:
Port A harus diinisialisasi sebagai port input pada mode
1 karena pembacaan data dari tape reader
membutuhkan sinkronisasi (menggunakan sinyal-sinyal
handshaking).
Port B digunakan untuk mengoutputkan datapengontrolan berupa sinyal on/off ke mesin bubut dan
operasi tersebut tidak membutuhkan sinyal-sinyal
handshaking. Untuk itu Port B diinisialisasi sebagai port
output pada mode 0.
Bit PC0, PC1, PC2 digunakan untuk menginputkan datasensor dari mesin bubut dan operasi ini pun tidak
membutuhkan sinyal handshaking sehingga port C
lower diinisialisasi pada mode 0 sebagai port input.
-
7/22/2019 Materi 7 Ppi
38/53
Bit PC3, PC4, PC5 berfungsi sebagai sinyal-
sinyal handshaking yang digunakan pada proses
transfer data dari tape readerke port A.
Bit PC6 digunakan untuk menghasilkan sinyalGO/STOP untuk menghidupkan/mematikan tape
reader. Untuk itu port C upper diinisialisasi
sebagai port output.
Bit PC7 tidak digunakan.
-
7/22/2019 Materi 7 Ppi
39/53
Untuk konfigurasi tersebut control
word-nya adalah sebagai berikut :
-
7/22/2019 Materi 7 Ppi
40/53
Cara Kerja Sistem :
PPI diinisialisasi
Sistem akan membaca port C bit PC0, PC1, PC2untuk mengecek apakah mesin bubut siap untukberoperasi. Pembacaan port C dilakukan denganmelakukan input dari alamat port C.
Jika mesin bubut siap, maka mikrokomputer akanmengeluarkan perintah START (GO) berupasinyal "low" melalui bit PC6.
Hal ini dilakukan dengan menggunakan perintah
set/reset command. Karena sinyal ini berupasinyal low, berarti bit PC6 harus direset. Controlword yang digunakan untuk mereset PC6:00001100 .
-
7/22/2019 Materi 7 Ppi
41/53
Cara Kerja Sistem :
Setelah tape reader menerima perintah START
(GO), tape reader akan mulai membaca data
dan mengirimkan datanya dalam bentuk data 8-
bit melalui saluran R0 sampai R7 ke port A.
Proses transfer data ini menggunakan sinyal-
sinyal handshaking untuk sinkronisasi sehingga
tape readerhanya akan mengirimkan data
berikutnya jika ada konfirmasi dari penerima
bahwa data telah berhasil diterima.
-
7/22/2019 Materi 7 Ppi
42/53
-
7/22/2019 Materi 7 Ppi
43/53
-
7/22/2019 Materi 7 Ppi
44/53
Diagram waktu proses transfer data
-
7/22/2019 Materi 7 Ppi
45/53
Data yang dibaca dari tape reader dieksekusi di
prosesor. Dan sebagai hasilnya mikrokomputer
akan mengoutputkan data-data pengontrolan
melalui port B ke mesin bubut.
-
7/22/2019 Materi 7 Ppi
46/53
-
7/22/2019 Materi 7 Ppi
47/53
Contoh:
MOV AL, 9D H (1001 1101 B)
AND AL, 3C H (00111100 B)
Hasilnya, isi AL = 1C H (00011100 B
-
7/22/2019 Materi 7 Ppi
48/53
-
7/22/2019 Materi 7 Ppi
49/53
Contoh program:
Berikut adalah sekumpulan instruksi untuk
mengetes bit paling kiri dan paling kanan dariregister AL. Di sini , 1 (1 H) dipilih untukmengetes bit paling kanan dan 128 (80 H) untukmengetes bit paling kiri.
TEST AL,1 H ; tes bit paling kanan
JNZ RIGHT ; jika bit paling kanan (bit 0) =1,jump ke label RIGHT
..
TEST AL, 80 H ; test bit paling kiri
JNZ LEFT ; jika bit paling kiri (bit 7) =1,jump ke label LEFT
-
7/22/2019 Materi 7 Ppi
50/53
-
7/22/2019 Materi 7 Ppi
51/53
I t k i CMP
-
7/22/2019 Materi 7 Ppi
52/53
Instruksi CMP
Penulisan : CMP destination,source
Fungsi : Membandingkan data pada destinationdengan data pada source.
Instruksi perbandingan (CMP) adalah bentuk penguranganyang hanya mengubah bit-bit flag, sedangkan operanddestination tidak berubah.
Jump
-
7/22/2019 Materi 7 Ppi
53/53
Jump
Istilah lebih besar (greater) dan lebih kecil (less)mengacu ke bilangan bertanda, sedangkan di
atas (above) dan di bawah (below) mengacu ke
bilangan tak bertanda.