Interupsi
Interupsi pada dasarnya adalah suatu event yang memerlukan perhatian secara segera dari sebuah mikrokontroler. Ketika ada sebuah event interupsi maka mikrokontroler akan segera menghentikan sementara program utamanya dan segera menjalankan perintah yang ada pada Interrupt Service Routine (ISR) dan akan kembali menjalakan program utamanya.
Agar mikrokontroler untuk menanggapi suatu event interupsi, fitur interupsi dari mikrokontroler harus diaktifkan bersama dengan interrupt tertentu. Hal ini dilakukan dengan menetapkan Global Interrupt Enabled bit dan Interrupt Enable bit dari register mikrokontroler.
Interrupt Service Routine (ISR) adalah bagian dari program yang harus mengeksekusi ketika interupsi dipicu. Biasanya setiap interrupt diaktifkan memiliki ISR sendiri.
Interrupt Flags and Enabled bits Setiap interrupt dikaitkan dengan dua (2) bit, sebuah Interrupt Flag Bit dan Interrupt Enable Bit. Bit ini terletak di I / O register yang terkait dengan interrupt tertentu:
- Interrupt Flag bit diatur setiap kali event interrupt terjadi.
- Interrupt Enable bit digunakan untuk mengaktifkan atau menonaktifkan interupsi tertentu. Pada dasarnya ini memberitahu mikrokontroler apakah atau tidak seharusnya menanggapi interupsi jika dipicu.
Global Interrupt Enabled Bit
Terlepas dari bit yang harus diaktifkan untuk spesifik interupsi, Global Interrupt Enabled Bit HARUS diaktifkan untuk mengaktifkan fitur interupsi dalam microcontoller tersebut.
Untuk AVR 8-bit mikrokontroler bit ini terletak di Status I / O Register (SREG). Global Interrupt Enable adalah bit ke- 7, I-bit dalam register SREG.
Sumber interupsi
Sumber interupsi yang disediakan oleh AVR mikrokontroler ada 4 yaitu:
- RESET interrupt - dipicu dari pin 9.
- External Interrupt 0 (INT0) - dipicu dari pin 16.
- External Interrupt 1 (INT1) - dipicu dari pin 17.
- External Interrupt 2 (INT2) - dipicu dari pin 3.
0 comments:
Post a Comment