DS89C430/DS89C450 Ultra-High-Speed Flash Microcontrollers
16 of 46
All standard SFR locations from the 8051 are duplicated in the DS89C430, and several SFRs have been added for
the unique features of the DS89C430. Most of these features are controlled by bits in SFRs located in unused
locations in the 8051 SFR map, allowing for increased functionality while maintaining complete instruction set
compatibility.
Table 1 shows the SFRs and their locations.
Table 2 specifies the default reset condition for all SFR
bits.
Data Pointers
The data pointers (DPTR and DPTR1) are used to assign a memory address for the MOVX instructions. This
address can point to a MOVX RAM location (on-chip or off-chip) or a memory-mapped peripheral. Two pointers are
useful when moving data from one memory area to another, or when using a memory-mapped peripheral for both
source and destination addresses. The user can select the active pointer through a dedicated SFR bit (SEL =
DPS.0), or can activate an automatic toggling feature for altering the pointer selection (TSL = DPS.5). An additional
feature, if selected, provides automatic incrementing or decrementing of the current DPTR.
Stack Pointer
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 the scratchpad RAM by setting the stack pointer to the desired location, although the
lower bytes are normally used for working registers.
I/O Ports
The DS89C430 offers four 8-bit I/O ports. Each I/O port is represented by an SFR location and can be written or
read. The I/O port has a latch that contains the value written by software.
Counter/Timers
Three 16-bit timer/counters are available in the DS89C430. Each timer is contained in two SFR locations that can
be read or written by software. The timers are controlled by other SFRs, described in the SFR Bit Description
section of the Ultra-High-Speed Flash Microcontroller User’s Guide.
Serial Ports
The DS89C430 provides two UARTs that are controlled and accessed by SFRs. Each UART has an address that
is used to read and write the value contained in the UART. The same address is used for both read and write
operations, and the read and write operations are distinguished by the instruction. Its own SFR control register
controls each UART.
Table 1. SFR Register Map
REGISTER
ADDRESS
BIT 7
BIT 6
BIT 5
BIT 4
BIT 3
BIT 2
BIT 1
BIT 0
P0
80h
P0.7
P0.6
P0.5
P0.4
P0.3
P0.2
P0.1
P0.0
SP
81h
DPL
82h
DPH
83h
DPL1
84h
DPH1
85h
DPS
86h
ID1
ID0
TSL
AID
—
SEL
PCON
87h
SMOD_0
SMOD0
OFDF
OFDE
GF1
GF0
STOP
IDLE
TCON
88h
TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0
TMOD
89h
GATE
C/T
M1
M0
GATE
C/T
M1
M0
TL0
8Ah
TL1
8Bh
TH0
8Ch