beautypg.com

Table 19 shows, Atmega16(l) – Rainbow Electronics ATmega64L User Manual

Page 43

background image

43

ATmega16(L)

2466B–09/01

Note:

1. The Boot Reset Address is shown in Table 100 on page 252. For the BOOTRST fuse

“1” means unprogrammed while “0” means programmed.

The most typical and general program setup for the Reset and Interrupt Vector
Addresses in ATmega16 is:

Address

Labels

Code

Comments

$000

jmp

RESET

; Reset Handler

$002

jmp

EXT_INT0

; IRQ0 Handler

$004

jmp

EXT_INT1

; IRQ1 Handler

$006

jmp

TIM2_COMP

; Timer2 Compare Handler

$008

jmp

TIM2_OVF

; Timer2 Overflow Handler

$00A

jmp

TIM1_CAPT

; Timer1 Capture Handler

$00C

jmp

TIM1_COMPA

; Timer1 CompareA Handler

$00E

jmp

TIM1_COMPB

; Timer1 CompareB Handler

$010

jmp

TIM1_OVF

; Timer1 Overflow Handler

$012

jmp

TIM0_OVF

; Timer0 Overflow Handler

$014

jmp

SPI_STC

; SPI Transfer Complete Handler

$016

jmp

USART_RXC

; USART RX Complete Handler

$018

jmp

USART_UDRE

; UDR Empty Handler

$01A

jmp

USART_TXC

; USART TX Complete Handler

$01C

jmp

ADC

; ADC Conversion Complete Handler

$01E

jmp

EE_RDY

; EEPROM Ready Handler

$020

jmp

ANA_COMP

; Analog Comparator Handler

$022

jmp

TWSI

; 2-wire Serial Interface Handler

$024

jmp

EXT_INT2

; IRQ2 Handler

$026

jmp

TIM0_COMP

; Timer0 Compare Handler

$028

jmp

SPM_RDY

; Store Program Memory Ready Handler

;

$02A

RESET:

ldi

r16,high(RAMEND) ; Main program start

$02B

out

SPH,r16

; Set stack pointer to top of RAM

$02C

ldi

r16,low(RAMEND)

$02D

out

SPL,r16

$02E

sei

; Enable interrupts

$02F

xxx

...

...

...

Table 19. Reset and Interrupt Vectors Placement

(1)

BOOTRST

IVSEL

Reset address

Interrupt Vectors Start Address

1

0

$0000

$0002

1

1

$0000

Boot Reset Address + $0002

0

0

Boot Reset Address

$0002

0

1

Boot Reset Address

Boot Reset Address + $0002