Materi 7 Ppi

download Materi 7 Ppi

of 53

Transcript of Materi 7 Ppi

  • 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.