46
7598H–AVR–07/09
ATtiny25/45/85
If the program never enables an interrupt source, the Interrupt Vectors are not used, and regular
program code can be placed at these locations. The most typical and general program setup for
the Reset and Interrupt Vector Addresses in ATtiny25/45/85 is:
Address Labels Code
Comments
0x0000
rjmp
RESET
; Reset Handler
0x0001
rjmp
EXT_INT0
; IRQ0 Handler
0x0002
rjmp
PCINT0
; PCINT0 Handler
0x0003
rjmp
TIM1_COMPA
; Timer1 CompareA Handler
0x0004
rjmp
TIM1_OVF
; Timer1 Overflow Handler
0x0005
rjmp
TIM0_OVF
; Timer0 Overflow Handler
0x0006
rjmp
EE_RDY
; EEPROM Ready Handler
0x0007
rjmp
ANA_COMP
; Analog Comparator Handler
0x0008
rjmp
ADC
; ADC Conversion Handler
0x0009
rjmp
TIM1_COMPB
; Timer1 CompareB Handler
0x000A
rjmp
TIM0_COMPA
;
0x000B
rjmp
TIM0_COMPB
;
0x000C
rjmp
WDT
;
0x000D
rjmp
USI_START
;
0x000E
rjmp
USI_OVF
;
0x000F
RESET: ldi
r16, low(RAMEND); Main program start
0x0010
ldi
r17, high(RAMEND); Tiny85 has also SPH
0x0011
out
SPL, r16
; Set Stack Pointer to top of RAM
0x0012
out
SPH, r17
; Tiny85 has also SPH
0x0013
sei
; Enable interrupts
0x0014
<instr> xxx
...
... ... ...
10. I/O Ports
10.1
Introduction
All AVR ports have true Read-Modify-Write functionality when used as general digital I/O ports.
This means that the direction of one port pin can be changed without unintentionally changing
the direction of any other pin with the SBI and CBI instructions. The same applies when chang-
ing drive value (if configured as output) or enabling/disabling of pull-up resistors (if configured as
input). Each output buffer has symmetrical drive characteristics with both high sink and source
capability. The pin driver is strong enough to drive LED displays directly. All port pins have indi-
vidually selectable pull-up resistors with a supply-voltage invariant resistance. All I/O pins have
protection diodes to both V
CC
and Ground as indicated in
. Refer to
for a complete list of parameters.