Rabu, 02 Juni 2010

mengenal interupsi dalam AVR

Interupsi kalo diartikan secara langsung berarti menyela, memecah atau memotong tetapi dalam mas alah ini yang dimaksud interupsi adalah suatu kondisi dimana eksekusi program utama dihentikan sejenak untuk melakukan interupsi, setelah program interupsi selesai dilakukan maka program utama yang terpotong tadi dilanjutkan
























seperti ilustrasi diatas jika dalam suatu mikrokontroler terjadi interupsi maka mau tidak mau program utama akan dihentikan dan program dalam interupsi akan dieksekusi terlebih dahulu.
Dalam mikrokontroler AVR yang berjenis kelamin ATMega 16 mempunyai 21 macam sumber interupsi yaitu:

No

Alamat

Sumber

Keterangan

1

0x000

Reset

Pin eksternal, reset power-on, reset brown-out dan reset watchdog

2

0x001

INT0

Interupsi eksternal 0

3

0x002

INT1

Interupsi eksternal 1

4

0x003

Timer2 COMP

Timer/Counter 2 compare match

5

0x004

Timer2 OVF

Timer/Counter 2 overflow

6

0x005

Timer1 CAPT

Timer/Counter 1 Capture event

7

0x006

Timer1 COMPA

Timer/Counter 1 compare match A

8

0x007

Timer1 COMPB

Timer/Counter 1 compare match B

9

0x008

Timer1 OVF

Timer/Counter 1 overflow

10

0x009

Timer0 OVF

Timer/Counter 0 overflow

11

0x00A

SPI, STC

Serial Transfer Complete

12

0x00B

USART, RXC

USART, Rx Complete

13

0x00C

USART, UDRE

USART Data Register Empty

14

0x00D

USART, TXC

USART, Tx Complete

15

0x00E

ADC

ADC Convertion Complete

16

0x00F

EE_RDY

EEPROM Ready

17

0x010

ANA_COMP

Analog Komparator

18

0x011

TWI

Two Wire Interface

19

0x012

INT2

Interupsi eksternal 2

20

0x013

Timer0 COMP

Timer/Counter 0 Compare Match

21

0x014

SPM_RDY

Store Program Memory Ready


menurut saya sendiri interups dibagi menjadi 2 macam yaitu interupsi eksternal dan interupsi internal. Interupsi eksternal meliputi interupsi eksternal 0, 1 dan 2.
























Untuk memicu interupsi ekstenal bisa digunakan sebuah push button atau lainya. Setahu saya, dalam kondisi default interupsi eksternal ini akan aktif jika diberi logika 0, tetapi pemicu atau penyebab terjadinya interupsi ini dapat diubah dengan cara menyeting register MCUCR ( MCU Register Control ) untuk lebih jelasnya, tunggu postingan selanjutnya.

salam damai

Tidak ada komentar:

Posting Komentar