Replaces data sheets 87C524 of 1998 May 01 and 87C528 of 1998 May 01
IC28 Data Handbook
1999 Jul 23
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
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
Loading...
+ 18 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.