Penjelasan umum interupsi adalah seseperti ini. Ketika anda sedang menjelaskan sesuatu didepan kelas tiba-tiba seorang siswa mengangkat tangannya sambil berkata, "Maaf, saya masih belum mengerti bagian pertama tadi, mohon dijelaskan kembali". Kemudian Anda menjelaskan kembali bagian yang ditanyakan. Setelah selesai menjelaskan, Anda kembali lagi meneruskan materi.
Ilustrasi diatas menggambarkan proses interupsi. Perhatikan gambar di bawah. Saat mikrokontroler mengerjakan program utama, apabila ada interupsi maka mikrokontroler akan meninggalkan program utama dan mengerjakan permintaan interupsi. Setelah pekerjaan interupsi selesai, mikrokotroler akan kembali meneruskan program utama ditempat yang ditinggalkan tadi.
Ilustrasi proses interupsi |
Kejadian interupsi pada mikrokontroler dapat disebabkan oleh adanya kejadian eksternal, timer overflow, dan penerimaan / pengiriman data secara serial. Pada bab sepuluh ini Anda akan mencoba memanfaatkan interupsi yang disebabkan oleh kejadian eksternal atau interupsi eksternal.
Sumber interupsi pada mikrokontroler |
Struktur program dengan interupsi
Dalam menggunakan interupsi, tentukan dahulu Anda akan menggunakan sumber interupsi yang mana. Misalnya Anda akan menggunakan sumber interupsi eksternal pertama (INT0). Maka pada vektor interupsi, seperti dijelaskan pada bab empat, Anda ketikkan instruksi berikut.
ORG 0000h ; vektor interupsi
reset
AJMP start
ORG 0003h ; vektor interupsi
eksternal pertama
AJMP ISRLINT0
Instruksi diatas dapat dijelaskan sebagai berikut. Apabila mikrokontroler Anda reset maka mikrokontroler akan mengambil instruksi dialamat ke-0000, tidak lain adalah instruksi untuk melompat ke label start. Pada saat program berjalan kemudian sinyal interupsi masuk ke pin yang sesuai maka mikrokontroler akan meninggalkan program yang sedang dikerjakan dan melompat kealamat 0003h yang tidak lain berisi instruksi untuk melompat ke label ISR_INT0 .
Sebelum interupsi dapat digunakan maka Anda haruslah melakukan inisialisasi atau melakukan seting terhadap register-register yang berhubungan dengan interupsi. Register-register tersebut adalah:
- Interrupt Enable Register (IE)
- Interrupt Priority Register (IP)
- Timer/Counter Control Register (TCON)
Semoga Dapat Membantu Kawan...!!!
0 comments:
Post a Comment