AT89LP52 Atmel Corporation, AT89LP52 Datasheet - Page 27

no-image

AT89LP52

Manufacturer Part Number
AT89LP52
Description
Manufacturer
Atmel Corporation
Datasheet

Specifications of AT89LP52

Flash (kbytes)
8 Kbytes
Max. Operating Frequency
20 MHz
Cpu
8051-1C
Max I/o Pins
36
Uart
1
Sram (kbytes)
0.25
Eeprom (bytes)
256
Self Program Memory
IAP
Operating Voltage (vcc)
2.4 to 5.5
Timers
3
Isp
SPI
Watchdog
Yes

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
AT89LP52-20AU
Manufacturer:
Atmel
Quantity:
250
Part Number:
AT89LP52-20AU
Manufacturer:
Atmel
Quantity:
10 000
Company:
Part Number:
AT89LP52-20AU
Quantity:
15 490
Part Number:
AT89LP52-20JU
Manufacturer:
Atmel
Quantity:
110
Part Number:
AT89LP52-20JU
Manufacturer:
Atmel
Quantity:
10 000
Part Number:
AT89LP52-20MU
Manufacturer:
Atmel
Quantity:
490
5.3.1
3709D–MICRO–12/11
Data Pointer Update
Table 5-1.
The Dual Data Pointers on the AT89LP51/52 include two features that control how the data
pointers are updated. The data pointer decrement bits, DPD1 and DPD0 in AUXR1, configure
the INC DPTR instruction to act as DEC DPTR. The resulting operation will depend on DPS as
shown in
MOVX.
Instruction
JMP @A+DPTR
MOV DPTR, #data16
MOV /DPTR, #data16
INC DPTR
INC /DPTR
MOVC A,@A+DPTR
MOVC A,@A+/DPTR
MOVX A,@DPTR
MOVX A,@/DPTR
MOVX @DPTR, A
MOVX @/DPTR, A
• 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 AT89LP51/52 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:
A summary of data pointer instructions with fast context switching is listed
Table
INC
MOV
MOV
MOV
MOV
INC
MOVX @/DPTR, A
INC
DJNZ R7, COPY
DB
INC
Data Pointer Instructions
5-2. These bits also control the direction of auto-updates during MOVC and
AUXR1 ; Toggle DPS
AUXR1, #00H
DPTR, #SRC
/DPTR, #DST
R7, #BLKSIZE
DPTR
/DPTR
0A5H
DPTR
; 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
DPS = 0
JMP @A+DPTR0
MOV DPTR0, #data16
MOV DPTR1, #data16
INC DPTR0
INC DPTR1
MOVC A,@A+DPTR0
MOVC A,@A+DPTR1
MOVX A,@DPTR0
MOVX A,@DPTR1
MOVX @DPTR0, A
MOVX @DPTR1, A
Operation
AT89LP51/52
DPS = 1
JMP @A+DPTR1
MOV DPTR1, #data16
MOV DPTR0, #data16
INC DPTR1
INC DPTR0
MOVC A,@A+DPTR1
MOVC A,@A+DPTR0
MOVX A,@DPTR1
MOVX A,@DPTR0
MOVX @DPTR1, A
MOVX @DPTR0, A
inTable
5-1.
27

Related parts for AT89LP52