INTERUPSI Pengantar tentang proses eksekusi program Instruksiinstruksi yang

  • Slides: 11
Download presentation
INTERUPSI

INTERUPSI

Pengantar tentang proses eksekusi program • Instruksi-instruksi yang dieksekusi mikrokontroler diletakkan pada memori program

Pengantar tentang proses eksekusi program • Instruksi-instruksi yang dieksekusi mikrokontroler diletakkan pada memori program • Secara default, CPU akan mengeksekusi instruksi-instruksi mulai dari alamat 0 x 0000 kemudian diteruskan ke alamat 0 x 0001 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 • Kondisi yang membuat suatu komputer/mikroprosesor berhenti mengerjakan rutin utama dan beralih(melompat

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

Pengertian Interupsi

Pengertian Interupsi

Vektor interupsi • Alamat memori program yang menjadi tujuan pertama lompatan program ketika terjadi

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

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 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

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 atmega 8535 : INT 0(PD 2),

Interupsi Eksternal • 3 sumber interupsi eksternal pada atmega 8535 : INT 0(PD 2), INT 1(PD 3), INT 2(PB 2) • Kondisi eksternal yang menyebabkan interupsi bisa diatur melalui register MCUCR (silakan lihat datasheet ATmega 8535 hal 68) dan MCUCSR(hal 69)

Register enable interupsi eksternal • Suatu bit pada register ini harus diset supaya interupsi

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)