English
Language : 

DS80C320-MCG Datasheet, PDF (3/175 Pages) Dallas Semiconductor – High-Speed Microcontroller User Guide
High-Speed Microcontroller User’s Guide
SECTION 3: ARCHITECTURE
The High-Speed Microcontroller is based on the industry standard 80C52. The core is an accumulator
based architecture using internal registers for data storage and peripheral control. It executes the standard
8051 instruction set. This section provides a brief description of each architecture feature. Details
concerning the programming model, instruction set, and register description are provided in Section 4.
ALU
The ALU is responsible for math functions, comparisons, and general decision making in the High-Speed
Microcontroller. The ALU is not explicitly used by software. Instruction decoding prepares the ALU
automatically and passes it the appropriate data. The ALU primarily uses two special function registers
(SFRs) as the source and destination for all operations. These are the Accumulator and B register. The
ALU also provides status information in the Program Status Register. The SFRs are described below.
SPECIAL FUNCTION REGISTERS
All peripherals and operations that are not explicit instructions in the High-Speed Microcontroller are
controlled via Special Function Registers (SFRs). All SFRs are described in Section 4. The most
commonly used registers that are basic to the architecture are also described below.
Accumulator
The Accumulator is the primary register used in the High-Speed Microcontroller. It is the source and
destination of most math, data movement, decisions, and other operations. Although it can be bypassed,
most high-speed instructions require the use of the Accumulator (ACC) as one argument.
B Register
The B register is used as the second 8-bit argument in multiply and divide operations. When not used for
these purposes, the B register can be used as a general purpose register.
Program Status Word
The Program Status Word holds a selection of bit flags that include the Carry Flag, Auxiliary Carry Flag,
General Purpose Flag, Register Bank Select, Overflow Flag, and Parity Flag.
Data Pointer(s)
The Data Pointer is used to designate a memory address for the MOVX instruction. This address can
point to a MOVX RAM location, either on- or off-chip, or a memory mapped peripheral. When moving
data from one memory area to another or from memory to a memory mapped peripheral, a pointer is
needed for both the source and destination. Thus the High-Speed Microcontroller offers two data
pointers. The user selects the active pointer via a dedicated SFR bit.
Stack Pointer
The microcontroller provides a Stack in the scratchpad RAM area discussed below. The Stack Pointer
denotes the register location at the top of the Stack, which is the last used value. The user can place the
Stack anywhere in scratchpad RAM by setting the Stack Pointer to that location.
I/O Ports
The standard High-Speed Microcontroller offers four 8-bit I/O ports. ROM less versions use Port 0 and
Port 2 as address and data busses. In those versions, only two ports are available for general purpose I/O.
Each I/O port is a Special Function Register that can be written or read. The I/O port has a latch that
3 of 175