参数资料
型号: T89C51AC2-SLSIM
厂商: Atmel
文件页数: 42/121页
文件大小: 0K
描述: IC 8051 MCU FLASH 32K 44PLCC
标准包装: 27
系列: 89C
核心处理器: 8051
芯体尺寸: 8-位
速度: 40MHz
连通性: UART/USART
外围设备: POR,PWM,WDT
输入/输出数: 34
程序存储器容量: 32KB(32K x 8)
程序存储器类型: 闪存
EEPROM 大小: 2K x 8
RAM 容量: 1.25K x 8
电压 - 电源 (Vcc/Vdd): 3 V ~ 5.5 V
数据转换器: A/D 8x10b
振荡器型: 外部
工作温度: -40°C ~ 85°C
封装/外壳: 44-LCC(J 形引线)
包装: 管件
27
A/T89C51AC2
4127H–8051–02/08
Dual Data Pointer
Description
The A/T89C51AC2 implements a second data pointer for speeding up code execution
and reducing code size in case of intensive usage of external memory accesses.
DPTR 0 and DPTR 1 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 Figure 20) is used to select whether DPTR is the data pointer 0 or the data
pointer 1 (see Figure 16).
Figure 16. Dual Data Pointer Implementation
Application
Software can take advantage of the additional data pointers to both increase speed and
reduce code size, for example, block operations (copy, compare…) are well served by
using one data pointer as a “source” pointer and the other one as a “destination” pointer.
Hereafter is an example of block move implementation using the two pointers and coded
in assembler. The latest C compiler takes also advantage of this feature by providing
enhanced algorithm libraries.
The INC instruction is a short (2 Bytes) and fast (6 machine cycle) 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 to the entry state unless an extra INC AUXR1 is
added
AUXR1EQU0A2h
move:movDPTR,#SOURCE ; address of SOURCE
incAUXR1 ; switch data pointers
movDPTR,#DEST ; address of DEST
mv_loop:incAUXR1; switch data pointers
movxA,@DPTR; get a byte from SOURCE
incDPTR; increment SOURCE address
incAUXR1; switch data pointers
movx@DPTR,A; write the byte to DEST
incDPTR; increment DEST address
jnzmv_loop; check for NULL terminator
end_move:
0
1
DPH0
DPH1
DPL0
0
1
DPS
AUXR1.0
DPH
DPL
DPL1
DPTR
DPTR0
DPTR1
相关PDF资料
PDF描述
T89C51CC01UA-7CTIM IC 8051 MCU FLASH 32K 64BGA
T89C51CC02UA-TDSIM IC 8051 MCU FLASH 16K 24-SOIC
TC520ACOE713 IC SERIAL INTERFACE ADT 16SOIC
TC530COI713 IC DATA ACQ SUBSYSTEM 28SOIC
TDA3653B/N2,112 IC VERT DEFLECT 9-SIL
相关代理商/技术参数
参数描述
T89C51AC2-SLSI-M 制造商:ATMEL 制造商全称:ATMEL Corporation 功能描述:8-bit MCU with 32K bytes Flash, 10 bits A/D and EEPROM
T89C51AC2-SLTC-M 制造商:ATMEL 制造商全称:ATMEL Corporation 功能描述:8-bit MCU with 32K bytes Flash, 10 bits A/D and EEPROM
T89C51AC2-SLTE-M 制造商:ATMEL 制造商全称:ATMEL Corporation 功能描述:8-bit MCU with 32K bytes Flash, 10 bits A/D and EEPROM
T89C51AC2-SLTI-M 制造商:ATMEL 制造商全称:ATMEL Corporation 功能描述:8-bit MCU with 32K bytes Flash, 10 bits A/D and EEPROM
T89C51CC01 制造商:ATMEL 制造商全称:ATMEL Corporation 功能描述:Enhanced 8-bit Microcontroller with CAN Controller and Flash Memory