AT90CAN128-16AE ATMEL Corporation, AT90CAN128-16AE Datasheet - Page 12

no-image

AT90CAN128-16AE

Manufacturer Part Number
AT90CAN128-16AE
Description
8-bit Avr Microcontroller With 128K Bytes of Isp Flash And CAN Controller.flash (Kbytes) 128 Vcc (V) 2.7-5.5 EEPROM (Kbytes) 4 SRAM (bytes) 4K CAN (mess. Obj.) 15
Manufacturer
ATMEL Corporation
Datasheet
The X-register, Y-register, and
Z-register
RAM Page Z Select Register –
RAMPZ
Stack Pointer
12
AT90CAN128
The registers R26..R31 have some added functions to their general purpose usage.
These registers are 16-bit address pointers for indirect addressing of the data space.
The three indirect address registers X, Y, and Z are defined as described in Figure 6.
Figure 6. The X-, Y-, and Z-registers
In the different addressing modes these address registers have functions as fixed dis-
placement, automatic increment, and automatic decrement (see the instruction set
reference for details).
• Bits 7..2 – Res: Reserved Bits
These are reserved bits and will always read as zero. When writing to this address loca-
tion, write these bits to zero for compatibility with future devices.
• Bit 1 – RAMPZ0: Extended RAM Page Z-pointer
The RAMPZ Register is normally used to select which 64K RAM Page is accessed by
the Z-pointer. As the AT90CAN128 does not support more than 64K of SRAM memory,
this register is used only to select which page in the program memory is accessed when
the ELPM/SPM instruction is used. The different settings of the RAMPZ0 bit have the
following effects:
Note that LPM is not affected by the RAMPZ setting.
The Stack is mainly used for storing temporary data, for storing local variables and for
storing return addresses after interrupts and subroutine calls. The Stack Pointer Regis-
ter always points to the top of the Stack. Note that the Stack is implemented as growing
from higher memory locations to lower memory locations. This implies that a Stack
PUSH command decreases the Stack Pointer.
Bit
Read/Write
Initial Value
X-register
Y-register
Z-register
RAMPZ0 = 0:
RAMPZ0 = 1:
R
7
0
Program memory address 0x0000 - 0x7FFF (lower 64K bytes) is
accessed by ELPM/SPM
Program memory address 0x8000 - 0xFFFF (higher 64K bytes) is
accessed by ELPM/SPM
15
7
R27 (0x1B)
15
7
R29 (0x1D)
15
7
R31 (0x1F)
––
R
6
0
R
5
0
XH
YH
ZH
0
R
4
0
R
3
0
0
0
7
R26 (0x1A)
7
R28 (0x1C)
7
R30 (0x1E)
R
2
0
R
1
0
XL
YL
ZL
0
RAMPZ0
R/W
4250C–CAN–03/04
0
0
RAMPZ
0
0
0
0
0

Related parts for AT90CAN128-16AE