ATMEGA168-15AZ Atmel, ATMEGA168-15AZ Datasheet - Page 261

MCU AVR 16K FLASH 15MHZ 32-TQFP

ATMEGA168-15AZ

Manufacturer Part Number
ATMEGA168-15AZ
Description
MCU AVR 16K FLASH 15MHZ 32-TQFP
Manufacturer
Atmel
Series
AVR® ATmegar
Datasheet

Specifications of ATMEGA168-15AZ

Package / Case
32-TQFP, 32-VQFP
Voltage - Supply (vcc/vdd)
2.7 V ~ 5.5 V
Operating Temperature
-40°C ~ 125°C
Speed
16MHz
Number Of I /o
23
Eeprom Size
512 x 8
Core Processor
AVR
Program Memory Type
FLASH
Ram Size
1K x 8
Program Memory Size
16KB (16K x 8)
Data Converters
A/D 8x10b
Oscillator Type
Internal
Peripherals
Brown-out Detect/Reset, POR, PWM, WDT
Connectivity
I²C, SPI, UART/USART
Core Size
8-Bit
Cpu Family
ATmega
Device Core
AVR
Device Core Size
8b
Frequency (max)
16MHz
Interface Type
2-Wire/USART/Serial
Total Internal Ram Size
1KB
# I/os (max)
23
Number Of Timers - General Purpose
3
Operating Supply Voltage (typ)
3.3/5V
Operating Supply Voltage (max)
5.5V
Operating Supply Voltage (min)
2.7V
On-chip Adc
8-chx10-bit
Instruction Set Architecture
RISC
Operating Temp Range
-40C to 125C
Operating Temperature Classification
Automotive
Mounting
Surface Mount
Pin Count
32
Package Type
TQFP
Lead Free Status / RoHS Status
Lead free / RoHS Compliant

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
ATMEGA168-15AZ
Manufacturer:
Atmel
Quantity:
10 000
23.1.6
7530I–AVR–02/10
Simple Assembly Code Example for a Boot Loader
Note that the RWWSB bit will always be read as zero in ATmega48. Nevertheless, it is recom-
mended to check this bit as shown in the code example, to ensure compatibility with devices
supporting Read-While-Write.
.equ
words
.org SMALLBOOTSTART
Write_page:
Wrloop:
;-the routine writes one page of data from RAM to Flash
; the first data location in RAM is pointed to by the Y pointer
; the first data location in Flash is pointed to by the Z-pointer
;-error handling is not included
;-the routine must be placed inside the Boot space
; (at least the Do_spm sub routine). Only code inside NRWW section can
; be read during Self-Programming (Page Erase and Page Write).
;-registers used: r0, r1, temp1 (r16), temp2 (r17), looplo (r24),
; loophi (r25), spmcrval (r20)
; storing and restoring of registers is not included in the routine
; register usage can be optimized at the expense of code size
;-It is assumed that either the interrupt table is moved to the Boot
; loader section or that the interrupts are disabled.
;
ldi
rcall
;
ldi
rcall
;
ldi
ldi
ld
ld
ldi
rcall
adiw
sbiw
brne
;
subi
sbci
ldi
rcall
;
ldi
Page Erase
re-enable the RWW section
transfer data from RAM to Flash page buffer
execute Page Write
re-enable the RWW section
PAGESIZEB = PAGESIZE*2
spmcrval, (1<<PGERS) | (1<<SELFPRGEN)
Do_spm
spmcrval, (1<<RWWSRE) | (1<<SELFPRGEN)
Do_spm
looplo, low(PAGESIZEB);init loop variable
loophi, high(PAGESIZEB);not required for PAGESIZEB<=256
r0, Y+
r1, Y+
spmcrval, (1<<SELFPRGEN)
Do_spm
ZH:ZL, 2
loophi:looplo, 2
Wrloop
ZL, low(PAGESIZEB)
ZH, high(PAGESIZEB) ;not required for PAGESIZEB<=256
spmcrval, (1<<PGWRT) | (1<<SELFPRGEN)
Do_spm
spmcrval, (1<<RWWSRE) | (1<<SELFPRGEN)
ATmega48/88/168 Automotive
;PAGESIZEB is page size in BYTES, not
;use subi for PAGESIZEB<=256
;restore pointer
261

Related parts for ATMEGA168-15AZ