" /> Interupsi Mikrokontroler - TN Mikro
Home > Sistem Kontrol > Merancang Rangkaian Kontrol > Interupsi Mikrokontroler

Interupsi Mikrokontroler

Interupsi adalah kejadian atau peristiwa yang menyebabkab mikrokontroler berhenti sejenak untuk melayani interupsi tersebut. Program yang dijalankan pada saat melayani interupsi di sebut Interrupt Service Routine (Rutin Layanan Interupsi). Analoginya adalah sebagai berikut: seseorang sedang mengetik laporan ,mendadak telepon berdering dan menginterupsi orang tersebut sehingga menghentikan pekerjaan mengetik lalu mengangkat telepon setelah pembicaraan di telepon selesai, maka dia melanjutkan pengerjaan mengetik kembali.

Demikian pula pada sistem mikrokontroler yang sedang menjalankan programmya, saat terjadi interupsi, program berhenti sesaat, melayani interupsi tersebut dengan menjalankan program yang berada pada alamat yang ditunjuk oleh vector dari interupsi yang terjadi hingga selesai dan kembali meneruskan program yang terhenti oleh interupsi tadi. Seperti yang terlihat pada gambar 1.18. Sebuah program yang seharusnya berjalan terus lurus, tiba-tiba terjadi interupsi dan harus melayani interupsi tersebut terlebih dahulu hingga selesai sebelum ia kembali meneruskan pekerjaannya.

image

Gambar 19 Alur kerja dari interupsi

Hampir sebagian besar aplikasi mikrokontroler melibatkan respon suatu kejadian yang cukup cepat untuk mengontrol lingkungan (umumnya disebut real-time programming). Interupsi merupakan satu-satunya cara dalam real-time programming yang bisa melakukan pengaturan dengan baik. Lima jenis interupsi disediakan pada 8051. Tiga jenis dihasilkan secara otomatis dari operasi internal. Timer flag 0, timer flag 1, dan interrupt port serial (RI atau TI). Dua jenis interupsi dipicu oleh sinyal luar yang dihasilkan oleh rangkaian yang dihubungkan pada pin INT0 dan INT1 (pin port P3.2 dan P3.3)

Semua fungsi interupsi dibawah kontrol program. Pemrogram bisa merubah kontrol bit pada register Interrupt Enable (IE), register Interrupt Priority (IP) dan register Timer Control (TCON). Program bisa memblok semua atau kombinasi interupsi yang manapun dari aksi program dengan penyetingan dan atau peng-clear-an bit bit yang tepat pada register-register ini. Register IE dan IP ditunjukkan pada Gambar.

Setelah interupsi ditangani oleh rutin interupsi yang ditempatkan oleh pemrogram di lokasi interupsi pada program memori, program yang diinterupsi harus memulai operasi saat interupsi- interupsi diberikan. Program dimulai kembali dengan menyimpan alamat PC yang di interupsi pada tumpukan ( stack ) di RAM sebelum merubah PC ke alamat interupsi dalam ROM. Alamat PC akan diambil dari stack sesudah interupsi RET1 dieksekusi pada akhir dari rutin interupsi.

image

Gambar 20 Register Fungsi IE dan IP

 

Vector Interupsi
Vektor Interupsi adalah nilai yang tersimpan ke Program Counter pada saat terjadi interupsi sehingga program akan menuju ke alamt yang ditunjukkan oleh Program Counter. Pada saat program menuju ke alamt yang tunjukkan interrupt Vector , flag-flag yang set karena terjadinya interrupt akan di clearkan kecuali RI dan TI.
Kelima interupsi dan system reset dari 89S51 mempunyai vector tertera pada table di bawah ini:

image