参数资料
型号: DS80C323-MCD
厂商: MAXIM INTEGRATED PRODUCTS INC
元件分类: Microcontroller
英文描述: 8-BIT, MROM, 18 MHz, MICROCONTROLLER, PDIP40
封装: 0.600 INCH, PLASTIC, DIP-40
文件页数: 5/38页
文件大小: 694K
代理商: DS80C323-MCD
DS80C320/DS80C323 High-Speed/Low-Power Microcontrollers
13 of 38
DUAL DATA POINTER
Data memory block moves can be accelerated using the Dual Data Pointer (DPTR). The standard 8032
DPTR is a 16-bit value that is used to address off-chip data RAM or peripherals. In the
DS80C320/DS80C323, the standard 16-bit data pointer is called DPTR0 and is located at SFR addresses
82h and 83h. These are the standard locations. The new DPTR is located at SFR 84h and 85h and is
called DPTR1. The DPTR Select bit (DPS) chooses the active pointer and is located at the LSB of the
SFR location 86h. No other bits in register 86h have any effect and are set to 0. The user switches
between data pointers by toggling the LSB of register 86h. The increment (INC) instruction is the fastest
way to accomplish this. All DPTR-related instructions use the currently selected DPTR for any activity.
Therefore only one instruction is required to switch from a source to a destination address. Using the
Dual-Data Pointer saves code from needing to save source and destination addresses when doing a block
move. Once loaded, the software simply switches between DPTR and 1. The relevant register locations
are as follows.
DPL
82h
Low byte original DPTR
DPH
83h
High byte original DPTR
DPL1 84h
Low byte new DPTR
DPH1 85h
High byte new DPTR
DPS
86h
DPTR Select (LSB)
Sample code listed below illustrates the saving from using the dual DPTR. The example program was
original code written for an 8051 and requires a total of 1869 DS80C320/DS80C323 machine cycles. This
takes 299
s to execute at 25MHz. The new code using the Dual DPTR requires only 1097 machine
cycles taking 175.5
s. The Dual DPTR saves 772 machine cycles or 123.5s for a 64-byte block move.
Since each pass through the loop saves 12 machine cycles when compared to the single DPTR approach,
larger blocks gain more efficiency using this feature.
64-Byte Block Move without Dual Data Pointer
; SH and SL are high and low byte source address.
; DH and DL are high and low byte of destination address.
# CYCLES
MOV
R5, #64d
; NUMBER OF BYTES TO MOVE
2
MOV
DPTR, #SHSL
; LOAD SOURCE ADDRESS
3
MOV
R1, #SL
; SAVE LOW BYTE OF SOURCE
2
MOV
R2, #SH
; SAVE HIGH BYTE OF SOURCE
2
MOV
R3, #DL
; SAVE LOW BYTE OF DESTINATION
2
MOV
R4, #DH
; SAVE HIGH BYTE OF DESTINATION
2
MOVE:
; THIS LOOP IS PERFORMED THE NUMBER OF TIMES LOADED INTO R5, IN THIS EXAMPLE 64
MOVX
A, @DPTR
; READ SOURCE DATA BYTE
2
MOV
R1, DPL
; SAVE NEW SOURCE POINTER
2
MOV
R2, DPH
;
2
MOV
DPL, R3
; LOAD NEW DESTINATION
2
MOV
DPH, R4
;
2
MOVX
@DPTR, A
; WRITE DATA TO DESTINATION
2
INC
DPTR
; NEXT DESTINATION ADDRESS
3
MOV
R3, DPL
; SAVE NEW DESTINATION POINTER
2
MOV
R4, DPH
;
2
MOV
DPL, R1
; GET NEW SOURCE POINTER
2
MOV
DPH, R2
;
2
INC
DPTR
; NEXT SOURCE ADDRESS
3
DJNZ
R5, MOVE
; FINISHED WITH TABLE?
3
相关PDF资料
PDF描述
DS80C320-QNL 8-BIT, MROM, 33 MHz, MICROCONTROLLER, PQCC44
DS80C320-MCL 8-BIT, MROM, 33 MHz, MICROCONTROLLER, PDIP40
DS80C323-ECD 8-BIT, MROM, 18 MHz, MICROCONTROLLER, PQFP44
DS80C320-QCL 8-BIT, MROM, 33 MHz, MICROCONTROLLER, PQCC44
DS80C320-MNL 8-BIT, MROM, 33 MHz, MICROCONTROLLER, PDIP40
相关代理商/技术参数
参数描述
DS80C323-MCD+ 功能描述:8位微控制器 -MCU High-Speed Low-Power RoHS:否 制造商:Silicon Labs 核心:8051 处理器系列:C8051F39x 数据总线宽度:8 bit 最大时钟频率:50 MHz 程序存储器大小:16 KB 数据 RAM 大小:1 KB 片上 ADC:Yes 工作电源电压:1.8 V to 3.6 V 工作温度范围:- 40 C to + 105 C 封装 / 箱体:QFN-20 安装风格:SMD/SMT
DS80C323MCG 制造商:未知厂家 制造商全称:未知厂家 功能描述:Microprocessor
DS80C323-MCG 制造商:DALLAS 制造商全称:Dallas Semiconductor 功能描述:High-Speed Microcontroller User Guide
DS80C323-MCL 制造商:DALLAS 制造商全称:Dallas Semiconductor 功能描述:High-Speed Microcontroller User Guide
DS80C323-MCR 制造商:DALLAS 制造商全称:Dallas Semiconductor 功能描述:High-Speed Microcontroller User Guide