PHILIPS P80CL51HFH

INTEGRATED CIRCUITS
80CL31/80CL51
Low-voltage single-chip
8-bit microcontrollers
Product specification
IC20 Data Handbook
1995 January
Philips Semiconductors
Product specification
Low-voltage single-chip 8-bit microcontrollers
•
•
•
•
•
FEATURES
•
•
•
•
•
•
•
•
•
•
•
Full static 80C51 CPU
8-bit CPU, ROM, RAM, 1/0 in a single 40-lead DIL / mini-pack
4K x 8 ROM, expandable externally to 64K bytes
128 bytes RAM, expandable externally to 64K bytes
Wake-up via external interrupts at Port 1
Single supply voltage of 1.8V to 6.0V (5.0V ±10% for P80C51)
Frequency range of 0 to 16MHz (3.5MHz to 16MHz for P80C51)
Very low current consumption
Operating temperature range: -40 to +85oC
Four 8-bit ports, 321/0 lines
DESCRIPTION
Two 16-bit timer / event counters
The 80CL51 is manufactured in an advanced CMOS technology.
The instruction set of the 80CL51 is based on that of the 8051. The
80CL51 is a general purpose microcontroller especially suited for
battery-powered applications. The device has low power
consumption and a wide range of supply voltage. For emulation
purposes, the 85CL000 (Piggy-back version) with 256 bytes of RAM
is recommended. The 80CL51 has two software selectable modes
of reduced activity for further power reduction: Idle and Power-down.
The 80CL51 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, 46 two-byte, and 16 three-byte.
External memory expandable up to 128K, external ROM up to
64K and / or RAM up to 64K
On-chip oscillator suitable for RC, LC, quartz crystal or ceramic
resonator
Thirteen source, thirteen vector interrupt structure with two priority
levels
Full duplex serial port (UART)
Enhanced architecture with:
– non-page oriented instructions
– direct addressing
The P80CL31 is the ROMless version of the P80CL51. P80C51 is a
5V version of the low voltage P80CL51.
– four eight byte RAM register banks
– stack depth up to 128 bytes
The P80CL31 is the ROMless version of the P80CL51. P80C51 is a
5V version of the low voltage P80CL51.
– multiply, divide, subtract and compare instructions
•
80CL31/80CL51
Power-Down and IDLE instructions
36 P0.3/AD3
INT7/P1.5
6
35 P0.4/AD4
INT8/P1.6
7
34 P0.5/AD5
P1.5/INT7
1
33 P0.6/AD6
P1.6/INT8
2
4
P3.0/RXD
5
NC
6
30 ALE
13
T0/P3.4
14
27 P2.6/A14
T1/P3.5
15
26 P2.5/A13
WR/P3.6
28 P2.7/A15
16
25 P2.4/A12
RD/P3.7 17
24 P2.3/A11
XTAL2
18
23 P2.2/A10
XTAL1
19
22 P2.1/A9
VSS
20
21 P2.0/A8
7
33
P0.4/AD4
32
P0.5/AD5
31
P0.6/AD6
30
P0.7/AD7
29
EA
28
NC
27
ALE
PSEN
P3.2/INT0
8
26
P3.3/INT1
9
25
P2.7/A15
P3.4/T0
10
24
P2.6/A14
P3.5/T1
11
23
P2.5/A13
12 13 14 15 16 17 18 19 20 21 22
2
P2.4/A12
INT1/P3.3
P3.1/TXD
P2.3/A11
12
PLASTIC QUAD FLAT PACKAGE
P2.2/A10
29 PSEN
INT0/P3.2
January 1995
3
RST
P2.1/A9
11
31 EA
P1.7/INT9
NC
P2.0/A8
TXD/CLOCK/P3.1
32 P0.7/AD7
V SS
RXD/DATA/P3.0 10
PLASTIC
DUAL
IN-LINE
AND
SMALL
OUTLINE
PACKAGES
XTAL1
9
XTAL2
RST
P3.7/RD
8
44 43 42 41 40 39 38 37 36 35 34
P3.6/WR
INT9/P1.7
P0.3/AD3
5
P0.2/AD2
37 P0.2/AD2
INT6/P1.4
P0.1/AD1
38 P0.1/AD1
4
VDD
P0.0/AD0
3
INT5/P1.3
NC
INT4/P1.2
P1.0/INT2
39 P0.0/AD0
P1.1/INT3
40 V
DD
2
P1.2/INT4
1
P1.4/INT6
INT2/P1.0
INT3/P1.1
P1.3/INT5
PIN CONFIGURATIONS
Philips Semiconductors
Product specification
Low-voltage single-chip 8-bit microcontrollers
80CL31/80CL51
ORDERING INFORMATION
PHILIPS PART ORDER
NUMBER PART MARKING
PHILIPS NORTH AMERICA 1
PART ORDER NUMBER
TEMPERATURE RANGE oC
AND PACKAGE
DRAWING
NUMBER
ROMless
ROM
ROMless
ROM
P80CL31HFP
P80CL51HFP
P80CL31HFP N
P80CL51HFP N
–40 to +85;
40-lead Plastic Dual In-line Package (1.8V to 6V)
SOT129-1
P80CL31HFT
P80CL51HFT
P80CL31HFT D
P80CL51HFT D
–40 to +85;
40-lead Plastic Small Outline Package (1.8V to 6V)
SOT158-1
P80CL31HFH
P80CL51HFH
P80CL31HFH B
P80CL51HFH B
–40 to +85;
44-lead Plastic Quad Flat Package (1.8V to 6V)
SOT307-2
P80C51HFP
P80C51HFP N
–40 to +85;
40-lead Plastic Dual In-line Package (5.0V ±10%)
SOT129-1
P80C51HFT
P80C51HFT D
–40 to +85;
40-lead Plastic Small Outline Package (5.0V ±10%)
SOT158-1
P80C51HFH
P80C51HFH B
–40 to +85;
44-lead Plastic Quad Flat Package (5.0V ±10%)
SOT307-2
NOTE:
1. Parts ordered by the Philips North America part number will be marked with the Philips part marking.
January 1995
3
Philips Semiconductors
Product specification
Low-voltage single-chip 8-bit microcontrollers
80CL31/80CL51
PIN DESCRIPTIONS
PIN
DESIGNATION
FUNCTION
QFP
DIP
40
41
42
43
44
1
2
3
1
2
3
4
5
6
7
8
P1.O/INT2
P1.1/lNT3
P1.2/lNT4
P1.3/INT5
P1.4/lNT6
P1.5/lNT7
P1.6/lNT8
P1.7/lNT9
Port 1: Port 1 is an 8-bit bidirectional I/O port with internal pullups. Port 1 pins that have 1s written
to them are pulled HIGH by the internal pullups,
pullups and in that state can be used as inputs.
inputs The Port 1
loads As inputs,
inputs Port 1 pins that are externally pulled LOW
output buffer can sink/source 4 LS TTL loads.
will source current (IlL in the characteristics) due to the internal pullups.
pullups Port 1 also serves the
alternative functions INT2 to INT9.
INT9
4
9
RST
Reset: A high level on this pin for two machine cycles while the oscillator is running resets the
device.
5–13
10-17
5
7
8
9
10
11
12
13
10
11
12
13
14
15
16
17
P3.0/RXD/data
P3.1/TXD/clock
P3.2/lNT0
P3.3/lNT1
P3.4/T0
P3.5/T1
P3.6/WR
P3.7/RD
14
18
XTAL2
Port 3: Port 3 is an 8-bit bidirectional I/O port with internal pull-ups. The Port 3 output buffers can
sink/source 4 LS TTL inputs. Port 3 pins that have 1s written to them are pulled HIGH by the
internal pull ups, and in that state can be used as inputs. As inputs, Port 3 pins that are externally
pulled LOW will source current (IlL in the characteristics) due to the internal pull ups.
RXD/data: Serial port receiver data input (asynchronous)or data input/output (synchronous)
TXD/clock: Serial port transmitter data output (asynchronous) or clock output (synchronous)
INT0: External interrupt 0.
INT1: External interrupt 1.
T0: Timer 0 external input.
T1: Timer 1 external input.
WR: External data memory write strobe.
RD: External data memory read strobe.
Crystal output: Output of the inverting amplifier of the oscillator. Left open when external clock is
used.
Crystal input: Input to the inverting amplifier of the oscillator; also the input for an externally generated clock source.
15
19
XTAL1
Crystal input: Input to the inverting amplifier of the oscillator; also the input for an externally
generated clock source.
16
20
Vss
Ground: Circuit ground potential.
18-25
21-28
P2.0-P2.7
Port 2: Port 2 is an 8-bit bidirectional 1/0 port with internal pullups. Port 2 pins that have 1s written
to them are pulled HIGH by the internal pullups, and in that state can be used as inputs. The Port 2
output buffer can sink/source 4 LS TTL loads.
Port 2 emits the high-order address byte during accesses to external memory that use 1 6-bit addresses (MOVX @DPTR). In this application it uses the strong internal pullups when emitting 1s.
During accesses to external memory that use 8-bit addresses (MOVX @Ri), Port 2 emits the contents of the P2 Special Function Register.
26
29
PSEN
Program store enable output: Read strobe to external program memory. When executing code
out of external program memory, PSEN is activated twice each machine cycle. However, during
each access to external data memory two PSEN activations are skipped.
27
30
ALE
Address Latch Enable: Output pulse for latching the low byte of the address during access to
external memory. ALE is emitted at a constant rate of 1/6 of the oscillator frequency, and may be
used for external timing or clocking purposes.
29
31
EA
External Access: When EA is held High the CPU executes out of internal program memory (unless the program counter exceeds 0FFFH). Holding EA LOW forces the CPU to execute out of
external memory regardless of the value of the program counter.
30-37
32-39
P0.0-P00.7
Port 0: Port 0 is an 8-bit open drain bidirectional I/O port. As an open drain output port it can sink 8
LS TTL loads. Port 0 pins that have 1s written to them float, and in that state will function as high
impedance inputs. Port 0 is also the multiplexed low order address and data bus during access to
external memory. In this application it uses strong internal pull-ups when emitting logic 1s.
38
40
VDD
Power supply.
January 1995
4
Philips Semiconductors
Product specification
Low-voltage single-chip 8-bit microcontrollers
80CL31/80CL51
BLOCK DIAGRAM
COUNTER1
FREQUENNCY REFERENCE
T0
XTAL2 XTAL1
OSCILLATOR
AND TIMING
PROGRAM
MEMORY
(4K BY 8 ROM)
DATA MEMORY
(128 BY 8 RAM)
T1
TWO 16-BIT TIMER/
EVENT COUNTERS
80CL51
CPU
10
3
64K BYTE BUS
EXPANSION
CONTROL
PROGRAMMABLE
I/O
INTERNAL
INTERRUPTS
EXTERNAL ENTERRUPTS1
PARALLEL PORTS
ADDRESS/DATA BUS
I/O PINS
CONTROL
PROGRAMMABLE
SERIAL PORT,
FULL DUPLEX UART,
SYNCHRONOUS
SHIFT
RXD
TXD
(1)
1. Pins shared with parallels ports pins.
FUNCTIONAL DIAGRAM
VSS
VDD
RST
XTAL1
ADDRESS AND
XTAL2
PORT 0
EA
DATA BUS
PORT 1
INT2/INT9
PORT 2
ADDRESS BUS
PSEN
ALTERNATIVE
FUNCTIONS
ALE
RxD/data
TxD/clock
INT0
INT1
T0
T1
PORT 3
WR
RD
January 1995
5
Philips Semiconductors
Product specification
Low-voltage single-chip 8-bit microcontrollers
80CL31/80CL51
1.1.1 Program Memory
The 80CL51 contains 4K bytes of internal ROM. After reset the CPU
begins execution at location 0000H. The lower 4K bytes of Program
Memory can be implemented in either on- chip ROM or external
Memory. If the EA pin is strapped to VDD, then program memory
fetches from addresses 000H through 0FFFH are directed to the
internal ROM. Fetches from addresses 1000H through FFFFH are
directed to external ROM. Program counter values greater than
0FFFH are automatically addressed to external memory regardless
of the state of the EA pin.
1.0 FUNCTIONAL DESCRIPTION
General
The 80CL51 is a stand-alone high-performance CMOS
microcontroller designed for use in real-time applications such as
instrumentation, industrial control, intelligent computer peripherals
and consumer products.
The device provides hardware features, architectural enhancements
and new instructions to function as a controller for applications
requiring up to 64K bytes of program memory and/or up to 64K
bytes of data storage.
1.1.2 Data Memory
The 80CL51 contains 128 bytes of internal RAM and 25 Special
Function Registers (SFR). The Memory Map below shows the
internal Data Memory space divided into the Lower 128, the Upper
128, and the SFR space.
The 80CL51 contains a non-volatile 4K byte × 8 read-only program
memory; a static 128 byte × 8 read/write data memory; 32 1/0 lines;
two 16-bit timer/event counters; a thirteen- source two priority-level,
nested interrupt structure and on-chip oscillator and timing circuit.
The lower 128 bytes of the internal RAM are organized as mapped
in Figure 1. The lowest 32 bytes are grouped into 4 banks of 8
registers. Program instructions refer to these registers R0 through
R7. Two bits in the Program Status Word select which register bank
is in use. The next 16 bytes above the register banks form a block of
bit-addressable memory space. The 128 bits in this area can be
directly addressed by the single-bit manipulation instructions. The
remaining registers (30H to 7FH) are directly and indirectly byte
addressable.
The device has two software selectable modes of reduced activity
for power reduction: IDLE and Power-down. The Idle mode freezes
the CPU while allowing the RAM, timers, serial I/O 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 P80C51 is a 5V version of the low voltage microcontroller
P80CL51. Hereafter the generic term P80CL51 will be used for the
functional description of both types. The special features of the
P80C51 are handled in chapter 1.9.
1.1.3 Special Function Registers
The upper 128 bytes are the address locations of the SFRs. Figure
2 shows the Special Function Register (SFR) space. SFRs include
the port latches, timers, peripheral control, serial I/O registers, etc.
These registers can only be accessed by direct addressing. There
are 128 addressable locations in the SFR address space (SFRs with
addresses divisible by eight).
CPU timing
A machine cycle consists of a sequence of 6 states. Each state time
lasts for two oscillator periods, thus a machine cycle takes 12
oscillator periods or 1µs if the oscillator frequency is 12MHz.
1.1 Memory organization
1.1.4 Addressing
The 80CL51 has five methods for addressing source operands:
– Register
– Direct
– Register-lndirect
– Immediate
– Base-Register-plus Index-Register-indirect
The 80CL51 has a 4K Program Memory (ROM) plus 128 bytes of
Data Memory (RAM) on board. The device has separate address
spaces for Program and Data Memory (see Memory Map). Using
Ports P0 and P2, the 80CL51 can address up to 64K bytes of
external memory. The CPU generates both read and write signals
(RD and WR) for external Data Memory accesses, and the read
strobe (PSEN) for external Program Memory.
MEMORY MAP
64K
64K
EXTERNAL
4096
4095
OVERLAPPED
SPACE
4095
INTERNAL
(EA = 1)
INTERNAL
(EA = 0)
225
127
0
PROGRAM MEMORY
January 1995
SPECIAL
FUNCTION
REGISTERS
INTERNAL
DATA RAM
INTERNAL DATA MEMORY
6
0
EXTERNAL
DATA RAM
Philips Semiconductors
Product specification
Low-voltage single-chip 8-bit microcontrollers
80CL31/80CL51
7FH
2FH
BIT-ADDRESSABLESPACE
(BIT ADDRESSES 0-7F)
20H
R7
1FH
I
I
R0
R7
I
I
R0
R7
18H
17H
10H
0FH
4 BANKS OF 8 REGISTERS
(R0-R)
I
I
R0
08H
R7
I
I
R0
07H
0
Figure 1. The Lower 128 Bytes of Internal RAM
To enable a Port 3 pin alternate function, the Port 3 bit latch in its
SFR must contain a logic 1.
The first three methods can be used for addressing destination
operands. Most instructions have a “destination/source” filed that
specifies data type, addressing methods and operands involved. For
operations other than MOVs, the destination operand is also a
source operand.
Each port consists of a latch (Special Function Registers P0 to P3),
an output driver and an input buffer. Ports 1,2,3 have internal pull
ups. Figure 3(a) shows that the strong transistor p1 is turned on for
only 2 oscillator periods after a 0-to-1 transition in the port latch.
When on, it turns on p3 (a weak pull up) through the inverter. This
inverter and p3 form a latch which hold the 1. In Port 0 the pull up p1
is only on when emitting 1s for external memory access. Writing a 1
to a Port 0 bit latch leaves both output transistors switched off so the
pin can be used as a high-impedance input.
Access to memory addressing is as follows:
– Registers in one of the four register banks through register,
direct or indirect.
– Internal RAM (128 bytes) through direct or register-indirect.
– Special Function Register through Direct.
– External data memory through Register-lndirect
– Program memory look-up tables through Base-Register-Plus
Index-Register-Indirect.
1.2.2 Port Options
The pins of port 1, port 2, and port 3 may be individually configured
with one of the following options (see Figure 3):
1.2 I/O Facilities
Option 1: Standard Port; quasi-bidirectional I/O with pull up. The
strong booster pull up p1 is turned on for two oscillator
periods after a 0-to-1 transition in the port latch (see
Figure 3(a)).
1.2.1 Ports
The 80CL51 has 32 I/O lines treated as 32 individually addressable
bits or as four parallel 8- bit addressable ports. Port 0, 1, 2 and 3
perform the following alternate functions:
Port 0:
provides the multiplexed low-order address and data bus
for expanding the device with standard memories and
peripherals.
Port 1:
provides the inputs for the external interrupts INT2/lNT9.
Port 2:
provides the high-order address when expanding the
device with external program or data memory.
Port 3:
pins can be configured individually to provide:
(1) external interrupt request inputs
(2) counter input
(3) control signals to read and write to external memories
(4) UART input and output
January 1995
Option 2: Open drain; quasi-bidirectional I/O with n-channel open
drain output. Use as an output requires the connection of
an external pull up resistor (see Figure 3(c)).
Option 3: Push-Pull; output with drive capability in both polarities.
Under this option, pins can only be used as outputs. See
Figure 3(b).
7
Philips Semiconductors
Product specification
Low-voltage single-chip 8-bit microcontrollers
REGISTER
MNEMONIC
80CL31/80CL51
DIRECT
BYTE ADDRESS
(HEX)
BIT ADDRESS
IP1
FF
FE
FD
FC
FB
FA
F9
F8
F8H
B
F7
F6
F5
F4
F3
F2
F1
F0
F0H
IEN1
EF
EE
ED
EC
EB
EA
E9
E8
E8H
ACC
E7
E6
E5
E4
E3
E2
E1
E0
EOH
PSW
D7
D6
D5
D4
D3
D2
D1
D0
D0H
IRQ1
C7
C6
C5
C4
C3
C2
C1
C0
C0H
BD
BC
BB
BA
B9
B8
B8H
IX1
E9H
IP0
P3
IEN0
P2
B7
B6
B5
B4
B3
B2
B1
B0
B0H
AF
AE
AD
AC
AB
AA
A9
A8
A8H
A7
A6
A5
A4
A3
A2
A1
A0
9F
9E
9D
9C
9B
9A
99
98
98H
P1
97
96
95
94
93
92
91
90
90H
A0H
99H
S0BUF
S0CON
SFRs CONTAINING DIRECTLY
ADDRESSABLE BITS
TH1
8DH
TH0
8CH
8BH
TL1
8AH
TL0
89H
TMOD
TCON
8F
8E
8D
8C
8B
8A
89
88
87H
PCON
83H
DPH
82H
DPL
SP
P0
88H
81H
87
86
85
84
83
82
81
80
80H
Figure 2. Special Function Registers
January 1995
8
Philips Semiconductors
Product specification
Low-voltage single-chip 8-bit microcontrollers
80CL31/80CL51
STRONG PULL UP
2 OSCILLATOR PERIODS
+5V
P2
P1
P3
I/O PIN
FROM
PORT
LATCH
Q
n
(a)
INPUT DATA
INPUT BUFFER
READ PORT PIN
STRONG PULL UP
+5V
P1
(b)
I/O PIN
FROM
PORT
LATCH
Q
n
+5V
EXT.
PULL UP
I/O PIN
FROM
PORT
LATCH
Q
n
INPUT DATA
(c)
INPUT BUFFER
READ PORT PIN
Figure 3. Ports
Option 2: Open drain; quasi-bidirectional I/O with n-channel open
drain output. Use as an output requires the connection of
an external pull up resistor (see Figure 3(c)).
The definition of port options for port 0 is slightly different. Two
cases have to be examined. First, accesses to external memory
(EA=0 or access above the built -in memory boundary), second, I/O
accesses.
Option 3: Push-Pull; output with drive capability in both polarities.
Under this option, pins can only be used as outputs.
External Memory Accesses
Option 1: True 0 and 1 are written as address to the external
memory (strong pull up is used).
Individual mask selection of the post-reset state is available on any
of the above pins. Make your selection by appending “S” or “R” to
option 1, 2, or 3 above (e.g. 1 S for a standard I/O to be set after
RESET or 2R for an open-drain I/O to be reset after RESET).
Option 2: An external pull up resistor is needed for external
accesses.
1.3 Timer/event counter
Option 3: Not allowed for external memory access as the port can
only be used as output.
The 80CL51 contains two 16-bit Timer/Counter registers, Timer 0
and Timer 1, which can perform the following functions:
– Measure time intervals and pulse durations
I/O Accesses
Option 1: When writing a 1 to the port-latch, the strong pull up p1
will be on for 2 oscillator periods. No weak pull up exists.
Without an external pull up, this option can be used as a
high-impedance input.
January 1995
– Count events
– Generate interrupts requests
9
Philips Semiconductors
Product specification
Low-voltage single-chip 8-bit microcontrollers
Timer 0 and Timer 1 can be independently programmed to operate
as follows:
80CL31/80CL51
1.4 Idle and Power-down operation
Idle mode operation permits the interrupt, serial port and timer
blocks to continue functioning while the clock to the CPU is halted.
The following functions remain active during Idle mode:
– Timer 0, Timer 1
Mode 0 - 8-bit timer or counter with divide-by-32 prescaler
Mode 1 - 16-bit time-interval or event counter
– UART
Mode 2 - 8-bit time interval or event counter with automatic reload
upon overflow
– External interrupt
Mode 3 - Timer 0 establishes TL0 and TH0 as two separate
counters.
The Power-down operation freezes the oscillator. The Power-down
mode can only be activated by setting the PD bit in the PCON
register.
In the “Timer” function, the register is incremented every machine
cycle. Since a machine cycle consists of 12 oscillator periods, the
count rate is 1/12 of the oscillator frequency.
1.4.1 Power control register
Power-down and Idle modes are activated by software via the
Special Function Register PCON. Its hardware address is 87H.
PCON is byte addressable only.
In the “Counter” function, the register is incremented in response to
a 1-to-0 transition. Since it takes 2 machine cycles (24 oscillator
periods) to recognize a 1-to-0 transition, the maximum count rate is
1/24 of the oscillator frequency. To ensure a given level is sampled,
it should be held for at least one full machine cycle.
PCON
BIT
POSITION
FUNCTION
SMOD
PCON.7
PCON.4-PCON.6
Double baud-rate bit, see description of the UART, chapter 1.5.
(reserved)
GF1
PCON.3
General purpose flag bit
GFO
PCON.2
General purpose flag bit
PD
PCON.1
Power-down activation bit
IDL
PCON.0
Idle mode activation bit
XTAL2
XTAL1
OSCILLATOR
INPUTS
SERIAL PORTS
TIMER BLOCKS
CLOCK
GENERATOR
CPU
PD
IDL
Figure 4. Idle and Power-down Hardware
January 1995
10
Philips Semiconductors
Product specification
Low-voltage single-chip 8-bit microcontrollers
80CL31/80CL51
1.4.2 Power-down mode
The instruction setting PCON.1 is the last executed prior to going
into the Power-down mode. In Power-down mode the oscillator is
stopped. The contents of the on-chip RAM and SFRs are preserved.
The port pins output the values held by their respective SFRs. ALE
and PSEN are held LOW.
clock is gated away from the CPU, but not from the Interrupt, Timer
and Serial port functions. The CPU status is preserved along with
the Stack Pointer, Program Counter, Program Status Word and
Accumulator. The RAM and all other registers maintain their data
during Idle mode. The port pins retain the logical states they held at
Idle mode activation. ALE and PSEN hold at the logic HIGH level.
In the Power-down mode VDD may be reduced to minimize power
consumption. However, the supply voltage must not be reduced until
Power-down mode is active, and must be restored before the
hardware reset is applied and frees the oscillator. Reset must be
held active until the oscillator has restarted and stabilized.
There are two methods used to terminate the Idle mode. Activation
of any enabled interrupt will cause PCON to be cleared by
hardware, terminating Idle mode. The interrupt is serviced, and
following the instruction RETI, the next instruction to be executed
will be the one following the instruction that put the device in the Idle
mode.
The wake-up operation after power-down in this controller has two
basic approaches:
Flag bits GF0 and GF1 may be used to determine whether the
interrupt was received during normal execution or Idle mode. For
example, the instruction that writes to PCON.0 can also set or clear
one or both flag bits. When Idle mode is terminated by an interrupt,
the service routine can examine the status of the flag bits.
1.4.2.1 Wake-up using INT2 to INT9
If INT2 to INT9 are enabled, the 80CL51 can be awakened from
power-down mode with the external interrupts. To ensure that the
oscillator is stable before the controller restarts, the internal clock
will remain inactive for 1536 oscillator periods. This is controlled by
an on-chip delay counter.
The second method of terminating the Idle mode is with an external
hardware reset. Since the oscillator is still running, the hardware
reset is required to be active for only two machine cycles to
complete the reset operation.
1.4.2.2 Wake-up using RESET
To wake-up the 80CL51 the RESET pin has to be kept HIGH for a
minimum of 24 oscillator periods. The on-chip delay counter is
inactive. The user has to ensure that the oscillator is stable before
any operation is attempted. Figure 5 illustrates the two possibilities
for wake-up.
Reset redefines all SFRs, but does not affect the on-chip RAM.
The status of the external pins during Idle and Power-down mode is
shown in Table 1. If the Power-down mode is activated while
accessing external memory, port data held in the Special Function
Register P2 is restored to Port 2. If the data is a logic 1, the port pin
is held HIGH during the Power-down mode by the strong pull up
transistor p1 (see Figure 3(a)).
1.4.3 Idle mode
The instruction that sets PCON.0 is the last instruction executed
before going into Idle mode. Once in the Idle mode, the internal
Table 1.
MODE
Status of the External Pins During Idle and Power-down Mode
MEMORY
ALE
PSEN
PORT 0
PORT 1
PORT 2
PORT 3
Idle
internal
1
1
Port Data
Port Data
Port Data
Port Data
Idle
external
1
1
Floating
Port Data
Address
Port Data
Power-down
internal
0
0
Port Data
Port Data
Port Data
Port Data
Power-down
external
0
0
Floating
Port Data
Port Data
Port Data
POWER-DOWN
RESET-PIN
EXTERNAL INTERRUPT
OSCILLATOR
DELAY COUNTER
1536 PERIODS
>24 PERIODS
Figure 5. Wake-up Operation
January 1995
11
Philips Semiconductors
Product specification
Low-voltage single-chip 8-bit microcontrollers
1.5 Standard serial interface SI0: UART
80CL31/80CL51
1.5.2 Serial port control register
The serial port control and status register is the Special Function
Register S0CON, shown in Figure 6. The register contains not only
the mode selection bits, but also the 9th data bit for transmit and
receive (TB8 and RB8), and the serial port interrupt bits (T1 and
R1). See next page.
This serial port is full duplex, meaning it can transmit and receive
simultaneously. It is also receive-buffered, meaning it can
commence reception of a second byte before a previously received
byte has been read from the register. (However, if the first byte still
hasn’t been read by the time reception of the second byte is
complete, one of the bytes will be lost). The serial port receive and
transmit registers are both accessed at Special Function Register
S0BUF. Writing to S0BUF loads the transmit register, and reading
S0BUF loads the transmit register, and reading S0BUF accesses a
physically separate receive register.
The serial port can operate in 4 modes:
Baud Rates
The baud rate in Mode 0 is fixed: Mode 0 Baud Rate = Oscillator
Frequency /12. The baud rate in Mode 2 depends on the value of bit
SMOD in Special Function Register PCON. If SMOD = 0 (which is
the value on reset), the baud rate is 1/64 the oscillator frequency. If
SMOD = 1, the baud rate is 1/32 the oscillator frequency.
Mode 0:
Mode 2 Baud Rate = (2SMOD/64)(Oscillator Frequency)
Mode 1:
Mode 2:
Mode 3:
Serial data enters and exits through RxD. TxD outputs the
shift clock. 8 bits are transmitted/ received (LSB first). The
baud is fixed at 1/12 the oscillator frequency.
The baud rates in Modes 1 and 3 are determined by the Timer 1
overflow rate.
10 bits are transmitted (through TxD) or received (through
RxD): a start bit (0), 8 data bits (LSB first), and a stop bit
(1). On receive, the stop bit goes into RB8 in Special
Function Register SCON. The baud rate is variable.
Using Timer 1 to generate baud rates
When Timer 1 is used as the baud rate generator, the baud rates in
Modes 1 and 3 are determined by the Timer 1 overflow rate and the
value of SMOD as follows:
11 bits are transmitted (through TxD) or received (through
RxD): start bit (0), 8 data bits (LSB first), a programmable
9th data bit, and a stop bit (1). On Transmit, the 9th data
bit (TB8 in SCON) can be assigned the value of 0 or 1.
Or, for example, the parity bit (P, in the PSW) could be
moved into TB8. On receive, the 9th data bit goes into
RB8 in Special Function Register SCON, while the stop
bit is ignored. The baud rate is programmable to either
1/32 or 1/64 the oscillator frequency.
(2SMOD/32)(Timer 1 Overflow Rate)
The Timer 1 interrupt should be disabled in this application. The
Timer itself can be configured for either “timer” or “counter”
operation, and in any of its 3 running modes. In the most typical
applications, it is configured for “timer operation, in the auto-reload
mode (high nibble of TMOD = 0010B). In that case the baud rate is
given by the formula:
Mode 1, 3 Baud Rate =
11 bits are transmitted (through TxD) or received (through
RxD): a start bit (0), 8 data bits (LSB first), a
programmable 9th data bit and a stop bit (1). In fact,
Mode 3 is the same as Mode 2 in all respects except
baud rate. The baud rate in Mode 3 is variable.
{(2SMOD/32) (Oscillator Frequency)} / {12 (256 - (TH 1 )}
One can achieve very low baud rates with Timer 1 by leaving the
Timer 1 interrupt enabled, and configuring this Timer to run as a
16-bit timer (high nibble of TMOD = 0001B), and using the Timer 1
interrupt to do a 16-bit software reload. Table 2 lists various
commonly used baud rates and how they can be obtained from
Timer 1.
In all four modes, transmission is initiated by any instruction that
uses S0BUF as a destination register. Reception is initiated in Mode
0 by the condition Rl = 0 and REN = 1. Reception is initiated in the
other modes by the incoming start bit if REN = 1.
More about Mode 0
Figure 7 shows a simplified functional diagram of the serial port in
Mode 0, and associated timing. Transmission is initiated by any
instruction that uses S0BUF as a destination register. The “write to
S0BUF” signal at S6P2 also loads a 1 into the 9th position of the
transmit shift register and tells the TX Control block to commence a
transmission. The internal timing is such that the one full machine
cycle will elapse between “write to S0BUF”, and activation of SEND.
1.5.1 Multiprocessor communications
Modes 2 and 3 have a special provision for multiprocessor
communications. In these modes, 9 data bits are received. The 9th
one goes into RB8. Then comes a stop bit. The port can be
programmed such that when the stop bit is received, the serial port
interrupt will be activated only if RB8 = 1. This feature is enabled by
setting bit SM2 in SCON. A way to use this feature in multiprocessor
systems is as follows:
SEND enables the output of the shift register to the alternate output
function line of P3.0 and also enables SHIFT CLOCK to the
alternate output function line of P3.1. SHIFT CLOCK is low during
S3, S4, and S5 of every machine cycle, and high during S6, S1 and
S2. At S6P2 of every machine cycle in which SEND is active, the
contents of the transmit shift are shifted to the right one position.
When the master processor wants to transmit a block of data to one
of several slaves, it first sends out an address byte which identifies
the target slave. An address byte differs from a data byte in that the
9th bit is 1 in an address byte and 0 in a data byte. With SM2 = 1, no
slave will be interrupted by a data byte. An address byte, however,
will interrupt all slaves, so that each slave can examine the received
byte and see if it is being addressed. The addressed slave will clear
its SM2 bit and prepare to receive the data bytes that will be coming.
The slaves that weren’t being addressed leave their SM2s set and
go on about their business, ignoring the coming data bytes.
As data bits shift out to the right, zeros come in from the left. When
the MSB of the data byte is at the output position of the shift register,
then the 1 that was initially loaded into the 9th position is just to the
left of the MSB, and all positions to the left of that contain zeros.
This condition flags the TX Control block to do one last shift and
then deactivate SEND and set T1. Both of these actions occur at
S1P1 of the 10th machine cycle after “write to S0BUF”.
SM2 has no effect in Mode 0, and in Mode 1 can be used to check
the validity of the stop bit. In a Mode 1 reception, if SM2 = 1, the
receive interrupt will not be activated unless a valid stop bit is
received.
January 1995
Reception is initiated by the condition REN = 1 and R1 = 0. At S6P2
of the next machine cycle, the RX Control unit writes the bits
11111110 to the receive shift register, and in the next clock phase
activates RECEIVE.
12
Philips Semiconductors
Product specification
Low-voltage single-chip 8-bit microcontrollers
MSB
SM0
80CL31/80CL51
LSB
SM1
SM2
REN
TB8
RB8
T1
R1
Where SM0, SM1 specify the serial port mode, as follows:
SM0
0
0
1
1
SM1
0
1
0
Mode
0
1
2
1
3
Description
shift register
8-bit UART
9-bit UART
Baud Rate
fOSC/ 12
variable
fOSC/64
or
fOSC/32
9-bit variable UART
SM2
Enables the multiprocessor communication feature in Modes 2 and 3. In Mode 2 or 3, if SM2 is set to 1 then Rl will not
be activated if the received 9th data bit (RB8) is 0. In Mode 1, if SM2=1 then R1 will not be activated if a valid stopbit
was not received. In Mode 0, SM2 should be 0.
REN
Enables serial reception. Set by software to enable reception. Clear by software to disable reception.
TB8
Is the 9th data bit that will be transmitted in Modes 2 and 3. Set or clear by software as desired.
RB8
In Modes 2 and 3, is the 9th data bit that was received. In Mode 1, it SM2=0, RB8 is the stop bit that was received. In
Mode 0, RB8 is not used.
TI
Is transmit interrupt flag. Set by hardware at the end of the 8th time in Mode 0, or at the beginning of the stop bit in the
other modes, in any serial transmission. Must be cleared by software.
RI
Receive interrupt flag. Set by hardware at the end of the 8th bit time in Mode 0, or halfway through the stop bit time in
the other modes, in any serial reception except (see SM2). Must be cleared by software.
Figure 6. Serial Port control (SCON) Register
Table 2.
Timer 1 Generated Commonly Used Baud Rates
TIMER 1
BAUD RATE
fOSC
SMOD
C/T
MODE
RELOAD VALUE
Mode 0 Max: 1.33 Mb/s
16 MHz
x
x
x
x
Mode 2 Max: 500 Kb/s
16 MHz
1
x
x
x
Modes 1,3: 83.3 Kb/s
16 MHz
1
0
2
FFH
19.2 Kb/s
11.059 MHz
1
0
2
FDH
9.6 Kb/s
11.059 MHz
0
0
2
FDH
4.8 Kb/s
11.059 MHz
0
0
2
FAH
2.4 Kb/s
11.059 MHz
0
0
2
F4H
1.2 Kb/s
11.059 MHz
0
0
2
E8H
137.5 Kb/s
11.986 MHz
0
0
2
1DH
110
6 MHz
0
0
2
72H
110
12 MHz
0
0
1
FEEBH
January 1995
13
Philips Semiconductors
Product specification
Low-voltage single-chip 8-bit microcontrollers
following conditions are met at the time the final shift pulse is
generated.
RECEIVE enables SHIFT CLOCK to the alternate output function
line of P3.1. SHIFT Clock makes transitions at S3P1 and S6P1 of
every machine cycle. at S6P2 of every machine cycle in which
RECEIVE is active, the contents of the receive shift register are
shifted to the left one position. The value that comes in from the right
is the value that was sampled at the P3.0 pin at S5P2 of the same
machine cycle.
1. R1 = 0, and
2. Either SM2 = 0, or the received stop bit = 1
If either of these two conditions is not met, the received frame is
irretrievably lost. If both conditions are met, the stop bit goes into
RB8, the 8 data bits go into S0BUF, and Rl is activated. At this time,
whether the above conditions are met or not, the unit goes back to
looking for a 1-to-0 transition in RxD.
As data bits come in from the right, 1s shift out to the left. When the
0 that was initially loaded into the right-most position arrives at the
left-most position in the shift register, it flags the RX Control block to
do one last shift and load S0BUF. At S1P1 of the 10th machine cycle
after the write to SCON that cleared Rl, RECEIVE is cleared as Rl is
set.
More about modes 2 and 3
Eleven bits are transmitted (through TxD), or received (through
RxD): a start bit (0), 8 data bits (LSB first), a programmable 9th data
bit, and a stop bit (1). On transmit, the 9th data bit (TB8) can be
assigned the value of 0 or 1. On receive, the 9th data bit goes into
RB8 in SCON. The baud rate is programmable to either 1/32 or 1/64
the oscillator frequency in Mode 2. Mode 3 may have a variable
baud rate generated from Timer 1.
More about Mode 1
Ten bits are transmitted (through TxD), or received (through RxD): a
start bit (0), 8 data bits (LSB first), and a stop bit (1 ). On receive,
the stop bit goes into RB8 in SCON. In the 8051 the baud rate is
determined by the Timer 1 overflow rate.
Figures 9 and 10 show a functional diagram of the serial port in
Modes 2 and 3. The receive portion is exactly the same as in Mode
1. The transmit portion differs from Mode 1 only in the 9th bit of the
transmit shift register.
Figure 8 shows a simplified functional diagram of the serial port in
Mode 1, and associated timings for transmit/receive.
Transmission is initiated by any instruction that uses S0BUF as a
destination register. The “write to S0BUF” signal also loads a 1 into
the 9th bit position of the transmit shift register and flags the TX
Control unit that a transmission is requested. Transmission actually
commences at S1P1 of the machine cycle following the next rollover
in the divide-by-16 counter. (Thus, the bit times are synchronized to
the divide-by-16 counter, not to the “write to S0BUF” signal).
Transmission is initiated by any instruction that uses S0BUF as a
destination register. The “write to S0BUF” signal also loads TB8 into
the 9th bit position of the transmit shift register and flags the TX
Control unit that a transmission is requested. Transmission
commences at S1P1 of the machine cycle following the next rollover
in the divide-by-16 counter (thus, the bit times are synchronized to
the divide-by-16 counter, not to the “write to S0BUF” signal). The
transmission begins with activation of SEND, which puts the start bit
at TxD. One bit time later, DATA is activated, which enables the
output bit of the transmit shift register to TxD. One bit time later,
DATA is activated, which enables the output bit of the transmit shift
register to TxD. The first shift pulse occurs one bit time after that.
The first shift clocks a 1 (the stop bit) into the 9th bit position of the
shift register. Thereafter, only zeros are clocked in. Thus, as data
bits shift out to the right, zeros are clocked in from the left. Then TB8
is at the output position of the shift register, then the stop bit is just to
the left of TB8, and all positions to the left of that contains zeros.
This condition flags the TX Control unit to do one last shift and then
deactivate SEND and set Tl. This occurs at the 11th divide-by-16
rollover after “write to S0BUF”.
The transmission begins with activation of SEND which sends the
start bit to pin TxD. One bit time later, DATA is activated, enabling
the transmission of the output bit of the transmit shift register to TxD.
The first shift pulse occurs one bit time after that.
As data bits shift out to the right, zeros are clocked in from the left.
When the MSB of the data byte is at the output position of the shift
register, then the 1 that was initially loaded into the 9th position is
just to the left of the MSB, and all positions to the left of that contain
zeros. This condition flags the TX Control unit to do one last shift
and then deactivate SEND and set Tl. This occurs at the 10th
divide-by-16 rollover after “write to S0BUF”. Reception is initiated by
a detected 1 -to-0 transition at RxD. For this purpose RxD is
sampled at a rate of 16 times whatever baud rate has been
established. When a transition is detected, the divide-by-16 counter
is immediately reset, and 1FFH is written into the input shift register.
Resetting the divide-by-16 counter aligns its rollovers with the
boundaries of the incoming bit times. The 16 states of the counter
divide each bit time into 16th. At the 7th, 8th, and 9th counter states
of each bit time, the bit detector samples the value of RxD. The
value accepted is the value that was seen in at least 2 of the 3
samples. This is done for noise rejection. If the value accepted
during the first bit time is not 0, the receive circuits are reset and the
unit goes back to looking for another 1-to-0 transition. This is to
provide rejection of false start bits. If the start bit proves valid, it is
shifted into the input shift register, and reception of the rest of the
frame will proceed.
Reception is initiated by a detected 1-to-0 transition at RxD. For this
purpose RxD is sampled at a rate of 16 times whatever baud rate
has been established. When a transition is detected, the
divide-by-16 counter is immediately reset, and 1FFFH is written to
the input shift register.
At the 7th, 8th and 9th counter states of each bit time, the bit
detector samples the value of RxD. The value accepted is the value
that was seen in at least 2 of the 3 samples. If the value accepted
during the first bit time is not 0, the receive circuits are reset and the
unit goes back to looking for another 1-to-0 transition. If the start bit
proves valid, it is shifted into the input shift register, and reception of
the rest of the frame will proceed. As data bits come in from the
right, 1s shift out to the left. When the start bit arrives at the left-most
position in the shift register (which in Modes 2 and 3 is a 9-bit
register), it flags the RX Control block to do one last shift, load
S0BUF and RB8, and set Rl.
As data bits come in from the right, 1s shift out to the left. When the
start bit arrives at the left-most position in the shift register, (which in
mode 1 is a 9-bit register), it flags the RX Control block to do one
last shift, loads S0BUF and RB8, and set Rl. The signal to load
S0BUF and RB8, and to set Rl, will generated if, and only if, the
January 1995
80CL31/80CL51
14
Philips Semiconductors
Product specification
Low-voltage single-chip 8-bit microcontrollers
80CL31/80CL51
80CL51 Internal Bus
Write
to
SBUF
S
D
Q
RxD
P3.0 Alt
Output
Function
SBUF
CL
Zero Detector
Start
Shift
TX Control
S6
TX Clock
Send
T1
Serial
Port
Interrupt
R1
RX Clock
Receive
RX Control
REN
RI
Start
1
1
1
1
TxD
P3.1 Alt
Output
Function
Shift
Clock
Shift
1
1
1
0
RxD
P3.0 Alt
Input
Function
Input Shift Register
Shift
Load
SBUF
SBUF
Read
SBUF
80CL51 Internal Bus
S4 . .
S1 . . . . S6 S1 . . . . S6 S1 . . . . S6 S1 . . . . S6 S1 . . . . S6 S1 . . . . S6 S1 . . . . S6 S1 . . . . S6 S1 . . . . S6 S1 . . . . S6 S1
ALE
Write to SBUF
T
r
a
n
s
m
i
t
S6P2
Send
Shift
RxD (Data Out)
D0
D1
D2
D3
D4
D5
D6
D7
TxD (Shift Clock)
S3P1
TI
S6P1
Write to SCON (Clear RI)
RI
Receive
Shift
RxD (Data In)
D0
D1
D2
D3
D4
S5P2
TxD (Shift Clock)
Figure 7. Serial Port Mode 0
January 1995
15
D5
D6
D7
R
e
c
e
i
v
e
Philips Semiconductors
Product specification
Low-voltage single-chip 8-bit microcontrollers
Timer 1
Overflow
80CL31/80CL51
80CL51 Internal Bus
TB8
Write
to
SBUF
÷2
SMOD = 1
D
S
Q
SBUF
TxD
CL
Zero Detector
Start
Data
Shift
TX Control
÷ 16
T1
Send
RX Clock RI
Load
SBUF
TX Clock
Serial
Port
Interrupt
÷ 16
Sample
RX Control
1-to-0
Transition
Detector
Shift
Start
Bit Detector
Input Shift Register
(9 Bits)
Shift
RxD
Load
SBUF
S0 BUFFER
Read
SBUF
80CL51 Internal Bus
TX
Clock
Write to SBUF
T
r
a
n
s
m
i
t
Send
Data
S1P1
Shift
TxD
Start Bit
D0
D1
D2
D3
D4
D5
D6
D7
Stop Bit
D0
D1
D2
D3
D4
D5
D6
D7
Stop Bit
TI
÷ 16 Reset
RX
Clock
R
e
c
e
i
v
e
RxD
Bit Detector
Sample Time
Start
Bit
Shift
RI
Figure 8. Serial Port Mode 1
January 1995
16
Philips Semiconductors
Product specification
Low-voltage single-chip 8-bit microcontrollers
80CL31/80CL51
80CL51 Internal Bus
TB8
Write
to
SBUF
D
S
Q
SBUF
TxD
CL
Phase 2 Clock
(1/2 fOSC)
Zero Detector
Mode 2
Start
÷ 16
SMOD = 1
Stop Bit
Shift
Gen.
TX Control
TX Clock
Data
T1
Send
R1
Load
SBUF
Serial
Port
Interrupt
÷2
SMOD = 0
(SMOD is
PCON.7)
÷ 16
RX Clock
Sample
RX Control
1-to-0
Transition
Detector
Shift
Start
1FFH
Bit Detector
Input Shift Register
(9 Bits)
Shift
RxD
Load
SBUF
S0 BUFFER
Read
SBUF
80CL51 Internal Bus
TX
Clock
Write to SBUF
Send
Data
S1P1
Shift
TxD
Start Bit
D0
D1
D2
D3
D4
D5
D6
D7
TB8
D0
D1
D2
D3
D4
D5
D6
D7
RB8
Stop Bit
TI
Stop Bit Gen.
÷ 16 Reset
RX
Clock
R
e
c
e
i
v
e
RxD
Bit Detector
Sample Times
Start
Bit
Shift
RI
Figure 9. Serial Port Mode 2
January 1995
17
Stop Bit
T
r
a
n
s
m
i
t
Philips Semiconductors
Product specification
Low-voltage single-chip 8-bit microcontrollers
Timer 1
Overflow
80CL31/80CL51
80CL51 Internal Bus
TB8
Write
to
SBUF
÷2
SMOD = 0
SMOD = 1
S
D
Q
S0 BUFFER
TxD
CL
Zero Detector
Start
Shift
Data
TX Control
÷ 16
TX Clock
T1
Send
R1
Load
SBUF
Serial
Port
Interrupt
÷ 16
RX Clock
Sample
RX Control
1-to-0
Transition
Detector
Shift
Start
Bit Detector
Input Shift Register
(9 Bits)
Shift
RxD
Load
SBUF
S0 BUFFER
Read
SBUF
80CL51 Internal Bus
TX
Clock
Write to SBUF
Send
Data
S1P1
Shift
TxD
Start Bit
D0
D1
D2
D3
D4
D5
D6
D7
TB8
D0
D1
D2
D3
D4
D5
D6
D7
RB8
Stop Bit
TI
Stop Bit Gen.
÷ 16 Reset
RX
Clock
R
e
c
e
i
v
e
RxD
Bit Detector
Sample Times
Start
Bit
Shift
RI
Figure 10. Serial Port Mode 3
January 1995
18
Stop Bit
T
r
a
n
s
m
i
t
Philips Semiconductors
Product specification
Low-voltage single-chip 8-bit microcontrollers
– UART serial I/O
The signal to load S0BUF and RB8, and to set Rl, will be generated
if, and only if, the following conditions are met at the time the final
shift pulse is generated.
– INT2 to INT9 (Port 1)
Each interrupt vectors to a separate location in program memory for
its service routine. Each source can be individually enabled or
disabled by corresponding bits in the Interrupt Enable Registers (IE,
IEO). The priority level is selected via the Interrupt Priority register
(IP0, IP1). All enabled sources can be globally disabled or enabled.
1. Rl = 0, and
2. Either SM2 = 0 or the received 9th data bit = 1
If either of these conditions is not met, the received frame is
irretrievably lost, and Rl is not set. If both conditions are met, the
received 9th data bit goes into RB8, and the first 8 data bits 90 into
S0BUF. One bit time later, whether the above conditions were met or
not, the unit goes back to looking for a 1-to-0 transition at the RxD
input.
1.6.1 External Interrupts INT2/INT9
Port 1 lines serve an alternative purpose as eight additional
interrupts INT2 to INT9. When enabled, each of these lines may
“wake-up” the device from Power-down mode. Using the IX1
register, each pin may be initialized to either active HIGH or LOW.
IRQ1 is the interrupt request flag register. Each flag, if the interrupt
is enabled, will be set on an interrupt request but must be cleared by
software, i.e. via the interrupt software or when the interrupt is
disabled.
1.6 Interrupt System
External events and the real-time-driven on-chip peripherals require
service by the CPU asynchronous to do execution of any particular
section of code. To tie the asynchronous activities of these functions
to normal program execution, a multiple-source, two-priority-level,
nested interrupt system is provided. The 80CL51 acknowledges
interrupt requests from thirteen sources as follows:
– INT0 and INT1
The Port 1 interrupts are level sensitive. A Port 1 interrupt will be
recognized when a level (HIGH or LOW depending on Interrupt
Polarity Register IX1) on P1x is held active for at least one machine
cycle. The Interrupt Request is not served until the next machine
cycle.
– Timer 0 and Timer 1
INTERRUPT
SOURCES
IEN0/1
80CL31/80CL51
IP0/1
REGISTERS
PRIORITY
HIGH
LOW
X0
S0
X5
INTERRUPT POLLING SEQUENCE
T0
X6
X1
X2
X7
T1
X3
X8
X4
X9
GLOBAL ENABLE
Figure 11. Interrupt System
January 1995
19
Philips Semiconductors
Product specification
Low-voltage single-chip 8-bit microcontrollers
IX1
IEN1
80CL31/80CL51
IRQ1
P1.7
X9
P1.6
X8
P1.5
X7
P1.4
X6
P1.3
X5
P1.2
X4
P1.1
X3
P1.0
X2
WAKE-UP
Figure 12. External Interrupt Configuration
Interrupt priority register IP0, IP1
IP0 (B8H)
Interrupt enable register IEN0, IEN1
IEN0 (A8H)
EA
-
ES1
ES0
ET1
EX1
ET0
EX0
-
Bit
Symbol
Function
IEN0.7 EA
General enable/disable control
0 = no interrupt is enabled
1 = any individually enabled interrupt will be accepted
IEN0.6 Unused
IEN0.5 ES1 Unused
IEN0.4 ES0 Enable UART SIO interrupt
IEN0.3 ET1 Enable timer T1 interrupt
IEN0.2 EX1 Enable external interrupt
IEN0.1 ET0 Enable Timer T0 interrupt
IEN0.0 EX0 Enable external interrupt 0
EX8
EX6
EX5
EX4
EX3
PT1
PX1
PX8
PX7
PX6
PX5
PX4
Bit Symbol
Function
IP1.7 PX9 External interrupt 9 priority level
IP1.6 PX8 External interrupt 8 priority level
IP1.5 PX7 External interrupt 7 priority level
IP1.4 PX6 External interrupt 6 priority level
IP1.3 PX5 External interrupt 5 priority level
IP1.2 PX4 External interrupt 4 priority level
IP1.1 PX3 External interrupt 3 priority level
IP1.0 PX2 External interrupt 2 priority level
Interrupt priority is as follows:
0 = low priority
1 = high priority
EX2
Bit
Symbol
Function
IEN1.7 EX9
Enable external interrupt 9
IEN1.6 EX8
Enable external interrupt 8
IEN1.5 EX7
Enable external interrupt 7
IEN1.4 EX6
Enable external interrupt 6
IEN1.3 EX5
Enable external interrupt 5
IEN1.2 EX4
Enable external interrupt 4
IEN1.1 EX3
Enable external interrupt 3
IEN1.0 EX2
Enable external interrupt 2
where 0 = interrupt disabled
1 = interrupt enabled
January 1995
PS0
PT0
PX0
IP1 (B8H)
PX9
EX7
PS1
Bit Symbol
Function
IP0.7
Unused
IP0.6
Unused
IP0.5 PS1 Unused
IP0.4 PS0 UART SIO interrupt
IP0.3 PT1 Timer 1 interrupt priority level
IP0.2 PX1 External interrupt 1 priority level
IP0.1 PT0 Timer 0 interrupt priority level
IP0.0 PX0 External interrupt 0 priority level
IEN1 (E8H)
EX9
-
20
PX3
PX2
Philips Semiconductors
Product specification
Low-voltage single-chip 8-bit microcontrollers
Interrupt polarity register IX1
IX1 (E9H)
IL9
IL8
IL7
IL6
1.7 Oscillator registers
IL5
IL4
IL3
The on-chip circuitry of the 80CL51 is a single-stage inverting
amplifier biased by an internal feedback resistor (Figure 13). For
operation as standard quartz oscillator, no external components are
needed except at 32 KHz. When using external capacitors, ceramic
resonators, coils and RC networks to drive the oscillator, five
different configurations are supported (see Figure 14 and oscillator
options).
IL2
Bit Symbol
Function
IX1.7 IL9 External interrupt 9 polarity level
IX1.6 IL8 External interrupt 8 polarity level
IX1.5 IL7 External interrupt 7 polarity level
IX1.4 IL6 External interrupt 6 polarity level
IX1.3 IL5 External interrupt 5 polarity level
IX1.2 IL4 External interrupt 4 polarity level
IX1.1 IL3 External interrupt 3 polarity level
IX1.0 IL2 External interrupt 2 polarity level
In the Power-down mode the oscillator is stopped XTAL1 is pulled
HIGH. The oscillator inverter is switched off to ensure no current will
flow regardless of the voltage at XTAL1. To drive the device with an
external clock source, apply the external clock signal to XTAL1, and
leave XTAL2 to float, as shown in Figure 14(f). There are no
requirements on the duty cycle of the external clock, since the input
to the internal clocking circuitry is split sing a flip-flop.
Interrupt request flag register IRQ1
IRQ1 (C0H)
IQ9
IQ8
IQ7
IQ6
80CL31/80CL51
IQ5
IQ4
IQ3
The following options are provided for optimum on-chip oscillator
performance. Please state option when ordering.
IQ2
Bit Symbol
Function
IRQ1.7 IQ9 External interrupt 9 request flag
IRQ1.6 IQ8 External interrupt 8 request flag
IRQ1.5 IQ7 External interrupt 7 request flag
IRQ1.4 IQ6 External interrupt 6 request flag
IRQ1.3 IQ5 External interrupt 5 request flag
IRQ1.2 IQ4 External interrupt 4 request flag
IRQ1.1 IQ3 External interrupt 3 request flag
IRQ1.0 IQ2 External interrupt 2 request flag
1.7.1 Oscillator options (see Figure 14)
The following options are provided for optimum on-chip oscillator
performance. Please state option when ordering.
1.6.2 Interrupt Vectors
Osc. 3: An option for medium frequency range applications.
X0
S0
X5
T0
X6
X1
X2
X7
T1
X3
X8
X4
X9
Vector
0003H
0023H
0053H
000BH
005BH
0013H
003BH
0063H
001BH
0043H
006BH
004BH
0073H
Osc.1:
Osc. 2: Figure 14(e): An option for low-power, low-frequency
operations using LC components.
Source
External 0
UART SIO
External 5
Timer 0
External 6
External 1
External 2
External 7
Timer 1
External 3
External 8
External 4
External 9
Osc. 4: An option for high frequency range applications.
RC:
Figure 14(g): An option for an RC oscillator.
VDD
80CL51
TO INTERNAL
TIMING CIRCUITS
PD
VDD
Interrupt priority
Each interrupt priority source can be set to either high or low priority.
If both priorities are requested simultaneously, the controller will
branch to the high priority vector.
C1i
VDD
1.6.3 Related registers
The following registers are used in conjunction with the interrupt
system:
XTAL2
Figure 13. Oscillator
Register
Function
IX1 Interrupt polarity register
IRQ1 Interrupt enable register
IEN1 Interrupt enable register (INT2-INT9)
IP0 Interrupt priority register
IP1 Interrupt priority register (INT2-INT9)
21
C2i
Rbias
XTAL1
A low priority interrupt can only be interrupted by a high priority
interrupt. A high priority interrupt routine cannot be interrupted.
January 1995
Figure 14(c): An option for 32 kHz clock applications with
external trimmer for frequency adjustment. A 4.7 MQ bias
resistor is needed for use in parallel with the crystal.
Philips Semiconductors
Product specification
Low-voltage single-chip 8-bit microcontrollers
QUARTZ OSCILLATOR
WITH EXTERNAL
CAPACITORS
STANDARD QUARTZ
OSCILLATOR
XTAL1
80CL31/80CL51
XTAL2
XTAL1
(a)
32 kHz OSCILLATOR
XTAL2
XTAL1
(b)
(c)
CERAMIC RESONATOR
LC-OSCILLATOR
XTAL1
XTAL1
(d)
(e)
EXTERNAL CLOCK
XTAL1
RC-OSCILLATOR
XTAL2
XTAL1
XTAL2
N.C.
N.C.
VDD
(f)
(g)
Figure 14. Alternative Oscillator Configurations
January 1995
XTAL2
22
Philips Semiconductors
Product specification
Low-voltage single-chip 8-bit microcontrollers
80CL31/80CL51
OSCILLATOR TYPE SELECTION GUIDE
C1 EXT. (pF)
C2 EXT. (pF)
MAX. RESONATOR
RESONATOR
f(MHz)
OPTION
MIN.
MAX.
MIN.
MAX.
SERIES RESISTANCE
Quartz
0.032
OSC. 1
0
0
5
15
15 kΩ 1
Quartz
1.0
OSC. 2
0
30
0
30
600 Ω
Quartz
3.58
OSC. 2
0
15
0
15
100 Ω
Quartz
4.0
OSC. 2
0
20
0
20
75 Ω
Quartz
6.0
OSC. 3
0
10
0
10
60 Ω
Quartz
10.0
OSC. 4
0
15
0
15
60 Ω
Quartz
12.0
OSC. 4
0
10
0
10
40 Ω
Quartz
16.0
OSC. 4
0
15
0
15
20 Ω
PXE
0.455
OSC. 2
40
50
40
50
10 Ω
PXE
1.0
OSC. 2
15
50
15
50
100 Ω
PXE
3.58
OSC. 2
0
40
0
40
10 Ω
PXE
4.0
OSC. 2
0
40
0
40
10 Ω
PXE
6.0
OSC. 2
0
20
0
20
5Ω
PXE
10.0
OSC. 3
0
15
0
15
6Ω
PXE
12.0
OSC. 4
10
40
10
40
6Ω
OSC. 2
20
90
20
90
10 µH = 1 Ω
100 µH = 5 Ω
1 mH = 75 Ω
LC
NOTES:
1. 32 kHz quartz crystals with a series resistance higher than 15 kΩ will reduce the guaranteed supply voltage range to 2.5 -3.5V.
2. The equivalent circuit data of the internal oscillator compares with that of matched crystals.
OSCILLATOR EQUIVALENT CIRCUIT PARAMETERS (SEE FIGURE 15)
SYMBOL
PARAMETER
OPTION
CONDITION
T = +25 °C; VDD = 4.5V
T = +25 °C; VDD = 4.5V
T = +25 °C; VDD = 4.5V
T = +25 °C; VDD = 4.5V
MIN.
TYP.
MAX.
UNIT
200
400
1000
15
600
1500
4000
1000
4000
10000
µs
µs
µs
µs
gm
gm
gm
gm
Transconductance
Osc.1
Osc.2
Osc.3
Osc.4
C1i
C1i
C1i
C1i
Input
p Capacitance
p
Osc.1
Osc. 2
Osc. 3
Osc. 4
-
3.0
8.0
8.0
8.0
-
pF
pF
pF
pF
C2i
C2i
C2i
C2i
Output
p Capacitance
p
Osc.1
Osc. 2
Osc. 3
Osc. 4
-
23
8.0
8.0
8.0
-
pF
pF
pF
pF
R2
R2
R2
R2
Output Capacitance
Osc.1
Osc. 2
Osc. 3
Osc. 4
-
3800
65
18
5.0
-
kΩ
kΩ
kΩ
kΩ
January 1995
23
Philips Semiconductors
Product specification
Low-voltage single-chip 8-bit microcontrollers
80CL31/80CL51
1.7.2 RC Oscillator (see Figure 16)
The externally adjustable RC-oscillator has a frequency range from 100 kHz to 500 kHz.
Rf
XTAL1
XTAL2
C1i
V1
gm
R2
SCHMITT
TRIGGER
Figure 15. Equivalent Circuit Diagram
600
fosc
(kHz)
400
200
0
0
2
4
6
RC(µs)
Figure 16. Frequency as a Function of RC
January 1995
24
C2i
Philips Semiconductors
Product specification
Low-voltage single-chip 8-bit microcontrollers
The internal RAM is not affected by reset. When VDD is turned on
the RAM contents are indeterminate.
1.8 Reset Circuitry
To initialize the 80CL51, a reset is performed by either of two
methods:
– via the RST pin
– via a power-on-reset
1.8.1 Power-on reset
The 80CL51 contains on-chip circuitry which switch the port pins to
the customer defined logic level as soon as VDD exceeds
1.3V. As soon as the minimum supply voltage is reached, the
oscillator will start up. However, to ensure that the oscillator is stable
before the controller starts, the clock signals are gated away from
the CPU for a further 1536 oscillator periods. During that time the
CPU is held in a reset state.
It leaves the internal registers as follows:
REGISTER
ACC
B
DPL
DPH
IEN0
IEN1
IP0
IP1
IX1
IRQ1
PCH
PCL
PCON
PSW
P0-P3
S0BUF
S0CPN
SP
TCON
TH0, TH1
TL0, TH1
TL0, TL1
TMOD
CONTENT
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
XX00 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0XXX 0000
0000 0000
1111 1111
XXXX XXXX
0000 0000
0000 0111
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
A hysteresis of approximately 50 mV at a typical power-on switching
level of 1.3 V will ensure correct operation.
The on-chip Power-on circuitry can be switched off via the mask
option “OFF”. This option reduces the power-down current to
typically 800µA and can be chosen if external reset circuitry is used.
For applications not requiring the internal reset option, “OFF” should
be chosen.
An automatic reset can be obtained at power-on by connecting the
RST pin to VDD via a 10µF capacitor. At power-on, the voltage on
the RST pin is equal to VDD minus the capacitor voltage, and
decreases from VDD as the capacitor discharges through the
internal resistor RRST to ground. The larger the capacitor, the more
slowly VRST decreases VRST must remain above the lower threshold
of the Schmitt trigger long enough to effect a complete reset. The
time required is the oscillator start-up time, plus 2 machine cycles.
1.9 P80CL31: ROMless version of P80CL51
The P80CL31 is a low voltage ROMless version of the P80CL51
microcontroller. The mask options on the P80CL31 are fixed as
follows:
•
The reset state of the port pins is mask- programmable and can
therefore be defined by the user.
•
•
The standard reset value for port P0-P3 is 1111 1111.
The reset input to the 80CL51 is RST pin 9. A Schmitt trigger
qualifies the input for noise rejection. The output of the Schmitt
trigger is sampled by the reset circuitry every machine cycle.
Port options: all ports have option “1S”, i.e., standard port, high
after reset
Oscillator option: OSC3
Power-on Reset option: OFF
1.10 P80C51: 5V standard version
The P80C51 is a 5V version of the low voltage P80CL51
microcontroller. All functional features of the P80CL51 are
maintained in the P80C51 with the exception of the mask options.
The mask options on the P80C51 are as follows:
A reset is accomplished by holding the RST pin HIGH for at least
two machine cycles (24 oscillator periods), while the oscillator is
running. The CPU responds by generating an internal reset. Port
pins adopt their reset state immediately after RST goes HIGH.
During reset ALE and PSEN are held HIGH.
•
•
•
The external reset is asynchronous to the internal clock. The RST
pin is sampled during State 5, Phase 2 of every machine cycle. After
a HIGH is detected at the RST pin, an internal reset is repeated
every cycle until RST goes LOW.
Port options: all ports have option “1S”, i.e., standard port, high
after reset.
Oscillator options: OSC3
Power-on Reset option: OFF
RESET
CIRCUITRY
RST
SCHMITT
TRIGGER
Figure 17. Reset Configuration at RST Pin
January 1995
80CL31/80CL51
25
Philips Semiconductors
Product specification
Low-voltage single-chip 8-bit microcontrollers
80CL31/80CL51
SWITCHING LEVEL
POR
SUPPLY
VOLTAGE
HYSTERESIS
POWER-ON
RESET (INTERNAL)
OSCILLATOR
CPU RUNNING
START-UP
TIME
1536 OSCILLATOR
PERIODS DELAY
Figure 18. Power-on Reset Switching Level
VCC
VCC
+
10µF
80CL51
RST
RRST
Figure 19. Recommended Power-on Reset Circuitry
January 1995
26
Philips Semiconductors
Product specification
Low-voltage single-chip 8-bit microcontrollers
80CL31/80CL51
2.0 RATINGS
Limiting values in accordance with the Absolute Maximum System (IEC 134)
MIN.
MAX.
UNIT
VDD
Supply voltage (pin 40)
PARAMETER
-0.5
+ 6.5
V
VI
All input voltages
-0.5
VDD+0.5
V
II, IO
DC current into any input or output
-
5
mA
PTOT
Total power dissipation
-
300
mW
TSTG
Storage temperature range
-65
+150
°C
TAMB
Operating ambient temperature range
-40
+85
°C
TJ
Operating junction temperature
-
125
°C
SYMBOL
3.0 DC CHARACTERISTICS P80CL31/P80CL51
VSS = 0V; TAMB = -40 to +85°C; all voltages with respect to VSS unless otherwise specified.
SYMBOL
PARAMETER
VDD
Supply voltage
VDD
RAM retention in power down mode
CONDITIONS
VSS = 0V
MIN.
TYP.
MAX.
UNIT
1.8
-
6.0
V
1.0
–
–
V
Supply current operating (Note 1, Note 4)
IDD
OSC 1 option
fcIk = 32 KHz; VDD = 1.8V
TAMB - 25°C
-
-
50
µA
IDD
OSC 2 option
fcIk = 3.58 MHz; VDD = 3V
-
-
2.5
mA
IDD
OSC 3 option
fcIk = 16 MHz; VDD = 5V
-
-
24
mA
IDD
OSC 4 option
fcIk = 16 MHz; VDD = 5V
-
-
26
mA
Idle Mode (Note 2, Note 4)
IDD
OSC 1 option
fcIk = 32 KHz; VDD = 1.8V
TAMB = 25°C
-
-
25
µA
IDD
OSC 2 option
fcIk = 3.58 MHz; VDD = 3V
-
-
1.0
mA
IDD
OSC 3 option
fcIk = 16 MHz; VDD = 5V
-
-
10
mA
IDD
OSC 4 option
fcIk = 16 MHz; VDD = 5V
-
-
12
mA
IPD
Power down (Note 3, Note 4)
VDD = 1.8V,
TAMB = 25°C
-
10
µA
V
Inputs
VIL
Input voltage LOW
VIH
Input voltage HIGH
IIL
Input current logic 0 (Port 1
1, 2
2, 3)
VSS
-
0.3VDD
0.7VDD
-
VDD
V
VDD = 5V, VIN = 0.4V
-
-
100
µA
VDD = 2.5V, VIN = 0.4V
-
-
50
µA
ITL
Input current logic 1 to 0 transition
(Port 1, 2, 3)
VDD = 5V, VIN = VDD/2
-
-
1.0
mA
VDD = 2.5V, VIN = VDD/2
-
-
500
µA
+/IIL
Input leakage current (Port 0, EA)
VSS < VI < VDD
-
-
10
µA
VDD = 5V, VOL = 0.4V
1.6
-
-
mA
VDD = 2.5V, VOL = 0.4V
0.7
-
-
mA
VDD = 5V; VOH = VDD -0.4V
1.6
-
-
mA
VDD = 2.5V; VOH = VDD -0.4V
0.7
-
-
mA
Outputs
IOL
Output sink current LOW
-IOH
Output source current HIGH
(push-pull options only)
RRST
RST pull-down resistor
10
–
200
kΩ
NOTES:
1. The operating supply current is measured with all output pins disconnected; XTAL 1 driven with tr = tf = 10ns; VIL = VSS; VIH = VDD;
XTAL 2 not connected; EA = RST = Port 0 = VDD; all open drain outputs connected to VSS.
2. The idle mode supply current is measured with all output pins disconnected; XTAL 1 driven with tr = tf = 10ns; VIL = VSS. XTAL 2 not
connected; EA = Port 0 = VDD; RST = VSS; all open drain outputs connected to VSS.
3. The power-down current is measured with all output pins disconnected; XTAL 1 not connected; EA = Port 0 = VDD; RST = VSS; all open
drain outputs connected to VSS.
4. Circuits with Power-on Reset option “OFF” are tested at VDD minimum = 1.8V; with option “ON” (typically 1.3V) they are tested at VDD
minimum = 2.3V. Please note, option “ON” is only available on P80CL51.
January 1995
27
Philips Semiconductors
Product specification
Low-voltage single-chip 8-bit microcontrollers
80CL31/80CL51
4.0 DC CHARACTERISTICS P80C51
VSS = 0V; VDD = 5V ± 10%; fclk = 3.5 to 16MHz; TAMB = -40 to +85°C; all voltages with respect to VSS unless otherwise specified.
PARAMETER
SYMBOL
VDD
Supply voltage
CONDITIONS
VSS = 0V
MIN.
TYP.
MAX.
UNIT
4.5
-
5.5
V
Supply Current
IDD
Operating (Note 1)
fCLK = 16MHz, VDD = 5V
–
–
24
mA
IDD
Idle mode (Note 2)
fCLK = 16MHz, VDD = 5V
–
–
10
mA
IPD
Power down (Note 3)
VDD = 5V
–
–
50
µA
VSS
–
0.3VDD
V
Inputs
VIL
Input voltage LOW
VIH
Input voltage HIGH
0.7VDD
–
VDD
V
IIL
Input current logic 0 (Port 1, 2, 3)
VIN = 0.4V
–
–
100
µA
IIL
Input current logic 1 to 0 transition (Port 1, 2, 3)
VIN = VDD/2
–
–
1.0
mA
IIL
Input leakage current (Port 0, EA)
VSS < VI < VDD
–
–
10
µA
IOL
Output sink current LOW
VOL = 0.4V
1.6
–
–
mA
IOH
Output source current HIGH
(push-pull options only)
VOH = VDD – 0.4V
1.6
–
–
mA
10
–
200
kΩ
Outputs
RRST
RST pull-down resistor
NOTES:
1. The operating supply current is measured with all output pins disconnected; XTAL 1 driven with tR = tF = 10ns;
VIL = VSS; VIH = VDD; XTAL 2 not connected; EA = RST = Port 0 = VDD; all open drain outputs connected to VSS.
2. The idle mode supply current is measured with all output pins disconnected; XTAL 1 driven with tR = tF = 10ns;
VIL = VSS. XTAL 2 not connected; EA = Port 0 = VDD; RST = VSS; all open drain outputs connected to VSS.
3. The power-down current is measured with all output pins disconnected; XTAL 1 not connected;
EA = Port 0 = VDD; RST = VSS; all open drain outputs connected to VSS.
4. Please note, option “ON” is only available on P80CL51.
January 1995
28
Philips Semiconductors
Product specification
Low-voltage single-chip 8-bit microcontrollers
80CL31/80CL51
5.0 AC CHARACTERISTICS
VDD = 5 V; VSS = 0V; Tamb = -40 to +85°C; CL = 50 pF for Port 0, ALE and PSEN; CL = 40pF for all other outputs, unless otherwise specified.
PROGRAM MEMORY (See Figure 20)
VARIABLE CLOCK
SYMBOL
PARAMETER
MIN.
TYP.
MAX.
UNIT
tLL
ALE pulse duration
2TCK-40
-
-
ns
tAL
Address set-up time to ALE
TCK-40
-
-
ns
tLA
Address hold time to ALE
TCK-35
-
-
ns
tLC
Time from ALE to control pulse PSEN
TCK-25
-
-
ns
tLIV
Time from ALE to valid instruction input
-
-
4TCK-100
ns
tCC
Control pulse duration PSEN
3TCK-35
-
-
ns
tCIV
Time from PSEN to valid instruction input
-
-
3TCK-125
ns
tCI
Input instruction hold time after PSEN
0
-
-
ns
tCIF
Input instruction float delay after PSEN
-
-
TCK-20
ns
tAIV
Address to valid instruction input
-
-
5TCK-115
ns
tAFC
Address float time to PSEN
0
-
-
ns
EXTERNAL DATA MEMORY (See Figures 21 and 22)
VARIABLE CLOCK
SYMBOL
PARAMETER
MIN.
TYP.
MAX.
UNIT
tRR
RD pulse duration
6TCK-100
-
-
ns
tWW
WR pulse duration
6TCK-100
-
-
ns
tLA
Address hold time after ALE
TCK-35
-
-
ns
tRD
RD to valid data input
TCK-35
-
5TCK-165
ns
tDFR
Data float delay after RD
-
-
2TCK-70
ns
tLD
Time from ALE to valid data input
-
-
8TCK-150
ns
tAD
Address to valid data input
-
-
9TCK-165
ns
tLW
Time from ALE to RD and WR
3TCK-50
-
3TCK+50
ns
tAW
Time from address to RD and WR
4TCK-130
-
-
ns
tWHLH
Time from RD or WR HIGH to ALE HIGH
TCK-40
-
TCK-40
ns
tDWX
Data valid to WR transition
TCK-60
-
-
ns
tDW
Data set-up time before WR
TCK-150
-
-
ns
tWD
Data hold time after WR
TCK-50
-
-
ns
-
-
12
ns
tWAFR
Address float delay after RD (Note 1)
NOTE:
1. Interfacing the 80CL51 or P80C51 to devices with float times up to 75ns is permitted. This limited bus connection will not cause damage to
Port 0 drivers.
January 1995
29
Philips Semiconductors
Product specification
Low-voltage single-chip 8-bit microcontrollers
80CL31/80CL51
tCV
tLIV
tLL
ALE
tLC
tCC
PSEN
tAL
PORT 0
tLA
tCIF
tCIV
AD0 TO AD7
INST. INPUT
AD0 TO AD7
tAL
INST. INPUT
tCI
tAIV
ADDRESS A8 TO A15
PORT 2
ADDRESS A8 TO A15
Figure 20. Read from Program Memory
tWHLH
tLD
ALE
PSEN
tLW
RD
tAL
tRR
tLA
tDFR
tAW
PORT 0
tRD
AD0 TO AD7
DATA INPUT
tAFR
tAD
PORT2
ADDRESS A8 TO A15 OR PORT 2 OUT
Figure 21. Read from Data Memory
January 1995
30
Philips Semiconductors
Product specification
Low-voltage single-chip 8-bit microcontrollers
80CL31/80CL51
tWHLH
ALE
PSEN
tLW
tWW
WR
tAW
tAL
tLA
PORT 0
PORT2
tWX
AD0 TO AD7
tDW
DATA OUTPUT
ADDRESS A8 TO A15 OR PORT 2 OUT
Figure 22. Write to Data Memory
January 1995
31
tWD
Philips Semiconductors
Product specification
Low-voltage single-chip 8-bit microcontrollers
80CL31/80CL51
ONE MACHINE CYCLE
P1
DOTTED LINES
ARE VALID WHEN
RD OR WR
ARE ACTIVE
S1
P2
S2
P1 P2
S3
P1 P2
S4
P1 P2
P1
ONE MACHINE CYCLE
S5
S6
P2 P1 P2
S1
P1 P2
S2
P1 P2
P1
S3
P2
S4
P1 P2
S5
P1 P2
S6
P1 P2
XTAL1
INPUT
ALE
ONLY ACTIVE
DURING A READ
FROM EXTERNAL
DATA MEMORY
PSEN
ONLY ACTIVE
DURING A WRITE
TO EXTERNAL
DATA MEMORY
RD
WR
BUS
(PORT 0)
INST
IN
ADDRESS
A0-A7
INST
IN
ADDRESS
A0-A7
INST
IN
ADDRESS
A0-A7
INST
IN
ADDRESS
A0-A7
EXTERNAL
PROGRAM
MEMORY
FETCH
PORT 2
BUS
(PORT 0)
ADDRESS A8-A15
INST
IN
ADDRESS
A0-A7
INST
IN
ADDRESS A8-A15
ADDRESS
A0-A7
ADDRESS A8-A15
DATA OUTPUT OR DATA INPUT
ADDRESS A8-A15
ADDRESS
A0-A7
READ OR WRITE
OF EXTERNAL
DATA MEMORY
PORT 2
PORT 0,2,3
OUTPUT
PORT 1
OUTPUT
ADDRESS A8-A15 OR PORT 2 OUT
ADDRESS A8-A15
OLD DATA
NEW DATA
OLD DATA
NEW DATA
PORT 0,2,3
OUTPUT
SAMPLING TIME OF I/O PORT PINS DURING INPUT
PORT 1
OUTPUT
SERIAL
PORT
CLOCK
Figure 23. Instruction Cycle Timing
January 1995
32
ADDRESS A8-A15
Philips Semiconductors
Product specification
Low-voltage single-chip 8-bit microcontrollers
80CL31/80CL51
6.0 CHARACTERISTICS CURVES
0.7VDD
0.7VDD
0.9VDD
TEST POINTS
0.4VDD
0.3VDD
0.3VDD
Figure 24. AC Testing Input Waveform
-IL
ITL
500µA
500µA
100µA
IIL
VIN
2.5V
Figure 25. Input Current at VDD = 5V
January 1995
33
Philips Semiconductors
Product specification
Low-voltage single-chip 8-bit microcontrollers
80CL31/80CL51
20
16 MHz
18
16
16
14
12 MHz
12
12
fXTAL
(MHz)
10
8
IDD
(mA)
6
8
8 MHz
4
2
4
0
0
2
4
3.58 MHz
6
VDD (V)
Figure 26. P80CL51/31 Frequency Operating Range
0
0
2
4
6
VDD (V)
Figure 27. P80CL51/31 Typical Operating Current vs
Frequency and VDD, Tamb = 25oC.
6
16 MHz
6
5
4
12 MHz
4
3
Iidle
(mA)
IPD
(µA)
8 MHz
2
2
3.58 MHz
1
0
0
0
2
4
0
6
4
6
Figure 29. P80CL51/31 Typical Power-Down Current
vs Frequency and VDD, Tamb = 25oC.
Figure 28. P80CL51/31 Typical Idle Current vs
Frequency and VDD, Tamb = 25oC.
January 1995
2
VDD (V)
VDD (V)
34
Philips Semiconductors
Product specification
Low-voltage single-chip 8-bit microcontrollers
DIP40: plastic dual in-line package; 40 leads (600 mil)
January 1995
35
80CL31/80CL51
SOT129-1
Philips Semiconductors
Product specification
Low-voltage single-chip 8-bit microcontrollers
PLCC44: plastic leaded chip carrier; 44 leads
January 1995
80CL31/80CL51
SOT187-2
36
Philips Semiconductors
Product specification
Low-voltage single-chip 8-bit microcontrollers
80CL31/80CL51
QFP44: plastic quad flat package; 44 leads (lead length 1.3 mm); body 10 x 10 x 1.75 mm
January 1995
37
SOT307-2
Philips Semiconductors
Product specification
Low-voltage single-chip 8-bit microcontrollers
NOTES
January 1995
38
80CL31/80CL51
Philips Semiconductors
Product specification
Low-voltage single-chip 8-bit microcontrollers
NOTES
January 1995
39
80CL31/80CL51
Philips Semiconductors
Product specification
Low-voltage single-chip 8-bit microcontrollers
80CL31/80CL51
DEFINITIONS
Data Sheet Identification
Product Status
Definition
Objective Specification
Formative or in Design
This data sheet contains the design target or goal specifications for product development. Specifications
may change in any manner without notice.
Preliminary Specification
Preproduction Product
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.
Product Specification
Full Production
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.
Philips Semiconductors and Philips Electronics North America Corporation reserve 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. Applications that are described herein for any of these products are for illustrative purposes
only. Philips Semiconductors makes no representation or warranty that such applications will be suitable for the specified use without further testing
or modification.
LIFE SUPPORT APPLICATIONS
Philips Semiconductors and Philips Electronics North America Corporation Products are not designed for use in life support appliances, devices,
or systems where malfunction of a Philips Semiconductors and Philips Electronics North America Corporation Product can reasonably be expected
to result in a personal injury. Philips Semiconductors and Philips Electronics North America Corporation customers using or selling Philips
Semiconductors and Philips Electronics North America Corporation Products for use in such applications do so at their own risk and agree to fully
indemnify Philips Semiconductors and Philips Electronics North America Corporation for any damages resulting from such improper use or sale.
Philips Semiconductors
811 East Arques Avenue
P.O. Box 3409
Sunnyvale, California 94088–3409
Telephone 800-234-7381
Philips Semiconductors and Philips Electronics North America Corporation
register eligible circuits under the Semiconductor Chip Protection Act.
 Copyright Philips Electronics North America Corporation 1995
All rights reserved. Printed in U.S.A.