AT89LP51ED2 Atmel Corporation, AT89LP51ED2 Datasheet - Page 37

no-image

AT89LP51ED2

Manufacturer Part Number
AT89LP51ED2
Description
Manufacturer
Atmel Corporation
Datasheets

Specifications of AT89LP51ED2

Flash (kbytes)
64 Kbytes
Max. Operating Frequency
20 MHz
Cpu
8051-1C
Max I/o Pins
42
Spi
1
Twi (i2c)
1
Uart
1
Adc Channels
7
Adc Resolution (bits)
10
Adc Speed (ksps)
153.8
Sram (kbytes)
2.25
Eeprom (bytes)
4096
Self Program Memory
API
Operating Voltage (vcc)
2.4 to 5.5
Timers
4
Isp
SPI/OCD/UART
Watchdog
Yes

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
AT89LP51ED2-20AAU
Manufacturer:
Atmel
Quantity:
10 000
Part Number:
AT89LP51ED2-20AU
Manufacturer:
Atmel
Quantity:
10 000
Part Number:
AT89LP51ED2-20JU
Manufacturer:
Atmel
Quantity:
10 000
5.4
3714A–MICRO–7/11
Enhanced Dual Data Pointers
The AT89LP51RD2/ED2/ID2 provides two 16-bit data pointers: DPTR0 and DPTR1. The data
pointers are used by several instructions to access the program or data memories. The
Auxiliary 1 Register (AUXR1) and Data Pointer Configuration Register (DPCF) control operation
of the dual data pointers (see
AUXR1 selects which data pointer is currently referenced by instructions including the DPTR
operand. Each data pointer may also be accessed at a pair of SFR addresses that also depend
on the DPS value. The data pointer referenced by DPS is located at the register pair DPL and
DPH (82H an 83H), and the alternate data pointer not referenced by DPS is located at the regis-
ter pair DPLB and DPHB (D4H and D5H). When DPS is toggled, the two data pointers also swap
which SFR pair will access them as shown in
two methods for fast context switching of the data pointers:
Table 5-2.
SFR
DPL (82H)
DPH (83H)
DPLB (D4H)
DPHB (D5H)
• Bit 2 of AUXR1 is hard-wired as a logic 0. The DPS bit may be toggled (to switch data
• In some cases, both data pointers must be used simultaneously. To prevent frequent toggling
pointers) simply by incrementing the AUXR1 register, without altering other bits in the register
unintentionally. This is the preferred method when only a single data pointer will be used at
one time.
of DPS, the AT89LP51RD2/ED2/ID2 supports a prefix notation for selecting the opposite data
pointer per instruction. All DPTR instructions, with the exception of JMP @A+DPTR, when
prefixed with an 0A5H opcode will use the inverse value of DPS (DPS) to select the data
pointer. Some assemblers may support this operation by using the /DPTR operand. For
example, the following code performs a block copy within EDATA:
EX:
COPY: MOVX A, @DPTR
For assemblers that do not support this notation, the 0A5H prefix must be declared in-line:
EX:
INC
MOV
MOV
MOV
MOV
INC
MOVX @/DPTR, A
INC
DJNZ R7, COPY
DB
INC
Data Pointer Register Access
AUXR1 ; Toggle DPS
AUXR1, #00H
DPTR, #SRC
/DPTR, #DST
R7, #BLKSIZE
DPTR
/DPTR
0A5H
DPTR
AT89LP51RD2/ED2/ID2 Preliminary
Table 5-6 on page 39
; DPS = 0
; load source address to dptr0
; load destination address to dptr1
; number of bytes to copy
; read source (dptr0)
; next src (dptr0+1)
; write destination (dptr1)
; next dst (dptr1+1)
; equivalent to INC /DPTR
Table
DPS = 0
DP0L
DP0H
DP1L
DP1H
and
5-2. The AT89LP51RD2/ED2/ID2 provides
Table 5-7 on page
DPS = 1
DP1L
DP1H
DP0L
DP0H
39). The DPS bit in
37

Related parts for AT89LP51ED2