Penjelasan Interupsi Dalam Mikroprosesor





Farhan21.comPengantar tentang proses eksekusi program



Instruksi-instruksi yang dieksekusi mikrokontroler diletakkan pada memori program.



Secara default, CPU akan mengeksekusi instruksi-instruksi mulai dari alamat 0x0000 kemudian diteruskan ke alamat 0x0001 dst secara berurutan. Pengalamatan instruksi diatur oleh progam counter.

Jika terjadi suatu lompatan (percabangan,pemanggilan subrutin, atau loop) eksekusi program akan keluar dari urutan alamat tersebut dan menuju alamat tujuan lompatan.

Pengertian Interupsi

Interupsi adalah Kondisi yang membuat suatu komputer/mikroprosesor berhenti mengerjakan rutin utama dan beralih(melompat ke vektor interupsi) untuk mengerjakan rutin interupsi

Blok Diagram Interupsi Dalam Mikroprosesor
Blok Diagram Interupsi Dalam Mikroprosesor

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)

Register Enable Interupsi Eksternal

  • Suatu bit pada register ini harus diset supaya interupsi bisa di-enable
  • Terletak pada register GICR (datasheet hal 69)
  • Bit-bit yang dipengaruhi ketika terjadi interupsi ada pada GIFR – general interrupt flag register (hal 70)




Leave a Comment

x