ade7566 Analog Devices, Inc., ade7566 Datasheet - Page 75

no-image

ade7566

Manufacturer Part Number
ade7566
Description
Single-phase Energy Measurement Ic With 8052 Mcu, Rtc, And Lcd Driver
Manufacturer
Analog Devices, Inc.
Datasheet

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
ade7566ASTZF16
Manufacturer:
Bestrely
Quantity:
4 213
Part Number:
ade7566ASTZF16
Manufacturer:
Analog Devices Inc
Quantity:
10 000
Part Number:
ade7566ASTZF16
Manufacturer:
ADI/亚德诺
Quantity:
20 000
Part Number:
ade7566ASTZF16-RL
Manufacturer:
Analog Devices Inc
Quantity:
10 000
Part Number:
ade7566ASTZF8
Manufacturer:
Analog Devices Inc
Quantity:
10 000
Part Number:
ade7566ASTZF8-RL
Manufacturer:
Analog Devices Inc
Quantity:
10 000
Direct Addressing
With direct addressing, the value at the source address is moved
to the destination address. Direct addressing provides the fastest
execution time of all the addressing modes when an instruction
is performed between registers. Note that indirect or direct
addressing modes can be used to access general-purpose RAM
Address 0x00 through Address 0x7F. An instruction with direct
addressing that uses an address between 0x80 and 0xFF is
referring to a special function memory location.
Indirect Addressing
With indirect addressing, the value pointed to by the register is
moved to the destination address. For example, to move the
contents of internal RAM Address 0x82 to the accumulator, use
the following instructions:
MOV
MOV
These two instructions require a total of four clock cycles and
three bytes of storage in the program memory.
Indirect addressing allows addresses to be computed, which is
useful for indexing into data arrays stored in RAM.
Note that an instruction that refers to Address 0x00 through
Address 0x7F is referring to internal RAM, and indirect or
direct addressing modes can be used. An instruction with
indirect addressing that uses an address between 0x80 and 0xFF
is referring to internal RAM, not to an SFR.
Extended Direct Addressing
The DPTR register (see Table 59) is used to access internal
extended RAM in extended indirect addressing mode. The
ADE7566/ADE7569 have 256 bytes of XRAM, accessed through
MOVX instructions. External memory spaces are not supported
on this device.
In extended direct addressing mode, the DPTR register points
to the address of the byte of extended RAM. The following code
moves the contents of extended RAM Address 0x100 to the
accumulator:
MOV
MOVX
R0,#82h
A,@R0
DPTR,#100h
A,@DPTR
Rev. 0 | Page 75 of 136
These two instructions require a total of seven clock cycles and
four bytes of storage in the program memory.
Extended Indirect Addressing
The internal extended RAM is accessed through a pointer to the
address in indirect addressing mode. The ADE7566/ADE7569 have
256 bytes of internal extended RAM, accessed through MOVX
instructions. External memory is not supported on the devices.
In extended indirect addressing mode, a register holds the address
of the byte of extended RAM. The following code moves the
contents of extended RAM Address 0x80 to the accumulator:
MOV
MOVX
These two instructions require six clock cycles and three bytes
of storage.
Note that there are 256 bytes of extended RAM, therefore, both
extended direct and extended indirect addressing can cover the
whole address range. There is a storage and speed advantage to
using extended indirect addressing because the additional byte
of addressing available through the DPTR register that is not
needed is not stored.
From the three examples demonstrating the access of internal
RAM from 0x80 through 0xFF, and the access of extended
internal RAM from 0x00 through 0xFF, it can be seen that it is
most efficient to use the entire internal RAM accessible through
indirect access before moving to extended RAM.
Code Indirect Addressing
The internal code memory can be accessed indirectly. This can
be useful for implementing lookup tables and other arrays of
constants that are stored in flash. For example, to move the data
stored in flash memory at Address 0x8002 into the accumulator,
use the following code:
MOV
CLR
MOVX
The accumulator can be used as a variable index into the array
of flash memory located at DPTR.
R0,#80h
A,@R0
DPTR,#8002h
A
A,@A+DPTR
ADE7566/ADE7569

Related parts for ade7566