beautypg.com

Sram data memory, Atmega169v/l – Rainbow Electronics Atmega169L User Manual

Page 16

background image

16

ATmega169V/L

2514A–AVR–08/02

SRAM Data Memory

Figure 9 shows how the ATmega169 SRAM Memory is organized.

The ATmega169 is a complex microcontroller with more peripheral units than can be
supported within the 64 locations reserved in the Opcode for the IN and OUT instruc-
tions. For the Extended I/O space from 0x60 - 0xFF in SRAM, only the ST/STS/STD and
LD/LDS/LDD instructions can be used.

The lower 1,280 data memory locations address both the Register File, the I/O memory,
Extended I/O memory, and the internal data SRAM. The first 32 locations address the
Register File, the next 64 location the standard I/O memory, then 160 locations of
Extended I/O memory, and the next 1024 locations address the internal data SRAM.

The five different addressing modes for the data memory cover: Direct, Indirect with Dis-
placement, Indirect, Indirect with Pre-decrement, and Indirect with Post-increment. In
the Register File, registers R26 to R31 feature the indirect addressing pointer registers.

The direct addressing reaches the entire data space.

The Indirect with Displacement mode reaches 63 address locations from the base
address given by the Y- or Z-register.

When using register indirect addressing modes with automatic pre-decrement and post-
increment, the address registers X, Y, and Z are decremented or incremented.

The 32 general purpose working registers, 64 I/O Registers, 160 Extended I/O Regis-
ters, and the 1,024 bytes of internal data SRAM in the ATmega169 are all accessible
through all these addressing modes. The Register File is described in “General Purpose
Register File” on page 10.

Figure 9. Data Memory Map

32 Registers

64 I/O Registers

Internal SRAM

(1024 x 8)

0x0000 - 0x001F
0x0020 - 0x005F

0x04FF

0x0060 - 0x00FF

Data Memory

160 Ext I/O Reg.

0x0100