Dadang Iskandar
Definisi Interrupt
Interupsi adalah suatu permintaan khusus
untuk melakukan sesuatu,dan akan
menghentikan dahulu apa yang sedang
dikerjakan, dan baru di lanjutkan setelah
selesai.
Interupsi adalah suatu permintaan khusus
pada mikroprocessor untuk melakukan
sesuatu, jika terjadi interupsi maka komputer
akan menghentikan dahulu apa yang
sedang dikerjakan dan melakukan apa yang
diminta oleh yang menginterupsi.
Pengertian Interupsi
Vektor interupsi
Alamat memori program yang menjadi
tujuan pertama lompatan program ketika
terjadi suatu interupsi
Vektor interupsi ini sifatnya spesifik dan
sudah fix untuk masing-masing sumber
interupsi
Setiap sumber interupsi memiliki vektor
interupsinya sendiri-sendiri
Sumber interupsi
Kondisi yang menyebabkan terjadinya
suatu interupsi
Kondisi ini bermacam-macam, ada yang
berasal dari luar (ext. interrupt) dan ada
yang berasal dari dalam
Sumber dan vektor interupsinya
ditunjukkan pada tabel sbb
Inisialisasi interupsi
Untuk dapat menggunakan fasilitas
interupsi, harus dilakukan inisialisasi pada
awal program
Inisialisasi digunakan untuk mengaktifkan
interupsi
Inisialisasi mencakup :
Enable sumber interupsi yang diinginkan
Enable interupsi global
Rutin interupsi
Rutin yang dikerjakan ketika terjadi interupsi
Rutin ini bisa terletak pada alamat vektor
interupsi atau bisa diletakkan pada alamat lain
Umumnya pada teknik pemrograman,pada
alamat vektor interupsi diberi instruksi untuk
lompat ke alamat rutin interupsi
Suatu rutin interupsi harus diakhiri dengan
perintah RETI (return from interrupt)
Interupsi Eksternal
3 sumber interupsi eksternal pada
atmega8535 :
INT0(PD2),INT1(PD3),INT2(PB2)
Kondisi eksternal yang menyebabkan
interupsi bisa diatur melalui register
MCUCR (silakan lihat datasheet
ATmega8535 hal 68) dan MCUCSR(hal
69)
Interupsi MikrokontrolerAT89C51
MikrokontrolerAT89C51 menyediakan 5
sumber interupsi, yaitu:
2 interupsi eksternal 2 interupsi
timer,dansatu interupsi port serial.
Register yang mengontrol interupsi yaitu
IE (Interrupt enable) dan IP (Interrupt
priority)
Simbol Fungsi
1. EA EA = 0 tidak ada Interupsi yang akan dilayani.
2. EA = 1 setiap sumber interupsi dapat dijalankan atau dilumpuhkan
secara individual
3. ES Bit pembuat enable interupsi port serial
4. ET1 Bit pembuat enable interupsi timer 1
5. EX1 Bit pembuat enable interupsi eksternal 1
6. ET0 Bit pembuat enable interupsi timer 0
7. EX0 Bit pembuat enable interupsi eksternal 0
Prioritas Interupsi
Berikut ini susunan standar prioritas
interupsi pada AT89C51:
PS
: Prioritas Interupsi Serial
PT1 : Prioritas Interupsi Timer 1
PX1 :PrioritasInterupsiEksternal1
PX1 :PrioritasInterupsiEksternal1
PT0 : Prioritas Interupsi Timer 0
PX0 : Prioritas Interupsi Eksternal 0
dengan ketentuan : bit = 1 menandakan prioritas
tinggi dan bit = 0 menandakan prioritas rendah.
Vektor Interupsi
IBM PC
Internal HW interruptions
Ditimbulkan/digenerasi oleh peristiwa
tertentu yang terjadi pada waktu/selama
eksekusi program
Diatur oleh HW dan tidak mungkin diubah
Contoh: tipe interrupt u/ counter clock
internal; HW call interrupt ini u/
memaintance time to date
External HW interupstions
Ditimbulkan/digenerasi oleh devais peripheral, mis
keyboard, printers, dsb.
Biasa juga ditimbulkan/digenerasi oleh Co-prosessor
Tidak mungkin mendeaktivekan
Tidak dikirim langsung ke CPU, melainkan ke IC
yang memiliki fungsi u/ menghandle secara
eksklusive interrupts ini. (IC -> PIC8259A, yg
dikontrol oleh CPU dgn menggunakan urutan
komunikasi -> PATH Control
Software interruptions
Diaktifkan langsung oleh assembler melalui sejumlah
interuosi yg diharapkan dgn instruksi INT
Terdapat dua jenis:
DOS interruptions
BIOS interupstions
Perbedaannya:
DOS int. lebih mudah digunakan, namun lebih lambat, karena
int. jenis ini menggunakan BIOS, BIOS int. lebih cepat, namun
banyak kerugiannya karena BIOS bagian HW dan HW-specific
Pemilihan interupts tergantung pada karakteristik yang akan
kita berikan pada program: SPEED BIOS int; PORTABILITY
-> DOS int.
Interrupt DOS
Interrupt 20h-FFh (32 - 255) adalah
interrupt DOS, dan hanya ada pada
komputer yang menggunakan sistem
operasi DOS dan interrupt handlernya diload ke memori oleh DOS pada saat DOS
digunakan. Lokasi Interrupt Vector tablenya ada di alamat absolut 07Fh-3FFh