Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
Diterbitkan olehAri Setiabudi Telah diubah "7 tahun yang lalu
1
Oleh : SGO Aplikasi Mikrokontroler (DTG2K3)
INTERUPSI Oleh : SGO Aplikasi Mikrokontroler (DTG2K3)
2
Pengertian Sistem Interupsi adalah menghentikan aliran program akibat terjadinya triger tertentu dan memaksa eksekusi rutin/fungsi layanan interupsi, setelah selesai maka aliran program akan kembali ke pernyataan program sebelum terjadinya interupsi.
3
Interupt.h ISR (nama_vector) { …………. …………… }
Untuk menangani interupsi, dalam library winavr telah disediakan file : #include <avr/interupt.h> Dalam file di atas telah disediakan aturan khusus dalam membuat fungsi layanan interupsi (ISR = Interupt Service Routine), dengan format: ISR (nama_vector) { …………. …………… }
4
Pengaktifan Interupsi
Untuk menge-set gunakan pernyataan: sei (); set I Untuk meng-clear gunakan pernyataan: cli (); clear I jangan lupa memberikan spasi setelah sei atau cli, karena sifat intruksinya makro bukan merupakan suatu fungsi.
5
Interupsi Eksternal Adalah sebuah peripheral dalam chip yang bertugas mendeteksi triger dari luar yang akan membangkitkan interupsi yang bersangkutan.
6
Register Pengendali Interupsi
SREG register tempat bit-I berada Bit ke-7 I : Global Interupt Enable Bit ini (jika set) bertugas mengaktifkan semua interupsi setelah interupsi pheriperal yang bersangkutan diaktifkan. Bit ini akan di clear ketika terjadi interupsi dan kembali set ketika menemui intruksi RETI (akhir rutin interupsi)
7
Register Interupsi 2. MCU Control Register – MCUCR Hanya 4 bit yang berhubungan dengan interupsi eksternal, dimana bit tersebut digunakan untuk mendefinisikan input triger yang digunakakan
8
Keterangan PIN INT1 yang membangkitkan interupsi
Bit 3,2 – ISC11 dan ISC10 kontrol triger interupsi eksternal 1 (INT1) ISC 11 ISC10 Keterangan PIN INT1 yang membangkitkan interupsi Level rendah (low level) 1 Toggle Falling Edge (perpindahan 1 ke 0) Rising Edge (perpindahan 0 ke 1)
9
Keterangan PIN INT0 yang membangkitkan interupsi
Bit 1,0 – ISC01 dan ISC00 kontrol triger interupsi eksternal 0 (INT0) ISC 01 ISC00 Keterangan PIN INT0 yang membangkitkan interupsi Level rendah (low level) 1 Toggle Falling Edge (perpindahan 1 ke 0) Rising Edge (perpindahan 0 ke 1)
10
Register Interupt 3. General Interupt Control Register – GICR Bit -7 INT1 : Mengaktifkan interupsi eksternal satu Bit -6 INT0 : Mengaktifkan interupsi eksternal nol Bit -5 INT2 : Mengaktifkan interupsi eksternal dua 0 = disable dan 1 = enable
11
Register Interupt 4. General Interupt Flag Register – GIFR Akan set ketika mendeteksi adanya interupsi eksternal dan akan clear ketika cpu meng-eksekusi vektor interupsi
12
Keterangan PIN INT2 yang membangkitkan interupsi
Register Interupt 5. MCU Control and Status Register – MCUCSR Bit ke-6 ISC2 merupakan kontrol triger interupsi eksternal 2 (INT2) yang dimiliki selain ATMEGA8. ISC 2 Keterangan PIN INT2 yang membangkitkan interupsi Falling Edge (perpindahan 1 ke 0) 1 Rising Edge (perpindahan 0 ke 1)
13
Contoh Interupsi Eksternal
Buat Program Program utama yaitu LED berjalan, ketika ada interupsi maka led akan berkedip 10 kali
14
Lanj..
15
Lanj..
16
Program // External Interrupt 0 service routine
interrupt [EXT_INT0] void ext_int0_isr(void) { // Place your code here unsigned char rr=0; while(rr<5) PORTA=0x0f; delay_ms(100); PORTA=0xf0; rr++; }
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.