– 3.5 to 16MHz
– 3.5 to 24MHz (ROM, ROMless only)
– 3.5 to 30MHz (ROM, ROMless only)
• Three operating ambient temperature
ranges:
– P83C552xBx: 0°C to +70°C
– P83C552xFx: –40°C to +85°C
(XTAL frequency max. 24 MHz)
– P83C552xHx: –40°C to +125°C
(XTAL frequency max. 16 MHz)
DESCRIPTION
The 80C552/83C552 (hereafter generically
referred to as 8XC552) Single-Chip 8-Bit
Microcontroller is manufactured in an
advanced CMOS process and is a derivative
of the 80C51 microcontroller family. The
8XC552 has the same instruction set as the
80C51. Three versions of the derivative exist:
• 83C552—8k bytes mask programmable
ROM
• 80C552—ROMless version of the 83C552
FEATURES
• 80C51 central processing unit
• 8k × 8 ROM expandable externally to 64k
bytes
• ROM code protection
• An additional 16-bit timer/counter coupled
to four capture registers and three compare
registers
• Two standard 16-bit timer/counters
• 256 × 8 RAM, expandable externally to 64k
bytes
• Capable of producing eight synchronized,
timed outputs
• A 10-bit ADC with eight multiplexed analog
inputs
• Two 8-bit resolution, pulse width
modulation outputs
• Five 8-bit I/O ports plus one 8-bit input port
shared with analog inputs
• 87C552—8k bytes EPROM (described in a
separate chapter)
The 8XC552 contains a non-volatile 8k × 8
read-only program memory (83C552), a
volatile 256 × 8 read/write data memory, five
8-bit I/O ports, one 8-bit input port, two 16-bit
timer/event counters (identical to the timers of
the 80C51), an additional 16-bit timer coupled
to capture and compare latches, a 15-source,
two-priority-level, nested interrupt structure,
an 8-input ADC, a dual DAC pulse width
modulated interface, two serial interfaces
(UART and I
2
C-bus), a “watchdog” timer and
on-chip oscillator and timing circuits. For
systems that require extra capability, the
8XC552 can be expanded using standard
TTL compatible memories and logic.
In addition, the 8XC552 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 ports, 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.
The device also functions as an arithmetic
processor having facilities for both binary and
BCD arithmetic plus bit-handling capabilities.
The instruction set consists of over 100
instructions: 49 one-byte, 45 two-byte, and
17 three-byte. With a 16MHz (24MHz)
crystal, 58% of the instructions are executed
in 0.75µs (0.5µs) and 40% in 1.5µs (1µs).
Multiply and divide instructions require 3µs
(2µs).
RST159I/OReset: Input to reset the 8XC552. It also provides a reset pulse as output when timer T3
XTAL13532ICrystal Input 1: Input to the inverting amplifier that forms the oscillator, and input to the
XTAL23431OCrystal Input 2: Output of the inverting amplifier that forms the oscillator. Left open-circuit
272IDigital Power Supply: +5V power supply pin during normal operation, idle and
16-2110-15I/O(P1.0-P1.5): Quasi-bidirectional port pins.
22-2316-17I/O(P1.6, P1.7): Open drain port pins.
16-1910-13ICT0I-CT3I (P1.0-P1.3): Capture timer input signals for timer T2.
2014IT2 (P1.4): T2 event input.
2115IRT2 (P1.5): T2 timer reset signal. Rising edge triggered.
2216I/OSCL (P1.6): Serial port clock line I2C-bus.
2317I/OSDA (P1.7): Serial port data line I2C-bus.
13, 147, 8OCMT0, CMT1 (P4.6, P4.7): Timer T2 compare and toggle outputs on a match with timer T2.
1ADC0-ADC7 (P5.0-P5.7): Alternate function: Eight input channels to ADC.
power-down mode.
be started by software). This pin must not float.
This pin must not float.
to 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.
Port 1 is also used to input the lower order address byte during EPROM programming and
verification. A0 is on P1.0, etc.
I/OPort 2: 8-bit quasi-bidirectional I/O port.
Alternate function: High-order address byte for external memory (A08-A15).
OCMSR0-CMSR5 (P4.0-P4.5): Timer T2 compare and set/reset outputs on a match with
timer T2.
overflows.
internal clock generator. Receives the external clock signal when an external oscillator is
used.
when an external clock is used.
1998 Aug 13
7
Philips SemiconductorsProduct specification
Single-chip 8-bit microcontroller
80C552/83C552
PIN DESCRIPTION (Continued)
PIN NO.
MNEMONICPLCCQFPTYPENAME AND FUNCTION
V
SS
PSEN4748OProgram Store Enable: Active-low read strobe to external program memory.
ALE4849OAddress Latch Enable: Latches the low byte of the address during accesses to external
EA4950IExternal Access: When EA is held at TTL level high, the CPU executes out of the internal
AV
REF–
AV
REF+
AV
SS
AV
DD
NOTE:
1. To avoid “latch-up” effect at power-on, the voltage on any pin at any time must not be higher or lower than V
respectively.
36, 3734-36ITwo Digital ground pins.
memory. It is activated every six oscillator periods. During an external data memory
access, one ALE pulse is skipped. ALE can drive up to eight LS TTL inputs and handles
CMOS inputs without an external pull-up.
program ROM provided the program counter is less than 8192. When EA
low level, the CPU executes out of external program memory. EA is not allowed to float.
5859IAnalog to Digital Conversion Reference Resistor: Low-end.
5960IAnalog to Digital Conversion Reference Resistor: High-end.
6061IAnalog Ground
6163IAnalog Power Supply
is held at TTL
+ 0.5V or VSS – 0.5V,
DD
OSCILLATOR
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,
page 2.
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-on 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-on, the voltage on V
come up at the same time for a proper
start-up.
and RST must
DD
IDLE MODE
In the idle mode, the CPU puts itself to sleep
while some 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.
POWER-DOWN MODE
In the power-down mode, the oscillator is
stopped and the instruction to invoke
power-down is the last instruction executed.
Only the contents of the on-chip RAM are
preserved. A hardware reset is the only way
to terminate the power-down mode. The
control bits for the reduced power modes are
in the special function register PCON. Table 1
shows the state of the I/O ports during low
current operating modes.
ROM CODE PROTECTION
(83C552)
The 83C552 has an additional security
feature. ROM code protection may be
selected by setting a mask–programmable
security bit (i.e., user dependent). This
feature may be requested during ROM code
submission. When selected, the ROM code
is protected and cannot be read out at any
time by any test mode or by any instruction in
the external program memory space.
The MOVC instructions are the only
instructions that have access to program
code in the internal or external program
memory. The EA
RESET and is “don’t care” after RESET
(also if the security bit is not set). This
implementation prevents reading internal
program code by switching from external
program memory to internal program memory
during a MOVC instruction or any other
instruction that uses immediate data.
input is latched during
Table 1. External Pin Status During Idle and Power-Down Modes