Modulvii 110534406810 F
Modulvii 110534406810 F
menjalankan program yang berada pada alamat yang ditunjuk oleh vektor dari
mengetahui dan memahami cara menggunakan interupsi pada mikrokontroler selain itu juga untuk mengetahui dan memahami bagaimana cara memrogram mikrokontroler untuk menjalankan interupsi pada saat program utama dijalankan. Kata kunci : Interrupt, Mikrokontroler. 1. PENDAHULUAN Interrupt adalah suatu kejadian atau
interrupt yang terjadi hingga selesai dan kembali meneruskan program yang terhenti oleh interrupt tadi. Seperti yang terlihat Gambar 4.1, sebuah program yang seharusnya berjalan terus lurus, tiba-tiba terjadi interrupt dan harus melayani interrupt tersebut terlebih dahulu hingga selesai sebelum ia kembali meneruskan pekerjaannya. 2. STUDI PUSTAKA Interrupt Interrupt/Interupsi dimana CPU ialah suatu Processing kondisi Unit)
peristiwa yang menyebabkan mikrokontroler berhenti sejenak untuk melayani interrupt tersebut. Program yang dijalankan pada saat melayani interrupt disebut Interrupt Service Routine. Analoginya adalah sebagai berikut, seseorang mendadak sedang telephone orang mengetik laporan, dan
(Central
mikrokontroler berhenti dari rutinitas yang sedang dikerjakan dan mengerjakan rutinitas lain yang ditunjuk oleh interupsi tersebut. Ketika rutinitas yang ditunjuk interupsi telah selesai dieksekusi, maka CPU akan mulai mengekseskusi rutinitas awal sebelum
berdering tersebut
menginterrupsi menghentikan
sehingga dan
pekerjaan
mengetik
mengangkat telephone. Setelah pembicaraan telephone yang dalam hal ini adalah
merupakan analogi dari Interrupt Service Routine selesai maka orang tersebut kembali meneruskan pekerjaanya mengetik. Demikian
Bit 7 INT1: External Interrupt Request 1 Enable Untuk meng-enable kan External Interrupt 1
Bit 6 INT0: External Interrupt Request 0 Enable Untuk meng-enable kan External Interrupt 0
Bit 5 INT2: External Interrupt Request 2 Enable Tabel interrupt pada AVR ATmega8535 Pada bagian ini jenis interrupt yang akan dibahas ialah external interrupt. GIFR (General Interrupt Flag Register) Untuk meng-enable kan External Interrupt 2
ATmega8535 memiliki tiga buah eksternal interrupt yaitu INT0, INT1, dan INT2. Ketiga interrupt ini yaitu INT0 s.d INT2 akan tertrigger walaupun portnya dikonfigurasi Bit 7 INTF1: External Interrupt Flag 1 Ketika terjadi eksternal interrupt pada INT1, maka Flag INTF1 diset 1. Setelah routine eksternal interrupt selesai di eksekusi maka Flag INTF1 diset 0.
sebagai output. Fitur ini memungkinkan interrupt yang dikondisikan oleh software. Semua interrupt akan tertrigger jika
terdapat perubahan rising edge atau falling edge. INT2, Mode any change INT0 tidak dan any dimiliki INT1 change baik
Bit 6 INTF0: External Interrupt Flag 0 Ketika terjadi eksternal interrupt pada INT0, maka Flag INTF0 diset 1. Setelah routine eksternal interrupt selesai di eksekusi maka Flag INTF0 diset 0. Bit 5 INTF2: External Interrupt Flag 2
sedangkan
memilikinya. memungkinkan
Mode interrupt
terpanggil
yang
harus
di
eksternal Interrupt
Ketika terjadi eksternal interrupt pada INT2, maka Flag INTF2 diset 1. Setelah routine eksternal interrupt selesai di eksekusi maka Flag INTF2 diset 0.
Control Register), GIFR (General Interrupt Flag Register), MCUCR (MCU Control
1 buah ISP Downloader AVR 1 buah sistem minimum AVR 1 buah I/O 1 buah kabel printer USB 2 buah kabel pita hitam
Bit 3, 2 ISC11, ISC10: Interrupt Sense Control 1 Bit 1 and Bit 0 Bit ini mengatur sensitifitas yang akan dimiliki oleh port eksternal interrupt 1. pilihan
3.2 Prosedur 1. Menghubungkan minimum Bit 1, 0 ISC01, ISC00: Interrupt Sense Control 0 Bit 1 and Bit 0 Bit ini mengatur sensitifitas yang akan dimiliki oleh port eksternal interrupt 0. pilihan 2. 3. system PORTC dengan pada soket
jumper OUTPUT pada trainer dan PORTD.2 (INT0) dari minimum sistem ke soket IS1 pada trainer. Membuka program Code Vision AVR Membuat project baru. Pada tap
External IRQ centang INT0 lalu pilih Mode Falling edge dan set PORTC sebagai OUTPUT 4. Mengetik program interrupt pada blok Interrupt seperti sintaks dibawah ini. #include <mega8535.h>
MCUCSR Register)
(MCU
Control
and
Status
Bit 6 ISC2: Interrupt Sense Control 2 Jika ISC2 ditulis 0 maka falling edge pada INT2 akan mengaktifasi interupsi. Jika ISC2 ditulis 1, maka rising edge pada INT2 akan mengaktifasi interupsi. 3. METODE 3.1 Alat dan bahan yang digunakan 1 set PC/Laptop yang sudah berisi program Code Vision dan Khazama 1 buah catu daya DC +5V 1 buah multimeter
interrup saja { // Place your code here PORTC = 0b10101010; delay_ms(1000); PORTC = 0b11111111; delay_ms(1000); }
5.
Mengetik
dalam
program
utama
Analisa: Setelah melihat table hasil praktikum yang telah dilakukan dapat dianalisa sbb : a. Rising edge interupt Terjadi apabila ada perubahan dari tegangan rendah ke tegangan yang
(main program) while (1) // program utama { PORTC = 0b11110000; } 6. Mengamati nyala LED sebelum dan sesudah interupsi 7. Mengulangi langkah 3-6 untuk mode interupsi (Interrupt Sense Control) anda menekan tombol
lebih tinggi, dengan nyala LED bergantian dan delay 1000 ms. b. Any change LED akan menyala secara bergantian dengan delay 1000 ms jika terjadi perubahan memperdulikan tegangan tsb. tegangan, arah tanpa perubahan
4.
Dikarenakan pada program utama dideklarasikan mejalankan apabila int0 maka maka LED akan akan
N o
Mode Interru pt
Program yang dijalankan (Interrupt / Main Program) Saat Saat Saat tombol tombol tombol IS1 IS1 IS1 belum ditekan dilepaska ditekan dan n (Low) ditahan (Falling) (Rising) 1111000 0 1111000 0 1111000 0 1010101 0 1111111 1111000 0 1010101 0 1111111 1010101 0 1111111 1111000 0 10101010 1111111 11110000
interupsi,
menyala secara bergantian dengan delay 1000 ms. Kesimpulan Berdasarkan percobaan disimpulkan bahwa: diatas dapat
1.
Falling Edge
2.
Raising Edge
Untuk menggunakan fasalitas interupsi pada ATMega8535 kita harus melakukan inisialisasi pada progam utama, agar dapat dibaca oleh mikrokontroler. Ketika terjadi perubahan tegangan Any change akan menjalankan interupsi. Pada ATmega8535 pin yang digunakan untuk interupsi eksternal yaitu : int0, int1, int2.
3.
Any Change
4.
Low Level
Daftar Pustaka Modul VII Menggunakan Interrupt Dalam ATMega8535. http://hendawan.files.wordpress.c om/2008/01/basic-avrmicrocontroller-tutorial_v3.pdf Diakses pada 5 Desember 2012 Mikrokontroler