AT83C51SND1C_03 ATMEL [ATMEL Corporation], AT83C51SND1C_03 Datasheet - Page 27
![no-image](/images/no-image-200.jpg)
AT83C51SND1C_03
Manufacturer Part Number
AT83C51SND1C_03
Description
Single-Chip Flash Microcontroller with MP3 Decoder and Human Interface
Manufacturer
ATMEL [ATMEL Corporation]
Datasheet
1.AT83C51SND1C_03.pdf
(210 pages)
- Current page: 27 of 210
- Download datasheet (2Mb)
Dual Data Pointer
Description
Application
4109E–8051–06/03
The AT8xC51SND1C implement a second data pointer for speeding up code execution
and reducing code size in case of intensive usage of external memory accesses.
DPTR0 and DPTR1 are seen by the CPU as DPTR and are accessed using the SFR
addresses 83h and 84h that are the DPH and DPL addresses. The DPS bit in AUXR1
register (see Table 21) is used to select whether DPTR is the data pointer 0 or the data
pointer 1 (see Figure 20).
Figure 20. Dual Data Pointer Implementation
Software can take advantage of the additional data pointers to both increase speed and
reduce code size, for example, block operations (copy, compare, search …) are well
served by using one data pointer as a “source” pointer and the other one as a “destina-
tion” pointer.
Below is an example of block move implementation using the 2 pointers and coded in
assembler. The latest C compiler also takes advantage of this feature by providing
enhanced algorithm libraries.
The INC instruction is a short (2 Bytes) and fast (6 CPU clocks) way to manipulate the
DPS bit in the AUXR1 register. However, note that the INC instruction does not directly
force the DPS bit to a particular state, but simply toggles it. In simple routines, such as
the block move example, only the fact that DPS is toggled in the proper sequence mat-
ters, not its actual value. In other words, the block move routine works the same whether
DPS is '0' or '1' on entry.
; ASCII block move using dual data pointers
; Modifies DPTR0, DPTR1, A and PSW
; Ends when encountering NULL character
; Note: DPS exits opposite of entry state unless an extra INC AUXR1 is added
AUXR1
move:
mv_loop: inc
end_move:
DPTR1
EQU
mov
inc
mov
movx A,@DPTR
inc
inc
movx @DPTR,A
inc
jnz
DPTR0
0A2h
DPTR,#SOURCE ; address of SOURCE
AUXR1
DPTR,#DEST
AUXR1
DPTR
AUXR1
DPTR
mv_loop
DPH0
DPH1
DPL0
DPL1
; switch data pointers
; address of DEST
; switch data pointers
; get a Byte from SOURCE
; increment SOURCE address
; switch data pointers
; write the Byte to DEST
; increment DEST address
; check for NULL terminator
DPS
0
1
0
1
AUXR1.0
DPH
DPL
AT8xC51SND1C
DPTR
27
Related parts for AT83C51SND1C_03
Image
Part Number
Description
Manufacturer
Datasheet
Request
R
![AT88SC0204CA-SH](/images/no-image3.png)
Part Number:
Description:
Atmel CryptoMemory
Manufacturer:
ATMEL [ATMEL Corporation]
Datasheet:
![AT88SC0808CA-SH](/images/no-image3.png)
Part Number:
Description:
Atmel CryptoMemory
Manufacturer:
ATMEL [ATMEL Corporation]
Datasheet:
![AT88SC1616C-SH](/images/no-image3.png)
Part Number:
Description:
Atmel CryptoMemory, 16Kbit
Manufacturer:
ATMEL [ATMEL Corporation]
Datasheet:
![AT25DF161-SH](/images/no-image3.png)
Part Number:
Description:
8-bit Atmel Microcontrollers
Manufacturer:
ATMEL [ATMEL Corporation]
Datasheet:
![ATMEGA1281V](/images/no-image3.png)
Part Number:
Description:
8-bit Atmel Microcontroller with 64K/128K/256K Bytes In-System Programmable Flash
Manufacturer:
ATMEL [ATMEL Corporation]
Datasheet:
![ATMEGA164A_11](/images/no-image3.png)
Part Number:
Description:
8-bit Atmel Microcontroller with 16/32/64/128K Bytes In-System Programmable Flash
Manufacturer:
ATMEL [ATMEL Corporation]
Datasheet:
![ATMEGA165A_11](/images/no-image3.png)
Part Number:
Description:
8-bit Atmel Microcontroller with 16/32/64K Bytes In-System Programmable Programmable
Manufacturer:
ATMEL [ATMEL Corporation]
Datasheet:
![U641B](/images/manufacturer_photos/0/0/79/atmel_corporation_tmb.jpg)
Part Number:
Description:
INTERVAL AND WIPE/WASH WIPER CONTROL IC WITH DELAY
Manufacturer:
ATMEL Corporation
Datasheet:
![U4082B](/images/manufacturer_photos/0/0/79/atmel_corporation_tmb.jpg)
Part Number:
Description:
Low-Voltage Voice-Switched IC for Hands-Free Operation
Manufacturer:
ATMEL Corporation
Datasheet:
![U4089B](/images/manufacturer_photos/0/0/79/atmel_corporation_tmb.jpg)
Part Number:
Description:
MONOLITHIC INTEGRATED FEATUREPHONE CIRCUIT
Manufacturer:
ATMEL Corporation
Datasheet:
![U4255BM-M](/images/manufacturer_photos/0/0/79/atmel_corporation_tmb.jpg)
Part Number:
Description:
AM-FM Receiver IC U4255BM-M
Manufacturer:
ATMEL Corporation
Datasheet:
![U4089B-P](/images/manufacturer_photos/0/0/79/atmel_corporation_tmb.jpg)
Part Number:
Description:
Monolithic Integrated Feature Phone Circuit
Manufacturer:
ATMEL Corporation
Datasheet:
![TDA4470](/images/manufacturer_photos/0/0/79/atmel_corporation_tmb.jpg)
Part Number:
Description:
Multistandard Video-IF and Quasi Parallel Sound Processing
Manufacturer:
ATMEL Corporation
Datasheet: