PENGERTIAN DEFINISI INTERRUPT adalah Proses yang dilakukan oleh mikrokontroler Interrupt Service Routine
Interrupt
adalah suatu kejadian atau peristiwa yang menyebabkan mikrokontroler
berhenti sejenak untuk melayani interrupt tersebut. Program yang
dijalankan pada saat melayani interrupt disebut Interrupt Service Routine.
Analoginya adalah sebagai berikut, seseorang sedang mengetik laporan,
mendadak telephone berdering dan menginterrupsi orang tersebut sehingga
menghentikan pekerjaan mengetik dan mengangkat telephone. Setelah
pembicaraan telephone yang dalam hal ini adalah merupakan analogi dari
Interrupt Service Routine selesai maka orang tersebut kembali meneruskan
pekerjaanya mengetik. Demikian pula pada sistem mikrokontroler yang
sedang menjalankan programnya, saat terjadi interrupt, program akan
berhenti sesaat, melayani interrupt tersebut dengan menjalankan program
yang berada pada alamat yang ditunjuk oleh vektor dari interrupt yang
terjadi hingga selesai dan kembali meneruskan program yang terhenti oleh
interrupt tadi. Seperti yang terlihat Gambar dibawah ini, sebuah
program yang seharusnya berjalan terus lurus, tiba-tiba terjadi
interrupt dan harus melayani interrupt tersebut terlebih dahulu hingga
selesai sebelum ia kembali meneruskan pekerjaannya.
Proses yang dilakukan oleh mikrokontroler saat melayani interrupt adalah sebagai berikut:
Instruksi terakhir yang sedang dijalankan diselesaikan terlebih dahulu
Program Counter (alamat dari instruksi yang sedang berjalan) disimpan ke stack
Interrupt Status disimpan secara internal
Interrupt dilayani sesuai peringkat dari interrupt (lihat Interrupt Priority)
Program
Counter terisi dengan alamat dari vector interrupt (lihat Interrupt
Vector) sehingga mikrokontroler langsung menjalankan program yang
terletak pada vector interrupt
Program
pada vector interrupt biasanya diakhiri dengan instruksi RETI di mana
pada saat ini proses yang terjadi pada mikrokontroler adalah sebagai
berikut:
Program
Counter diisi dengan alamat yang tersimpan dalam stack pada saat
interrupt terjadi sehingga mikrokontroler kembali meneruskan
program di lokasi saat interrupt terjadi
Interrupt Status dikembalikan ke kondisi terakhir sebelum terjadi interrupt
Tidak ada komentar:
Posting Komentar