Anda di halaman 1dari 5

MODUL VII MENGGUNAKAN INTERRUPT DALAM MIKROKONTROLLER ATMEGA8535 Akhmad Insya Ansori (110534406810)

Tanggal Percobaan: 29 November 2012 PTE408 - Praktikum Mikroprosesor - I

Laboratorium Mikroprosesor S1 Pendidikan Teknik ElektroFakultas Teknik


pula pada sistem mikrokontroler yang sedang Universitas Negeri Malang menjalankan Abstrak Praktikum menggunakan menggunakan ATMega8535 interrupt bertujuan yang untuk programnya, saat terjadi interrupt, program akan berhenti sesaat, melayani interrupt tersebut dengan

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

adanya interupsi yang terhenti dari tempat terakhir.

merupakan analogi dari Interrupt Service Routine selesai maka orang tersebut kembali meneruskan pekerjaanya mengetik. Demikian

GICR (General Interrupt Control Register)

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

ketika rising dan falling edge.

Register-register setting interupsi untuk ialah

yang

harus

di

mengaktifkan GICR (General

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

Register), dan MCUCSR (MCU Control and Status Register).

MCUCR (MCU Control Register)

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

sensitifitas dapat dilihat pada tabel dibawah:

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

sensitifitas dapat dilihat pada tabel dibawah:

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

#include <delay.h> // External Interrupt 0 service routine interrupt [EXT_INT0] void

ext_int0_isr(void) // disini hanya menggunakan 1

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

Rising Edge, Any Change dan Low Level.

4.

Hasil dan Analisa 4.1. Data Hasil Percobaan Tabel Interupsi

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.

10101010 1111111 10101010 1111111

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

Anda mungkin juga menyukai