ATMEGA168-20PI Atmel, ATMEGA168-20PI Datasheet - Page 274
![IC AVR MCU 16K 20MHZ 28DIP](/photos/7/21/72189/453-28-dip_sml.jpg)
ATMEGA168-20PI
Manufacturer Part Number
ATMEGA168-20PI
Description
IC AVR MCU 16K 20MHZ 28DIP
Manufacturer
Atmel
Series
AVR® ATmegar
Specifications of ATMEGA168-20PI
Core Processor
AVR
Core Size
8-Bit
Speed
20MHz
Connectivity
I²C, SPI, UART/USART
Peripherals
Brown-out Detect/Reset, POR, PWM, WDT
Number Of I /o
23
Program Memory Size
16KB (8K x 16)
Program Memory Type
FLASH
Eeprom Size
512 x 8
Ram Size
1K x 8
Voltage - Supply (vcc/vdd)
2.7 V ~ 5.5 V
Data Converters
A/D 6x10b
Oscillator Type
Internal
Operating Temperature
-40°C ~ 85°C
Package / Case
28-DIP (0.300", 7.62mm)
Lead Free Status / RoHS Status
Contains lead / RoHS non-compliant
- Current page: 274 of 378
- Download datasheet (8Mb)
26.8
274
Self-Programming the Flash
ATmega48/88/168
Figure 26-3. Addressing the Flash During SPM
Note:
The program memory is updated in a page by page fashion. Before programming a page with
the data stored in the temporary page buffer, the page must be erased. The temporary page buf-
fer is filled one word at a time using SPM and the buffer can be filled either before the Page
Erase command or between a Page Erase and a Page Write operation:
Alternative 1, fill the buffer before a Page Erase
• Fill temporary page buffer
• Perform a Page Erase
• Perform a Page Write
Alternative 2, fill the buffer after Page Erase
• Perform a Page Erase
• Fill temporary page buffer
• Perform a Page Write
If only a part of the page needs to be changed, the rest of the page must be stored (for example
in the temporary page buffer) before the erase, and then be rewritten. When using alternative 1,
the Boot Loader provides an effective Read-Modify-Write feature which allows the user software
to first read the page, do the necessary changes, and then write back the modified data. If alter-
native 2 is used, it is not possible to read the old data while loading since the page is already
erased. The temporary page buffer can be accessed in a random sequence. It is essential that
the page address used in both the Page Erase and Page Write operation is addressing the same
page. See
code example.
Z - REGISTER
1. The different variables used in
PROGRAM MEMORY
“Simple Assembly Code Example for a Boot Loader” on page 278
BIT
PAGE
PROGRAM
COUNTER
15
PAGE ADDRESS
WITHIN THE FLASH
ZPCMSB
PCMSB
PCPAGE
Figure 26-3
ZPAGEMSB
PAGEMSB
PCWORD
WORD ADDRESS
WITHIN A PAGE
(1)
are listed in
1
0
0
INSTRUCTION WORD
PAGE
Table 26-8 on page
PCWORD[PAGEMSB:0]:
00
01
02
PAGEEND
280.
for an assembly
2545S–AVR–07/10
Related parts for ATMEGA168-20PI
Image
Part Number
Description
Manufacturer
Datasheet
Request
R
![ATmega168](/images/manufacturer_photos/0/0/79/atmel_corporation_tmb.jpg)
Part Number:
Description:
Manufacturer:
Atmel Corporation
Datasheet:
![ATmega168 Automotive](/images/manufacturer_photos/0/0/79/atmel_corporation_tmb.jpg)
Part Number:
Description:
Manufacturer:
Atmel Corporation
Datasheet:
![ATMEGA168-20AJ](/images/manufacturer_photos/0/0/79/atmel_corporation_tmb.jpg)
Part Number:
Description:
Manufacturer:
ATMEL Corporation
Datasheet:
![ATMEGA168-20AU](/photos/6/91/69154/313-32-tqfp_tmb.jpg)
Part Number:
Description:
IC AVR MCU 16K 20MHZ 32TQFP
Manufacturer:
Atmel
Datasheet:
![ATMEGA168-20MU](/photos/12/13/121319/atmega168-20mu_tmb.jpg)
Part Number:
Description:
IC AVR MCU 16K 20MHZ 32-QFN
Manufacturer:
Atmel
Datasheet:
![ATMEGA168-20PU](/photos/7/21/72189/453-28-dip_tmb.jpg)
Part Number:
Description:
IC AVR MCU 16K 20MHZ 28DIP
Manufacturer:
Atmel
Datasheet:
![ATMEGA168-15AZ](/photos/6/91/69154/313-32-tqfp_tmb.jpg)
Part Number:
Description:
MCU AVR 16K FLASH 15MHZ 32-TQFP
Manufacturer:
Atmel
Datasheet:
![ATMEGA168-15MZ](/photos/30/99/309943/qfn-32_tmb.jpg)
Part Number:
Description:
MCU AVR 16K FLASH 15MHZ 32-QFN
Manufacturer:
Atmel
Datasheet:
![ATMEGA168-20AI](/photos/6/91/69154/313-32-tqfp_tmb.jpg)
Part Number:
Description:
IC AVR MCU 16K 20MHZ 32TQFP
Manufacturer:
Atmel
Datasheet:
![ATMEGA168-20MUR](/images/manufacturer_photos/0/0/78/atmel_tmb.jpg)
Part Number:
Description:
MCU AVR 16KB FLASH 20MHZ 32QFN
Manufacturer:
Atmel
Datasheet:
![ATMEGA168-20AUR](/photos/6/91/69154/313-32-tqfp_tmb.jpg)
Part Number:
Description:
MCU AVR 16KB FLASH 20MHZ 32TQFP
Manufacturer:
Atmel
Datasheet:
![ATMEGA168-20MQ](/photos/12/32/123211/atmega168-20mq_tmb.jpg)
Part Number:
Description:
IC MCU AVR 16K FLASH 32-QFN
Manufacturer:
Atmel
Datasheet: