Datasheet
64
7734Q–AVR–02/12
AT90PWM81/161
0x01C rjmp
0x01F rjmp
;
0x020RESET: ldi r16, high(RAMEND); Main program start
0x021 out SPH,r16 ; Set Stack Pointer to top of RAM
0x022 ldi r16, low(RAMEND)
0x023 out SPL,r16
0x024 sei ; Enable interrupts
0x025 <instr> xxx
... ... ... ...
When the BOOTRST Fuse is unprogrammed, the Boot section size set to 2Kbytes and the
IVSEL bit in the MCUCR Register is set before any interrupts are enabled, the most typical and
general program setup for the Reset and Interrupt Vector Addresses in AT90PWM81/161 is:
Address Labels Code Comments
0x000 RESET: ldi r16,high(RAMEND); Main program start
0x001 out SPH,r16 ; Set Stack Pointer to top of RAM
0x002 ldi r16,low(RAMEND)
0x003 out SPL,r16
0x004 sei ; Enable interrupts
0x005 <instr> xxx
;
For AT90PWM81
.org 0xC01
0xC01 rjmp PSC2_CAPT ; PSC2 Capture event Handler
0xC02 rjmp PSC2_EC ; PSC2 End Cycle Handler
... ... ... ;
0xC1F rjmp SPM_RDY ; Store Program Memory Ready Handler
For AT90PWM161
.org 0xC01
0xC02 rjmp PSC2_CAPT ; PSC2 Capture event Handler
0xC04 rjmp PSC2_EC ; PSC2 End Cycle Handler
... ... ... ;
0xC3F rjmp SPM_RDY ; Store Program Memory Ready Handler
When the BOOTRST Fuse is programmed and the Boot section size set to 2Kbytes, the most
typical and general program setup for the Reset and Interrupt Vector Addresses in
AT90PWM81/161 is:
Address Labels Code Comments
For AT90PWM81
.org 0x001
0x001 rjmp PSC2_CAPT ; PSC2 Capture event Handler
0x002 rjmp PSC2_EC ; PSC2 End Cycle Handler
... ... ... ;
0x01F rjmp SPM_RDY ; Store Program Memory Ready Handler