Replaces data sheets 87C524 of 1998 May 01 and 87C528 of 1998 May 01
IC28 Data Handbook
1999 Jul 23
Page 2
Philips SemiconductorsProduct specification
80C51 8-bit microcontrollers
2
16K/32K, 512 OTP, I
DESCRIPTION
The 87C528 single-chip 8-bit microcontroller is manufactured in an
advanced CMOS process and is a derivative of the 80C51
microcontroller family. The 87C528 has the same instruction set as
the 80C51. Three versions of the derivative exist:
•83C528—32k bytes ROM
•83C524—16k bytes ROM
•80C528—ROMless version of the 83C528
•87C528—32k bytes EPROM
•87C524—16k bytes EPROM
This device provides architectural enhancements that make it
applicable in a variety of applications in consumer, telecom and
general control systems, especially in those systems which need
large ROM and RAM capacity on-chip.
The 87C528 contains a 32k × 8 EPROM and the 87C524 contains a
16k x 8 EPROM. Both devices have a 512 × 8 RAM, four 8-bit I/O
ports, two 16-bit timer/event counters (identical to the timers of the
80C51), a 16-bit timer (identical to the timer 2 of the 80C52), a
watchdog timer with a separate oscillator, a multi-source,
two-priority-level, nested interrupt structure, two serial interfaces
(UART and I
In addition, the 87C524/87C528 has two software selectable modes
of power reduction—idle mode and power-down mode. The idle
mode freezes the CPU while allowing the RAM, timers, serial port,
and interrupt system to continue functioning. The power-down mode
saves the RAM contents but freezes the oscillator, causing all other
chip functions to be inoperative.
2
C-bus), and on-chip oscillator and timing circuits.
C, watchdog timer
FEA TURES
•80C51 instruction set
– 512 × 8 RAM
– Memory addressing capability
64k ROM and 64k RAM
– Three 16-bit counter/timers
– On-chip watchdog timer with oscillator
– Full duplex UART
P0.0–0.739–32 43–36 37–30I/OPort 0: Port 0 is an open-drain, bidirectional I/O port. Port 0 pins that have 1s written to
P1.0–P1.71–82–940–44
P2.0–P2.721–28 24–31 18–25I/OPort 2: Port 2 is an 8-bit bidirectional I/O port with internal pull-ups. Port 2 pins that have
P3.0–P3.710–1711,
RST9104I/OReset: A high on this pin for two machine cycles while the oscillator is running, resets the
ALE303327I/OAddress Latch Enable: Output pulse for latching the low byte of the address during an
PSEN293226OProgram Store Enable: The read strobe to external program memory. When the device is
EA313529IExternal Access Enable: EA must be externally held low during RESET to enable the
XTAL1192115ICrystal 1: Input to the inverting oscillator amplifier and input to the internal clock generator
XTAL2182014OCrystal 2: Output from the inverting oscillator amplifier.
202216IGround: circuit ground potential.
404438IPower Supply: +5 V power supply pin during normal operation, Idle mode and
1–3
1240IT2 (P1.0): Timer/counter 2 external count input (following edge triggered).
2341IT2EX (P1.1): T imer/counter 2 trigger input.
782I/OSCL (P1.6): I2C serial port clock line.
893I/OSDA (P1.7): I2C serial port data line.
13–19
10115IRxD (P3.0): Serial input port
11137OTxD (P3.1): Serial output port
12148IINT0 (P3.2): External interrupt
13159IINT1 (P3.3): External interrupt
141610IT0 (P3.4): Timer 0 external input
151711IT1 (P3.5): T imer 1 external input
161812OWR (P3.6): External data memory write strobe
171913ORD (P3.7): External data memory read strobe
5,
7–13
Power-down mode.
them float and can be used as high-impedance inputs. Port 0 is also the multiplexed
low-order address and data bus during accesses to external program and data memory. In
this application, it uses strong internal pull-ups when emitting 1s.
I/OPort 1: Port 1 is an 8-bit bidirectional I/O port with internal pull-ups, except P1.6 and P1.7
which have open drain. Port 1 pins that have 1s written to them are pulled high by the
internal pull-ups and can be used as inputs. As inputs, port 1 pins that are externally pulled
low will source current because of the internal pull-ups. (See DC Electrical Characteristics:
I
). Port 1 can sink/source one TTL (4 LSTTL) inputs. Port 1 receives the low-order
IL
address byte during program memory verification. Port 1 also serves alternate functions for
timer 2:
1s written to them are pulled high by the internal pull-ups and can be used as inputs. As
inputs, port 2 pins that are externally being pulled low will source current because of the
internal pull-ups. (See DC Electrical Characteristics: I
address byte during fetches from external program memory and during accesses to
external data memory that use 16-bit addresses (MOVX @DPTR). In this application, it
uses strong internal pull-ups when emitting 1s. During accesses to external data memory
that use 8-bit addresses (MOV @Ri), port 2 emits the contents of the P2 special function
register.
I/OPort 3: Port 3 is an 8-bit bidirectional I/O port with internal pull-ups. Port 3 pins that have
1s written to them are pulled high by the internal pull-ups and can be used as inputs. As
inputs, port 3 pins that are externally being pulled low will source current because of the
pull-ups. (See DC Electrical Characteristics: I
the SC80C51 family , as listed below:
device. An internal diffused resistor to V
capacitor to V
reset signal is active.
access to external memory. In normal operation, ALE is emitted at a constant rate of 1/6
the oscillator frequency , and can be used for external timing or clocking. Note that one ALE
pulse is skipped during each access to external data memory.
executing code from the external program memory, PSEN
cycle, except that two PSEN
memory. PSEN
device to fetch code from external program memory locations 0000H to 7FFFH. If EA
held high during RESET, the device executes from internal program memory unless the
program counter contains an address greater than 7FFFH. EA
circuits.
. After a watchdog timer overflow, this pin is pulled high while the internal
DD
is not activated during fetches from internal program memory.
activations are skipped during each access to external data
* SFRs are bit addressable.
# SFRs are modified from or added to the 80C51 SFRs.
Capture high
Capture low
Serial data buffer
Timer high 0
Timer high 1
Timer high 2
Timer low 0
Timer low 1
Timer low 2
Watchdog timer
CBH
CAH
99H
9F9E9D9C9B9A9998
WRSD0XXXXXXX0xxxxxxxB
DFDEDDDCDBDAD9D8
WRSD0SC0CLHXXXSTRENS00xxxx00B
8F8E8D8C8B8A8988
CFCECDCCCBCAC9C8
CP/RL2
8CH
8DH
CDH
8AH
8BH
CCH
FFH
00H
00H
xxxxxxxxB
00H
00H
00H
00H
00H
00H
00H
00H
1999 Jul 23
7
Page 8
Philips SemiconductorsProduct specification
80C51 8-bit microcontrollers
2
16K/32K, 512 OTP, I
C, watchdog timer
87C524/87C528
Table 2. Internal and External Program Memory Access with Security Bit Set
INSTRUCTION
MOVC in internal program memoryYESYES
MOVC in external program memoryNOYES
INTERNAL DATA MEMORY
The internal data memory is divided into three physically separated
segments: 256 bytes of RAM, 256 bytes of AUX-RAM, and a
128 bytes special function area. These can be addressed each in a
different way.
– RAM 0 to 127 can be addressed directly and indirectly as in the
80C51. Address pointers are R0 and R1 of the selected register
bank.
– RAM 128 to 255 can only be addressed indirectly as in the 80C51.
Address pointers are R0 and R1 of the selected register bank.
– AUX-RAM 0 to 255 is indirectly addressed in the same way as
external data memory with the MOVX instructions. Address
pointers are R0, R1 of the selected register bank and DPTR. An
access to AUX-RAM 0 to 255 will not affect ports P0, P2, P3.6
and P3.7.
An access to external data memory locations higher than 255 will be
performed with the MOVX DPTR instructions in the same way as in
the 8051 structure, so with P0 and P2 as data/address bus and P3.6
and P3.7 as write and read timing signals. Note that these external
data memory cannot be accessed with R0 and R1 as address
pointer.
TIMER 2
Timer 2 is functionally equal to the Timer 2 of the 8052AH. Timer 2 is
a 16-bit timer/counter . These 16 bits are formed by two special
function registers TL2 and TH2. Another pair of special function
register RCAP2L and RCAP2H form a 16-bit capture register or a
16-bit reload register. Like Timer 0 and 1, it can operate either as a
timer or as an event counter. This is selected by bit C/T2N in the
special function register T2CON. It has three operating modes:
capture, autoload, and baud rate generator mode which are selected
by bits in T2CON.
WATCHDOG TIMER T3
The watchdog timer consists of an 11-bit prescaler and an 8-bit timer
formed by special function register T3. The prescaler is incremented
by an on-chip oscillator with a fixed frequency of 1MHz. The
maximum tolerance on this frequency is –50% and +100%. The 8-bit
timer increments every 2048 cycles of the on-chip oscillator. When a
timer overflow occurs, the microcontroller is reset and a reset output
pulse of 16 × 2048 cycles of the on-chip oscillator is generated at pin
RST. The internal RESET signal is not inhibited when the external
RST pin is kept low by, for example, an external reset circuit. The
RESET signal drives port 1, 2, 3 into the high state and port 0 into
the high impedance state.
The watchdog timer is controlled by one special function register
WDCON with the direct address location A5H. WDCON can be read
and written by software. A value of A5H in WDCON halts the
on-chip oscillator and clears both the prescaler and timer T3. After
the RESET signal, WDCON contains A5H. Every value other than
A5H in WDCON enables the watchdog timer. When the watchdog
timer is enabled, it runs independently of the XTAL-clock.
Timer T3 can be read on the fly. Timer T3 can only be written if
WDCON contains the value 5AH. A successful write operation to T3
will clear the prescaler and WDCON, leaving the watchdog enabled
and preventing inadvertent changes of T3. To prevent an overflow of
ACCESS TO INTERNAL
PROGRAM MEMORY
the watchdog timer, the user program has to reload the watchdog
timer within periods that are shorter than the programmed watchdog
timer internal. This time interval is determined by an 8-bit value that
has to be loaded in register T3 while at the same time the prescaler
is cleared by hardware.
Watchdog timer interval =
BIT-LEVEL I2C INTERFACE
This bit-level serial I/O interface supports the I2C-bus. P1.6/SCL and
P1.7/SDA are the serial I/O pins. These two pins meet the I
specification concerning the input levels and output drive capability.
Consequently , these pins have an open drain output configuration.
All the four modes of the I
– master transmitter
The advantages of the bit-level I
software I
– the hardware can generate the SCL pulse
– Testing a single bit (RBF respectively, WBF) is sufficient as a
check for error free transmission.
The bit-level I
the following functions:
– filtering the incoming serial data and clock signals
– recognizing the START condition
– generating a serial interrupt request SI after reception of a START
condition and the first falling edge of the serial clock
– recognizing the ST OP condition
– recognizing a serial clock pulse on the SCL line
– latching a serial bit on the SDA line (SDI)
– stretching the SCL LOW period of the serial clock to suspend the
transfer of the next serial data bit
– setting Read Bit Finished (RBF) when the SCL clock pulse has
finished and Write Bit Finished (WBF) if there is no arbitration loss
detected (i.e., SDA = 0 while SDO = 1)
– setting a serial clock Low-to-High detected (CLH) flag
– setting a Bus Busy (BB) flag on a START condition and clearing
this flag on a STOP condition
– releasing the SCL line and clearing the CLH, RBF and WBF flags
to resume transfer of the next serial data bit
– generating an automatic clock if the single bit data register S1BIT
is used in master mode.
The following functions must be done in software:
– handling the I
– converting serial to parallel data when receiving
– converting parallel to serial data when transmitting
– comparing the received slave address with its own
– interpreting the acknowledge information
– guarding the I
2
C implementation are:
2
C hardware operates on serial bit level and performs
2
C START interrupts
2
C status if RBF or WBF = 0.
ACCESS TO EXTERNAL
PROGRAM MEMORY
[256 * (T3)] 2048
on * chip oscillator frequency
2
C-bus are supported:
2
C hardware compared with a full
2
C
1999 Jul 23
8
Page 9
Philips SemiconductorsProduct specification
80C51 8-bit microcontrollers
2
16K/32K, 512 OTP, I
Additionally, if acting as master:
– generating START and STOP conditions
– handling bus arbitration
– generating serial clock pulses if S1BIT is not used.
Three SFRs control the bit-level I
S1SCS.
INTERRUPT SYSTEM
The interrupt structure of the 8XC528 is the same as that used in the
80C51, but includes two additional interrupt sources: one for the
third timer/counter , T2, and one for the I2C interface. The interrupt
enable and interrupt priority registers are IE and IP.
The interrupt vector locations and the interrupt priorities are:
SourcePriority within Level
VectorAddress
0003HIE0Highest
002BHTF2+EXF2
0053HSI (I
000BHTF0
0013HIE1
001BHTF1
0023HRI+TILowest
2
C)
1999 Jul 23
9
Page 10
Philips SemiconductorsProduct specification
80C51 8-bit microcontrollers
2
16K/32K, 512 OTP, I
OSCILLA T OR CHARACTERISTICS
XTAL1 and XTAL2 are the input and output, respectively , of an
inverting amplifier . The pins can be configured for use as an on-chip
oscillator, as shown in the Logic Symbol.
To drive the device from an external clock source, XTAL1 should be
driven while XTAL2 is left unconnected. There are no requirements
on the duty cycle of the external clock signal, because the input to
the internal clock circuitry is through a divide-by-two flip-flop.
However, minimum and maximum high and low times specified in
the data sheet must be observed.
RESET
A reset is accomplished by holding the RST pin high for at least two
machine cycles (24 oscillator periods), while the oscillator is running.
To insure a good power-up reset, the RST pin must be high long
enough to allow the oscillator time to start up (normally a few
milliseconds) plus two machine cycles. At power-up, the voltage on
V
and RST must come up at the same time for a proper start-up.
DD
IDLE MODE
In idle mode, the CPU puts itself to sleep while all of the on-chip
peripherals stay active. The instruction to invoke the idle mode is the
last instruction executed in the normal operating mode before the
idle mode is activated. The CPU contents, the on-chip RAM, and all
of the special function registers remain intact during this mode. The
idle mode can be terminated either by any enabled interrupt (at
which time the process is picked up at the interrupt service routine
and continued), or by a hardware reset which starts the processor in
the same manner as a power-on reset.
C, watchdog timer
87C524/87C528
POWER-DOWN MODE
In the power-down mode, the oscillator is stopped and the
instruction to invoke power-down is the last instruction executed.
The power-down mode can be terminated by a RESET in the same
way as in the 80C51 or in addition by one of two external interrupts,
INT0 or INT1. A termination with an external interrupt does not affect
the internal data memory and does not affect the special function
registers. This makes it possible to exit power-down without
changing the port output levels. To terminate the power-down mode
with an external interrupt INT0
level-sensitive and must be enabled. The external interrupt input
signal INT0
restarted and stabilized. An instruction following the instruction that
puts the device in the power-down mode will be executed. A reset
generated by the watchdog timer terminates the power-down mode
in the same way as an external RESET, and only the contents of the
on-chip RAM are preserved. The control bits for the reduced power
modes are in the special function register PCON.
and INT1 must be kept low until the oscillator has
DESIGN CONSIDERATIONS
At power-on, the voltage on VDD and RST must come up at the
same time for a proper start-up.
When the idle mode is terminated by a hardware reset, the device
normally resumes program execution, from where it left off, up to
two machine cycles before the internal reset algorithm takes control.
On-chip hardware inhibits access to internal RAM in this event, but
access to the port pins is not inhibited. To eliminate the possibility of
an unexpected write when idle is terminated by reset, the instruction
following the one that invokes idle should not be one that writes to a
port pin or to external memory.
Table 5 shows the state of I/O ports during low current operating
modes.
or INT1 must be switched to
Table 5. External Pin Status During Idle and Power-Down Modes
Operating temperature under bias
Storage temperature range–65 to +150°C
Voltage on any other pin to V
Input, output current on any two pins±10mA
Power dissipation
(based on package heat transfer limitations, not device power consumption)
NOTES:
1. Stresses above those listed under Absolute Maximum Ratings may cause permanent damage to the device. This is a stress rating only and
functional operation of the device at these or any conditions other than those described in the AC and DC Electrical Characteristics section
of this specification is not implied.
2. This product includes circuitry specifically designed for the protection of its internal devices from the damaging effects of excessive static
charge. Nonetheless, it is suggested that conventional precautions be taken to avoid applying greater than the rated maxima.
3. Parameters are valid over operating temperature range unless otherwise specified. All voltages are with respect to V
SS
1, 2, 3
PARAMETER
RATINGUNIT
0 to +70, or
–40 to +85
–0.5 to VDD +0.5V
1.0W
unless otherwise noted.
SS
°C
1999 Jul 23
10
Page 11
Philips SemiconductorsProduct specification
80C51 8-bit microcontrollers
2
16K/32K, 512 OTP, I
C, watchdog timer
87C524/87C528
DC ELECTRICAL CHARACTERISTICS
T
= 0°C to +70°C (VDD = 5 V ±10%), –40°C to +85°C (VDD = 5 V ±10%), VSS=0 V
amb
TESTLIMITS
SYMBOLPARAMETERPART TYPECONDITIONSMINMAXUNIT
V
V
V
V
V
V
V
V
V
V
V
I
I
I
I
I
IL
IL1
IL2
IH
IH1
IH2
OL
OL1
OL2
OH
OH1
IL
TL
IL1
IL2
CC
Input low voltage,
except EA
, P1.6/SCL, P1.7/SDA
0°C to 70°C
–40°C to +85°C
Input low voltage to EA0°C to 70°C
–40°C to +85°C
Input low voltage to P1.6/SCL, P1.7/SDA
Input high voltage,
except XTAL1, RST, P1.6/SCL, P1.7/SDA
5
0°C to 70°C
–40°C to +85°C
Input high voltage, XTAL1, RST0°C to 70°C
–40°C to +85°C
Input high voltage, P1.6/SCL, P1.7/SDA
1. Capacitive loading on Port 0 and Port 2 may cause spurious noise pulses to be superimposed on the V
noise is due to external bus capacitance discharging into the port and port 2 pins when these pins make 1-to-0 transactions during bus
s of ALE and ports 1 and 3. The
OL
operations. In the worst cases (capacitive loading > 100pF), the noise pulse on the ALE pin may exceed 0.8V . In such cases, it may be
desirable to qualify ALE with a Schmitt Trigger, or use an address latch with a Schmitt Trigger STROBE input. Under steady state
(non-transient) conditions, I
(all bits) 15 mA.
2. Capacitive loading on Ports 0 and 2 may cause the V
address bits are stabilizing.
must be externally limited as follows: 10 mA per port pin, port 0 total (all bits) 26 mA, ports 1, 2, and total each
OL
on ALE and PSEN to momentarily fall below the 0.9VCC specification when the
OH
3. Pins of ports 1, 2, and 3 source a transition current when they are being externally driven from 1 to 0. The transition current reaches its
maximum value when V
4. See Figures 10 through 13 for I
5. The input threshold voltage of P1.6 and P1.7 (SIO1) meets the I
is approximately 2 V.
IN
test conditions.
CC
2
C specification, so an input voltage below 1.5 V will be recognized as a
logic 0 while an input voltage above 3.0 V will be recognized as a logic 1.
1999 Jul 23
11
mA
mA
Page 12
Philips SemiconductorsProduct specification
80C51 8-bit microcontrollers
2
16K/32K, 512 OTP, I
AC ELECTRICAL CHARACTERISTICS
C, watchdog timer
1, 2
87C524/87C528
16MHz CLOCKVARIABLE CLOCK
SYMBOLFIGUREPARAMETERMINMAXMINMAXUNIT
1/t
t
LHLL
t
AVLL
t
LLAX
t
LLIV
t
LLPL
t
PLPH
t
PLIV
t
PXIX
t
PXIZ
t
AVIV
t
PLAZ
CLCL
1Oscillator frequency:Speed Versions
87C528P878C528EXX3.516MHz
1ALE pulse width852t
1Address valid to ALE low8t
1Address hold after ALE low28t
1ALE low to valid instruction in1504t
1ALE low to PSEN low23t
1PSEN pulse width1433t
1PSEN low to valid instruction in833t
–40ns
CLCL
–55ns
CLCL
–35ns
CLCL
–100ns
CLCL
–40ns
CLCL
–45ns
CLCL
–105ns
CLCL
1Input instruction hold after PSEN00ns
1Input instruction float after PSEN38t
1Address to valid instruction in2085t
–25ns
CLCL
–105ns
CLCL
1PSEN low to address float1010ns
Data Memory
t
RLRH
t
WLWH
t
RLDV
t
RHDX
t
RHDZ
t
LLDZ
t
AVDV
t
LLWL
t
AVWL
t
QVWX
t
WHQX
t
RLAZ
t
WHLH
2, 3RD pulse width2756t
2, 3WR pulse width2756t
2, 3RD low to valid data in1485t
–100ns
CLCL
–100ns
CLCL
–165ns
CLCL
2, 3Data hold after RD00ns
2, 3Data float after RD552t
2, 3ALE low to valid data in3508t
2, 3Address to valid data in3989t
2, 3ALE low to RD or WR low1382383t
2, 3Address valid to WR low or RD low1204t
2, 3Data valid to WR transition3t
2, 3Data hold after WR13t
–503t
CLCL
–130ns
CLCL
–60ns
CLCL
–50ns
CLCL
–70ns
CLCL
–150ns
CLCL
–165ns
CLCL
+50ns
CLCL
2, 3RD low to address float00ns
2, 3RD or WR high to ALE high23103t
4Serial port clock cycle time75012t
4Output data setup to clock rising edge49210t
4Output data hold after clock rising edge82t
CLCL
–133ns
CLCL
–117ns
CLCL
4Input data hold after clock rising edge00ns
4Clock rising edge to input data valid49210t
–133ns
CLCL
NOTES:
1. Parameters are valid over operating temperature range unless otherwise specified.
2. Load capacitance for port 0, ALE, and PSEN
= 100pF, load capacitance for all other outputs = 80pF.
ns
1999 Jul 23
12
Page 13
Philips SemiconductorsProduct specification
80C51 8-bit microcontrollers
2
16K/32K, 512 OTP, I
C, watchdog timer
87C524/87C528
AC ELECTRICAL CHARACTERISTICS – I2C INTERFACE
SYMBOLPARAMETERINPUTOUTPUTI2C SPECIFICATION
SCL TIMING CHARACTERISTICS
t
HD;STA
t
LOW
t
HIGH
t
RC
t
FC
STAR T condition hold time≥ 14 t
SCL LOW time≥ 16 t
SCL HIGH time≥ 14 t
SCL rise time≤ 1µs
SCL fall time≤ 0.3µs
SDA TIMING CHARACTERISTICS
t
SU;DAT1
t
HD;DAT
t
SU;STA
t
SU;STO
t
BUF
t
RD
t
FD
Data set-up time≥ 250nsNote 2≥ 250ns
Data hold time≥ 0nsNote 2≥ 0ns
Repeated START set-up time≥ 14 t
STOP condition set-up time≥ 14 t
Bus free time≥ 14 t
SDA rise time≤ 1µs
SDA fall time≤ 0.3µs
NOTES:
1. At f
2. This parameter is determined by the user software, it has to comply with the I
3. This value gives the autoclock pulse length which meets the I
= 3.5MHz, this evaluates to 14 × 286ns = 4µs, i.e., the bit-level I2C interface can respond to the I2C protocol for f
CLK
2
C specification for the specified XTAL clock frequency range. Alternatively, the
SCL pulse may be timed by software.
4. Spikes on SDA and SCL lines with a duration of less than 4 × f
will be filtered out.
CLK
5. The rise time is determined by the external bus line capacitance and pull-up resistor, it must be ≤ 1µs.
6. The maximum capacitance on bus lines SDA and SCL is 400pF.
Each timing symbol has five characters. The first character is always
‘t’ (= time). The other characters, depending on their positions,
indicate the name of a signal or the logical status of that signal. The
designations are:
A – Address
C – Clock
D – Input data
H – Logic level high
I – Instruction (program memory contents)
L – Logic level low, or ALE
ALE
PSEN
PORT 0
C, watchdog timer
t
LHLL
t
t
AVLL
LLPL
t
LLAX
A0–A7A0–A7
t
LLIV
t
PLIV
t
PLPH
t
PLAZ
t
PXIX
P – PSEN
Q – Output data
R–RD
signal
t – Time
V – Valid
W– WR
signal
X – No longer a valid logic level
Z – Float
Examples: t
INSTR IN
t
PXIZ
AVLL
t
LLPL
87C524/87C528
= Time for address valid to ALE low.
= Time for ALE low to PSEN low.
ALE
PSEN
PORT 0
PORT 2
RD
PORT 2
t
AVLL
t
LLAX
A0–A7
FROM RI OR DPL
t
AVWL
t
AVIV
A0–A15A8–A15
Figure 1. External Program Memory Read Cycle
t
WHLH
t
LLDV
t
LLWL
t
RLAZ
t
AVDV
P2.0–P2.7 OR A8–A15 FROM DPHA0–A15 FROM PCH
t
RLDV
t
RLRH
t
RHDZ
t
RHDX
DATA INA0–A7 FROM PCLINSTR IN
SU00006
1999 Jul 23
SU00007
Figure 2. External Data Memory Read Cycle
14
Page 15
Philips SemiconductorsProduct specification
80C51 8-bit microcontrollers
2
16K/32K, 512 OTP, I
ALE
PSEN
WR
t
AVLL
PORT 0
PORT 2
FROM RI OR DPL
C, watchdog timer
t
LLWL
t
LLAX
A0–A7
t
AVWL
P2.0–P2.7 OR A8–A15 FROM DPFA0–A15 FROM PCH
87C524/87C528
t
WHLH
t
WLWH
t
t
QVWX
DATA OUTA0–A7 FROM PCLINSTR IN
WHQX
INSTRUCTION
ALE
CLOCK
OUTPUT DATA
WRITE TO SBUF
INPUT DATA
CLEAR RI
SU00069
Figure 3. External Data Memory Write Cycle
012345678
t
XLXL
t
t
QVXH
t
XHDV
VALIDVALIDVALIDVALIDVALIDVALIDVALIDVALID
XHQX
12304567
t
XHDX
SET TI
SET RI
SU00027
Figure 4. Shift Register Mode Timing
1999 Jul 23
15
Page 16
Philips SemiconductorsProduct specification
80C51 8-bit microcontrollers
2
16K/32K, 512 OTP, I
START or repeated START condition
SDA
(INPUT/OUTPUT)
t
FDtRC
SCL
(INPUT/OUTPUT)
t
HD;STA
t
C, watchdog timer
t
RD
t
LOW
HIGH
VCC–0.5
0.45V
repeated START condition
STOP condition
t
FC
t
SU;DAT1
t
HD;DAT
Figure 5. Timing SIO1 (I2C) Interface
0.7V
CC
0.2VCC–0.1
t
CHCL
t
CLCX
t
CLCL
t
CHCX
t
CLCH
Figure 6. External Clock Drive
SU00009
87C524/87C528
t
SU;STA
t
BUF
t
SU;STO
0.7 V
CC
0.3 V
CC
t
SU;DAT3
t
SU;DAT2
START condition
0.7 V
CC
0.3 V
CC
SU00107A
VDD–0.5
0.45V
NOTE:
AC inputs during testing are driven at VDD –0.5 for a logic ‘1’ and 0.45V for a logic ‘0’.
Timing measurements are made at V
+0.9
0.2V
DD
0.2VDD–0.1
min for a logic ‘1’ and VIL max for a logic ‘0’.
IH
SU00167
Figure 7. AC Testing Input/Output
30
25
20
15
mA
I
CC
10
5
4 MHz 8 MHz 12 MHz 16 MHz
Figure 9. ICC vs. FREQ.
Valid only within frequency specifications of the device under test
FREQ AT XTAL1
V
+0.1V
LOAD
V
LOAD
V
–0.1V
LOAD
NOTE:
For timing purposes, a port is no longer floating when a 100mV change from load
voltage occurs, and begins to float when a 100mV change from the loaded V
level occurs. IOH/IOL ≥±20mA.
TIMING
REFERENCE
POINTS
V
OH
V
OL
–0.1V
+0.1V
OH/VOL
SU00011
Figure 8. Float Waveform
MAX ACTIVE MODE
TYP ACTIVE MODE
MAX IDLE MODE
TYP IDLE MODE
SU00168
1999 Jul 23
16
Page 17
Philips SemiconductorsProduct specification
80C51 8-bit microcontrollers
2
16K/32K, 512 OTP, I
V
DD
RST
(NC)
CLOCK SIGNAL
Figure 10. IDD Test Condition, Active Mode
All other pins are disconnected
XTAL2
XTAL1
V
SS
C, watchdog timer
V
DD
P0
EA
P1.6
P1.7
VCC–0.5
0.45V
V
DD
I
DD
V
DD
(NC)
SU00169
*
*
CLOCK SIGNAL
Figure 11. IDD Test Condition, Idle Mode
0.7V
CC
0.2VCC–0.1
t
CHCL
t
CLCX
t
CLCL
t
CHCX
t
CLCH
Figure 12. Clock Signal Waveform for
I
Tests in Active and Idle Modes
DD
t
CLCH
= t
CHCL
= 5ns
87C524/87C528
V
RST
EA
XTAL2
XTAL1
V
SS
All other pins are disconnected
SU00009
DD
P0
P1.6
P1.7
V
DD
I
DD
V
DD
SU00170
*
*
NOTE:
* Ports 1.6 and 1.7 should be connected to V
exceed the I
specifications.
OL1
V
DD
I
DD
V
(NC)
RST
EA
XTAL2
XTAL1
V
SS
P1.6
P1.7
DD
V
DD
P0
*
*
SU00171
Figure 13. IDD Test Condition, Power Down Mode
All other pins are disconnected. V
through resistors of sufficiently high value such that the sink current into these pins does not
DD
= 2V to 5.5V
DD
1999 Jul 23
17
Page 18
Philips SemiconductorsProduct specification
80C51 8-bit microcontrollers
2
16K/32K, 512 OTP, I
EPROM CHARACTERISTICS FOR 87C528
The 87C528 is programmed by using a modified Quick-Pulse
Programming algorithm. It differs from older methods in the value
used for V
number of the ALE/PROG
The 87C528 contains two signature bytes that can be read and used
by an EPROM programming system to identify the device. The
signature bytes identify the device as an 87C528 manufactured by
Philips.
Table 6 shows the logic levels for reading the signature byte, and for
programming the program memory, the encryption table, and the
lock bits. The circuit configuration and waveforms for quick-pulse
programming are shown in Figures 14 and 15. Figure 16 shows the
circuit configuration for normal program memory verification.
Quick-Pulse Programming
The setup for microcontroller quick-pulse programming is shown in
Figure 14. Note that the 87C528 is running with a 4 to 6MHz
oscillator The reason the oscillator needs to be running is that the
device is executing internal address and program data transfers.
The address of the EPROM location to be programmed is applied to
ports 1, 2 and 3, as shown in Figure 14. The code byte to be
programmed into that location is applied to port 0. RST, PSEN
pins of ports 2 and 3 specified in Table 6 are held at the ’Program
Code Data’ levels indicated in Table 6. The ALE/PROG
low 25 times as shown in Figure 15.
To program the encryption table, repeat the 25 pulse programming
sequence for addresses 0 through 3FH, using the ‘Pgm Encryption
Table’ levels. Do not forget that after the encryption table is
programmed, verification cycles will produce only encrypted data.
To program the lock bits, repeat the 25 pulse programming
sequence using the ‘Pgm Lock Bit’ levels. After one lock bit is
programmed, further programming of the code memory and
encryption table is disabled. However, the other lock bit can still be
programmed.
(programming supply voltage) and in the width and
PP
pulses.
C, watchdog timer
and
is pulsed
87C524/87C528
Note that the EA
maximum specified V
glitch above that voltage can cause permanent damage to the
device. The V
and overshoot.
Program Verification
If lock bit 2 has not been programmed, the on-chip program memory
can be read out for program verification. The address of the program
memory locations to be read is applied to ports 1, 2 and 3 as shown
in Figure 16. The other pins are held at the ‘Verify Code Data’ levels
indicated in Table 6. The contents of the address location will be
emitted on port 0. External pull ups are required on port 0 for this
operation.
If the encryption table has been programmed, the data presented at
port 0 will be the exclusive NOR of the program byte with one of the
encryption bytes. The user will have to know the encryption table
contents in order to correctly decode the verification data. The
encryption table itself cannot be read out.
Reading the Signature Bytes
The signature bytes are read by the same procedure as a normal
verification of locations 030H and 031 H, except that P3.6 and P3.7
need to be pulled to a logic low. The values are:
The 87C528 has 3 programmable lock bits that will provide different
levels of protection for the on-chip code and data (see Table 7).
Erasing the EPROM also erases the encryption array and the
program lock bits, returning the part to full functionality.
Program/Verify Algorithms
Any algorithm in agreement with the conditions listed in Table 6, and
which satisfies the timing specifications, is suitable.
/VPP pin must not be allowed to 90 above the
level for any amount of time. Even a narrow
PP
source should be well regulated and free of glitches
PP
Table 6. EPROM Programming Modes
MODERSTPSENALE/PROGEA/V
Read signature10110000
Program code data100*V
Verify code data10110011
Pgm encryption table100*V
Pgm lock bit 1100*V
Pgm lock bit 2100*V
Pgm lock bit 3100*V
NOTES:
1. ‘0’ = V alid low for that pin, ‘1’ = valid high for that pin.
2. V
= 12.75 V ±0.25 V .
PP
3. Vcc = 5 V ±10% during programming and verification.
* ALE/PROG
minimum of 10 µs.
1999 Jul 23
receives 25 programming pulses while VPP is held at 12.75 V. Each programming pulse is low for 100 µs (±10 µs) and high for a
18
PP
PP
PP
PP
PP
PP
P2.7P2.6P3.7P3.6
1011
1010
1111
1100
0101
Page 19
Philips SemiconductorsProduct specification
80C51 8-bit microcontrollers
2
16K/32K, 512 OTP, I
EPROM CHARACTERISTICS FOR 87C524
The 87C524 is programmed by using a modified Quick-Pulse
Programming algorithm. It differs from older methods in the value
used for V
number of the ALE/PROG
The 87C524 contains two signature bytes that can be read and used
by an EPROM programming system to identify the device. The
signature bytes identify the device as an 87C524 manufactured by
Philips.
Table 6 shows the logic levels for reading the signature byte, and for
programming the program memory, the encryption table, and the
lock bits. The circuit configuration and waveforms for quick-pulse
programming are shown in Figures 14 and 15. Figure 16 shows the
circuit configuration for normal program memory verification.
Quick-Pulse Programming
The setup for microcontroller quick-pulse programming is shown in
Figure 14. Note that the 87C524 is running with a 4 to 6 MHz
oscillator. The reason the oscillator needs to be running is that the
device is executing internal address and program data transfers.
The address of the EPROM location to be programmed is applied to
ports 1, 2 and 3, as shown in Figure 14. The code byte to be
programmed into that location is applied to port 0. RST, PSEN
pins of ports 2 and 3 specified in Table 6 are held at the ‘Program
Code Data’ levels indicated in Table 6. The ALE/PROG
low 25 times as shown in Figure 15.
To program the encryption table, repeat the 25 pulse programming
sequence for addresses 0 through 3FH, using the ‘Pgm Encryption
Table’ levels. Do not forget that after the encryption table is
programmed, verification cycles will produce only encrypted data.
To program the lock bits, repeat the 25 pulse programming
sequence using the ‘Pgm Lock Bit’ levels. After one lock bit is
programmed, further programming of the code memory and
encryption table is disabled. However, the other lock bit can still be
programmed.
Note that the EA
maximum specified V
glitch above that voltage can cause permanent damage to the
device. The V
and overshoot.
Program Verification
If lock bit 2 has not been programmed, the on-chip program memory
can be read out for program verification. The address of the program
memory locations to be read is applied to ports 1, 2 and 3 as shown
(programming supply voltage) and in the width and
PP
/VPP pin must not be allowed to go above the
source should be well regulated and free of glitches
PP
pulses.
level for any amount of time. Even a narrow
PP
C, watchdog timer
and
is pulsed
87C524/87C528
in Figure 16. The other pins are held at the ‘Verify Code Data’ levels
indicated in Table 6. The contents of the address location will be
emitted on port 0. External pull-ups are required on port 0 for this
operation.
If the encryption table has been programmed, the data presented at
port 0 will be the exclusive NOR of the program byte with one of the
encryption bytes. The user will have to know the encryption table
contents in order to correctly decode the verification data. The
encryption table itself cannot be read out.
Program Lock Bits
The 87C524 has 3 programmable lock bits that will provide different
levels of protection for the on-chip code and data (see Table 7).
Erasing the EPROM also erases the encryption array and the
program lock bits, returning the part to full functionality.
Reading the Signature Bytes
The signature bytes are read by the same procedure as a normal
verification of locations 030H and 031H, except that P3.6 and P3.7
need to be pulled to a logic low. The values are:
Any algorithm in agreement with the conditions listed in Table 6, and
which satisfies the timing specifications, is suitable.
Erasure Characteristics
Erasure of the EPROM begins to occur when the chip is exposed to
light with wavelengths shorter than approximately 4,000 angstroms.
Since sunlight and fluorescent lighting have wavelengths in this
range, exposure to these light sources over an extended time (about
1 week in sunlight, or 3 years in room level fluorescent lighting)
could cause inadvertent erasure. For this and secondary effects,
it is recommended that an opaque label be placed over the
window. For elevated temperature or environments where solvents
are being used, apply Kapton tape Fluorglas part number 2345–5, or
equivalent.
The recommended erasure procedure is exposure to ultraviolet light
(at 2537 angstroms) to an integrated dose of at least 15W-sec/cm2.
Exposing the EPROM to an ultraviolet lamp of 12,000uW/cm
for 20 to 39 minutes, at a distance of about 1 inch, should be
sufficient.
Erasure leaves the array in an all 1s state.
Philips
2
rating
Trademark phrase of Intel Corporation.
1999 Jul 23
19
Page 20
Philips SemiconductorsProduct specification
80C51 8-bit microcontrollers
2
16K/32K, 512 OTP, I
C, watchdog timer
87C524/87C528
Table 7. Program Lock Bits
PROGRAM LOCK BITS
LB1LB2LB3PROTECTION DESCRIPTION
1UUUNo Program Lock features enabled. (Code verify will still be encrypted by the Encryption Array if programmed.)
2PUUMOVC instructions executed from external program memory are disabled from fetching code bytes from
3PPUSame as 2, also verify is disabled.
4PPPSame as 3, external execution is disabled. Internal data RAM is not accessible.
NOTES:
1. P - programmed. U - unprogrammed.
2. Any other combination of the lock bits is not defined.
1,2
Internal memory , EA is jumped and latched on Reset, and further programming of the EPROM Is disabled.
+5 V
V
CC
P0
EA/V
PP
ALE/PROG
PSEN
P2.7
P2.6
P2.0–P2.5
P3.4
PGM DATA
+12.75 V
25 100 µs PULSES TO GROUND
0
1
0
A8–A13
A14
SU00172
4–6 MHz
A0–A7
P1
1
1
1
RST
P3.6
P3.7
XTAL2
XTAL1
V
SS
87C524/8
Figure 14. Programming Configuration
ALE/PROG:
ALE/PROG:
1
0
1
0
25 PULSES
100µs+1010µs MIN
SU00018
Figure 15. PROG Waveform
+5 V
V
CC
/V
EA
PP
ALE/PROG
PSEN
P2.7
P2.6
P2.0–P2.5
P3.4
P0
PGM DATA
1
1
0
0 ENABLE
0
A8–A13
A14
SU00173
4–6 MHz
A0–A7
P1
1
1
1
RST
P3.6
P3.7
XTAL2
XTAL1
V
SS
87C524/8
Figure 16. Program Verification
1999 Jul 23
20
Page 21
Philips SemiconductorsProduct specification
80C51 8-bit microcontrollers
2
16K/32K, 512 OTP, I
C, watchdog timer
87C524/87C528
EPROM PROGRAMMING AND VERIFICATION CHARACTERISTICS
T
= 21°C to +27°C, Vcc = 5 V±10%, VSS = 0 V (See Figure 17)
amb
SYMBOLPARAMETERMINMAXUNIT
V
1/t
t
AVGL
t
GHAX
t
DVGL
t
GHDX
t
EHSH
t
SHGL
t
GHSL
t
GLGH
t
AVQV
t
ELQZ
t
EHQZ
t
GHGL
PP
I
PP
CLCL
Programming supply voltage12.513.0V
Programming supply current50mA
Oscillator frequency46MHz
Address setup to PROG low48t
Address hold after PROG48t
Data setup to PROG low48t
Data hold after PROG48t
P2.7 (ENABLE) high to V
PP
48t
CLCL
CLCL
CLCL
CLCL
CLCL
VPP setup to PROG low10µs
VPP hold after PROG10µs
PROG width90110µs
Address to data valid48t
ENABLE low to data valid48t
Data float after ENABLE048t
CLCL
CLCL
CLCL
PROG high to PROG low10µs
PROGRAMMING*VERIFICATION*
P1.0–P1.7
P2.0–P2.5
PORT 0
t
DVGL
t
ALE/PROG
EA/V
PP
P2.7
ENABLE
NOTE:
* FOR PROGRAMMING VERIFICATION SEE FIGURE 14.
FOR VERIFICATION CONDITIONS SEE FIGURE 16.
AVGL
t
GLGH
t
SHGL
t
EHSH
ADDRESSADDRESS
t
AVQV
DATA INDATA OUT
t
GHDX
t
GHAX
t
GHGL
t
GHSL
LOGIC 1LOGIC 1
LOGIC 0
t
ELQV
Figure 17. EPROM Programing and Verification
t
EHQZ
SU00174
1999 Jul 23
Purchase of Philips I2C components conveys a license under the Philips’ I2C patent
to use the components in the I2C system provided the system conforms to the
I2C specifications defined by Philips. This specification can be ordered using the
code 9398 393 40011.
QFP44: plastic quad flat package; 44 leads (lead length 1.3 mm); body 10 x 10 x 1.75 mmSOT307-2
C, watchdog timer
87C524/87C528
1999 Jul 23
24
Page 25
Philips SemiconductorsProduct specification
80C51 8-bit microcontrollers
2
16K/32K, 512 OTP, I
C, watchdog timer
87C524/87C528
NOTES
1999 Jul 23
25
Page 26
Philips SemiconductorsProduct specification
80C51 8-bit microcontrollers
2
16K/32K, 512 OTP, I
Data sheet status
Data sheet
status
Objective
specification
Preliminary
specification
Product
specification
Product
status
Development
Qualification
Production
C, watchdog timer
Definition
This data sheet contains the design target or goal specifications for product development.
Specification may change in any manner without notice.
This data sheet contains preliminary data, and supplementary data will be published at a later date.
Philips Semiconductors reserves the right to make changes at any time without notice in order to
improve design and supply the best possible product.
This data sheet contains final specifications. Philips Semiconductors reserves the right to make
changes at any time without notice in order to improve design and supply the best possible product.
87C524/87C528
[1]
[1] Please consult the most recently issued datasheet before initiating or completing a design.
Definitions
Short-form specification — The data in a short-form specification is extracted from a full data sheet with the same type number and title. For
detailed information see the relevant data sheet or data handbook.
Limiting values definition — Limiting values given are in accordance with the Absolute Maximum Rating System (IEC 134). Stress above one
or more of the limiting values may cause permanent damage to the device. These are stress ratings only and operation of the device at these or
at any other conditions above those given in the Characteristics sections of the specification is not implied. Exposure to limiting values for extended
periods may affect device reliability.
Application information — Applications that are described herein for any of these products are for illustrative purposes only. Philips
Semiconductors make no representation or warranty that such applications will be suitable for the specified use without further testing or
modification.
Disclaimers
Life support — These products are not designed for use in life support appliances, devices or systems where malfunction of these products can
reasonably be expected to result in personal injury . Philips Semiconductors customers using or selling these products for use in such applications
do so at their own risk and agree to fully indemnify Philips Semiconductors for any damages resulting from such application.
Right to make changes — Philips Semiconductors reserves the right to make changes, without notice, in the products, including circuits, standard
cells, and/or software, described or contained herein in order to improve design and/or performance. Philips Semiconductors assumes no
responsibility or liability for the use of any of these products, conveys no license or title under any patent, copyright, or mask work right to these
products, and makes no representations or warranties that these products are free from patent, copyright, or mask work right infringement, unless
otherwise specified.
Philips Semiconductors
811 East Arques Avenue
P.O. Box 3409
Sunnyvale, California 94088–3409
Telephone 800-234-7381
Copyright Philips Electronics North America Corporation 1998
All rights reserved. Printed in U.S.A.
Date of release: 07-99
Document order number:9397 750 06229
1999 Jul 23
26
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.