PHILIPS P83C557E6EFB/YYY

INTEGRATED CIRCUITS
P83C557E6/P80C557E6
Single-chip 8-bit microcontroller
Product specification
1999 Mar 02
Philips Semiconductors
Product specification
Single-chip 8-bit microcontroller
P83C557E6/P80C557E6
1. FEATURES
• 80C51 central processing unit
• 48 K × 8 ROM, expandable externally to 64 Kbytes
• ROM Code protection
• 1536 × 8 RAM, expandable externally to 64 Kbytes
• Two standard 16-bit timer/counters
• An additional 16-bit timer/counter coupled to four capture registers
and three compare registers
2. GENERAL DESCRIPTION
• A 10-bit ADC with eight multiplexed analog inputs and
The P80C557E6/P83C557E6 (hereafter generically referred to as
P8xC557E6) single-chip 8-bit microcontroller is manufactured in an
advanced CMOS process and is a derivative of the 80C51
microcontroller family. The P8xC557E6 has the same instruction set
as the 80C51. Three versions of the derivative exist:
programmable autoscan
• Two 8-bit resolution, pulse width modulation outputs
• Five 8-bit I/O ports plus one 8-bit input port shared with analog
• P83C557E6 — 48 Kbytes mask programmable ROM
• P80C557E6 — ROMless version of the P83C557E6
inputs
• I2C-bus serial I/O port with byte oriented master and slave
functions
The P8xC557E6 contains a non-volatile 48 Kbytes mask
programmable ROM (P83C557E6), a volatile 1536 × 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 I2C-bus), a “watchdog” timer, an on-chip
oscillator and timing circuits. For systems that require extra
capability the P8xC557E6 can be expanded using standard TTL
compatible memories and logic.
• Full-duplex UART compatible with the standard 80C51
• On-chip watchdog timer
• 15 interrupt sources with 2 priority levels (2 to 6 external sources
possible)
• Extended temperature range (–40 to +85 °C)
• 4.5 to 5.5 V supply voltage range
• Frequency range for 80C51–family standard oscillator: 3.5 MHz to
16 MHz
In addition, the P8xC557E6 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.
• PLL oscillator with 32 kHz reference and software–selectable
system clock frequency
• Seconds Timer
• Software enable/disable of ALE output pulse
• Electromagnetic compatibility improvements
• Wake–up from Power–down by external or seconds interrupt
1999 Mar 02
The device also functions as an arithmetic processor having
facilities for both binary and BCD arithmetic as well as bit-handling
capabilities. The instruction set consists of over 100 instructions: 49
one-byte, 45 two-byte, and 17 three- byte. With a 16 MHz system
clock, 58% of the instructions are executed in 0.75 µs and 40% in
1.5 µs. Multiply and divide instructions require 3 µs.
2
Philips Semiconductors
Product specification
Single-chip 8-bit microcontroller
P83C557E6/P80C557E6
3. ORDERING INFORMATION
PACKAGE
FREQUENCY
RANGE (MHz)
EXTENDED TYPE NUMBER
NAME
DESCRIPTION
CODE
TEMPERATURE
RANGE (°C)
ROMless
P80C557E6EBB
QFP80
Plastic Quad Flat Pack; 80 leads
SOT318-1
3.5 to 16
0 to +70
P80C557E6EFB
QFP80
Plastic Quad Flat Pack; 80 leads
SOT318-1
3.5 to 16
–40 to +85
P83C557E6EBB/YYY1
QFP80
Plastic Quad Flat Pack; 80 leads
SOT318-1
3.5 to 16
0 to +70
P83C557E6EFB/YYY1
QFP80
Plastic Quad Flat Pack; 80 leads
SOT318-1
3.5 to 16
–40 to +85
ROM coded
NOTE:
1. YYY denotes the ROM code number.
T0
T1
3
INT0
3
INT1
3
PWM0 PWM1 AV
SS
VDD
3
VSS
ADC0-7 SDA
AVREF
+ –
AVDD
ADEXS
SCL
5
SELXTAL1
6
RSTIN
XTAL1
XTAL2
T0, T1
TWO 16-BIT
TIMER/EVENT
COUNTERS
DATA
MEMORY
256 x 8 RAM
+
1280 x 8 RAM
PROGRAM
MEMORY
48 K x 8 ROM
CPU
DUAL
PWM
I2C
SERIAL
I/O
ADC
EA
80C51 CORE
EXCLUDING
ROM/RAM
ALE
PSEN
3 WR
3
8-BIT INTERNAL BUS
RD
0
AD0-7
PARALLEL I/O
PORTS AND
EXTERNAL BUS
2
SERIAL
UART
PORT
8-BIT
PORTS
A8-15
3
P0
P1
P2
P3
TxD
FOUR
16-BIT
CAPTURE
LATCHES
3
RxD
1
P5
P4
CT0I-CT3I
ALTERNATE FUNCTION OF PORT0
3
ALTERNATE FUNCTION OF PORT 3
1
ALTERNATE FUNCTION OF PORT1
4
ALTERNATE FUNCTION OF PORT 4
2
ALTERNATE FUNCTION OF PORT2
5
ALTERNATE FUNCTION OF PORT 5
0
T2
16-BIT
TIMER/
EVENT
COUNTERS
16
1
16
3
COMPARATOR
OUTPUT
SELECTION
1
T2
6
RT2
T3
WATCH–
DOG
TIMER
PLL
oscillator
+
”seconds”
timer
4
EW XTAL3 XTAL4
CMSR0-CMSR5
RSTOUT
CMT0, CMT1
NOT PRESENT IN P80C557E6
Figure 1. Block diagram P8xC557E6.
1999 Mar 02
T2
16-BIT
COMPARATORS
WITH
REGISTERS
Philips Semiconductors
Product specification
Single-chip 8-bit microcontroller
P83C557E6/P80C557E6
XTAL3
XTAL4
VSS
VDD
SELXTAL1
XTAL2
EA
0
0
1
1
2
ALE/WE
LOW ORDER
ADDRESS AND
4
DATA BUS
5
5
AD0–7
6
6
7
7
4
AVSS
AVDD
AVref+
AVref–
CT0I/INT2
1
CT1I/INT3
PWM1
2
CT2I/INT4
SCL
3
SDA
4
PWM0
PORT 5
2
3
P8xC557E6
1
CT3I/INT5
T2
RT2
5
0
ADC0-7
PORT 1
0
ADEXS
6
7
0
1
5
2
6
3
7
4
0
5
1
6
2
7
0
RxD/DATA
3
4
1
TxD/CLOCK
5
2
CMT0
6
3
CMT1
7
EW
PORT 3
PORT 4
RSTIN
RSTOUT
PORT 2
4
CMSR0-5
4
HIGH ORDER
ADDRESS BUS
A8–15
INT0
INT1
4
T0
5
T1
6
WR
7
RD
Figure 2. Functional diagram.
1999 Mar 02
2
3
3
PSEN
PORT 0
XTAL1
Philips Semiconductors
Product specification
Single-chip 8-bit microcontroller
P83C557E6/P80C557E6
AVref–
AVref+
n.c.
SELXTAL1
XTAL4
XTAL3
AVSS2
AVDD2
P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7
V SS4
V DD4
EA
80
79
78
77
76
75
74
73
72
71
70
69
68
67
66
65
4. PINNING
1
64
ALE/WE
2
63
PSEN
AVSS
3
62
P2.7/A15
1
AVDD1
4
61
P2.6/A14
P5.7/ADC7
5
60
P2.5/A13
P5.6/ADC6
6
59
P2.4/A12
P5.5/ADC5
7
58
P2.3/A11
P5.4/ADC4
8
57
P2.2/A10
P5.3/ADC3
9
56
P2.1/A9
P5.2/ADC2
10
55
P2.0/A8
P5.1/ADC1
11
54
VSS3
P5.0/ADC0
12
53
VDD3
VSS1
13
52
XTAL1
VDD1
14
51
XTAL2
ADEXS
15
50
n.c.
PWM0
16
49
n.c.
PWM1
17
48
P3.7/RD
EW
18
47
P3.6/WR
P4.0/CMSR0
19
46
P3.5/T1
P4.1/CMSR1
20
45
P3.4/T0
P4.2/CMSR2
21
44
P3.3/INT1
P4.3/CMSR3
22
43
P3.2/INT0
RSTOUT
23
42
P3.1/TXD
P4.4/CSMR4
24
41
P3.0/RXD
35
36
37
38
39
40
P1.4/T2
P1.5/RT2
P1.6
P1.7
SCL
SDA
P1.3/CT3I/INT5 34
31
P1.0/CT0I/INT2
P1.2/CT2I/INT4 33
30
RSTIN
P1.1/CT1I/INT3 32
29
V SS2
27
P4.7/CMT1
28
26
P4.6/CMT0
V DD2
25
P4.5/CMSR5
P8xC557E6
= not connected
Figure 3. Pinning diagram for QFP80 (SOT318).
1999 Mar 02
5
Philips Semiconductors
Product specification
Single-chip 8-bit microcontroller
P83C557E6/P80C557E6
4.1 PIN DESCRIPTIONS
SYMBOL
PIN
DESCRIPTION
AVref–
AVref+
1
2
Low end of analog to digital conversion reference resistor
High end of analog to digital conversion reference resistor.
AVSS1
AVDD1
3
4
Analog ground for ADC
Analog power supply (+5 V) for ADC
AVSS2
AVDD2
77
76
Analog ground; for PLL oscillator
Analog power supply; (+5 V) for PLL oscillator
P5.7 – P5.0
5 – 12
Port 5
8–bit input port
Port pin
Alternative function
P5.0–P5.7
Eight input channels to ADC (ADC0–ADC7)
VDD1, VDD2,
VDD3, VDD4
14, 28,
53, 66
Digital power supply: +5 V power supply pins during normal operation and power reduction modes. All pins
must be connected.
VSS1, VSS2
VSS3, VSS4
13, 29,
54, 67
Digital ground: circuit ground potential. All pins must be connected.
ADEXS
15
Start ADC operation: Input starting analog to digital conversion triggered by a programmable edge (ADC
operation can also be started by software). This pin must not float
PWM0
16
Pulse width modulation output 0
PWM1
17
Pulse width modulation output 1
EW
18
Enable watchdog timer: Enable for T3 watchdog timer and disable Power–down Mode.This pin must not
float.
P4.0 – P4.7
19 – 22
24 – 27
Port 4
8–bit quasi–bidirectional I/O port
Port pin
Alternative function
P4.0
P4.1
P4.2
P4.3
P4.4
P4.5
P4.6
P4.7
CMSR0 }
CMSR1 }
CMSR2 }
CMSR3 }
CMSR4 }
CMSR5 }
CMT0 }
CMT1 }
compare and set/reset
outputs on a match with timer T2
compare and toggle outputs
on a match with timer T2
RSTIN
30
Reset: Input to reset the P8xC557E6.
RSTOUT
23
Reset: Output of the P8xC557E6 for resetting peripheral devices during initialization and Watchdog Timer
overflow.
P1.0 – P1.7
31 – 38
Port 1
8–bit quasi–bidirectional I/O port
Port pin
Alternative function
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
CT0I/INT2}
CT1I/INT3} :
CT2I/INT4}
CT3I/INT5}
T2
:
RT2
:
Capture timer inputs for
timer T2 or external interrupt inputs
T2 event input, rising edge triggered
T2 timer reset input, rising edge triggered
SCL
39
I2C–bus serial clock I/O port
SDA
40
I2C–bus serial data I/O port
If SCL and SDA are not used, they must be connected to VSS.
1999 Mar 02
6
Philips Semiconductors
Product specification
Single-chip 8-bit microcontroller
SYMBOL
PIN
P83C557E6/P80C557E6
DESCRIPTION
P3.0 – P3.7
41 – 48
8–bit quasi–bidirectional I/O port
Port pin
Alternative function
P3.0
RXD
:
Serial input port
P3.1
TXD
:
Serial output port
:
External interrupt
P3.2
INT0
P3.3
INT1
:
External interrupt
P3.4
T0
:
Timer 0 external input
P3.5
T1
:
Timer 1 external input
:
External data memory write strobe
P3.6
WR
P3.7
RD
:
External data memory read strobe
N.C.
49 – 50
Not connected pins.
XTAL2
51
Crystal pin 2: output of the inverting amplifier that forms the oscillator. Left open–circuit when an external oscillator
clock is used.
XTAL1
52
Crystal pin 1: input to the inverting amplifier that forms the oscillator, and input to the internal clock generator.
Receives the external oscillator clock signal when an external oscillator is used. Must be connected to logic
HIGH if the PLL oscillator is selected (SELXTAL1 = LOW)
P2.0 – P2.7
55 – 62
Port2: 8–bit quasi–bidirectional I/O port with internal pull–ups.During access to external memories (RAM/ROM)
that use 16–bit addresses (MOVX@DPTR) Port 2 emits the high order address byte.
Port 2 can sink/source one TTL (=4 LSTTL) input. It can drive CMOS inputs without external pull–ups.
PSEN
63
Program Store Enable output: read strobe to the external program memory via Port 0 and 2. Is activated twice
each machine cycle during fetches from external program memory. When executing out of external program
memory two activations of PSEN are skipped during each access to external data memory. PSEN is not activated
(remains HIGH) during no fetches from external program memory. PSEN can sink/source 8 LSTTL inputs. It can
drive CMOS inputs without external pull–ups.
ALE/WE
64
Address Latch Enable output: latches the low byte of the address during access of external memory in normal
operation. It is activated every six oscillator periods except during an external data memory access. ALE/WE can
sink/–source 8 LSTTL inputs.
It can drive CMOS inputs without an external pull–up.
To prohibit the toggling of ALE pin (RFI noise reduction) the bit RFI in the PCON Register (PCON.5) must be set
by software. This bit is cleared on RESET and can be set and cleared by software. When set, ALE pin will be pulled
down internally, switching an external address latch to a quiet state. The MOVX instruction will still toggle ALE if
external memory is accessed.
ALE will retain its normal high value during Idle Mode and a low value during Power–down Mode while in the “RFI”
mode. Additionally during internal access (EA = 1) ALE will toggle normally when the address exceeds the internal
program memory size. During external access (EA = 0) ALE will always toggle normally, whether the flag “RFI”
is set or not.
EA
65
External Access Input: If, during RESET, EA is held at a TTL level HIGH the CPU executes out of the
internal program memory, provided the program counter is less than 49152. If, during RESET, EA is held at a
TTL level LOW the CPU executes out of external program memory via Port 0 and Port 2. EA is not allowed to
float. EA is latched during RESET and don’t care after RESET.
P0.7–P0.0
68 –75
Port 0: 8–bit open drain bidirectional I/O port. It is also the multiplexed low–order address and data bus during
accesses to external memory (during theses accesses internal pull–ups are activated). Port 0 can sink/source 8
LSTTL inputs.
XTAL3
78
Crystal pin, output of the inverting amplifier that forms the 32 kHz oscillator
XTAL4
79
Crystal pin, input to the inverting amplifier that forms the 32 kHz oscillator. XTAL3 and XTAL4 are pulled LOW
if the PLL oscillator is not selected (SELXTAL1 = HIGH) or if Reset is active.
SELXTAL1
80
Must be connected to logic HIGH level to select the HF oscillator, using the XTAL1/XTAL2 crystal. If pulled low the
PLL is selected for clocking of the controller, using the XTAL3/ XTAL4 crystal.
NOTE:
1. To avoid a ‘latch–up’ effect at Power–on, the voltage at any pin at any time must not be higher or lower than VDD+ 0.5 V or VSS– 0.5 V
respectively.
1999 Mar 02
7
Philips Semiconductors
Product specification
Single-chip 8-bit microcontroller
P83C557E6/P80C557E6
5. ELECTROMAGNETICS COMPATIBILITY (EMC)
IMPROVEMENTS
6. FUNCTIONAL DESCRIPTION
6.1 General
Primary attention was paid on the reduction of electromagnetic
emission of the microcontroller P8xC557E6.
The P8xC557E6 is a stand–alone high–performance microcontroller
designed for use in real time applications such as instrumentation,
industrial control, medium to high–end consumer applications and
specific automotive control applications.
The following features effect in reducing the electromag– netic
emission and additionally improve the electromagnetic susceptibility:
• Four supply voltage pins (VDD) and four ground pins (VSS) with
In addition to the 80C51 standard functions, the device provides a
number of dedicated hardware functions for these applications.
pairs of VDD and VSS at two adjacent pins at each side of the
package.
The P8xC557E6 is a control–oriented CPU with on–chip program
and data memory. It can be extended with external program memory
up to 64 Kbytes. It can also access up to 64 Kbytes of external data
memory. For systems requiring extra capability, the P8xC557E6 can
be expanded using standard memories and peripherals.
• Separated VDD pins for the internal logic and the port buffers
• Internal decoupling capacitance improves the EMC radiation
behavior and the EMC immunity
• External capacitors are to be located as close as possible
The P8xC557E6 has two software selectable modes of reduced
activity for further power reduction – Idle and Power–down. 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 Power–down Mode can
be terminated by an external Reset, by the seconds interrupt and by
any one of the two external interrupts. (see description Wake–up
from Power–down Mode).
between pins VDD1 and VSS1, VDD2 and VSS2, VDD3 and VSS3 as
well as VDD4 and VSS4 ; ceramic chip capacitors are
recommended (100nF).
• The ALE output signal (pulses at a frequency off CLK/6) can be
disabled under software control (bit 5 in the SFR PCON: “RFI”); if
disabled, no ALE pulse will occur. ALE pin will be pulled down
internally, switching an external address latch to a quiet state. The
MOVX instruction will still toggle ALE (external data memory is
accessed). ALE will retain its normal HIGH value during Idle Mode
and a LOW value during Power-down mode while in the “RFI”
reduction mode. Additionally during internal access (EA = 1) ALE
will toggle normally when the address exceeds the internal
program memory size. During external access (EA = 0) ALE will
always toggle normally, whether the flag “RFI” is set or not.
64 K
64 K
External
49152
Overlapped
Space
49151
49151
1280
255
Internal
(EA = 1)
External
(EA = 0)
Special
Function
Registers
INDIRECT
ONLY
(ARD = 1)
(ARD = 0)
1280 bytes
127
DIRECT AND
INDIRECT
0
0
AUXILIARY
RAM
0
0
Program Memory
Internal
Data Memory
Figure 4. Memory map & address space.
1999 Mar 02
8
External
Data Memory
Philips Semiconductors
Product specification
Single-chip 8-bit microcontroller
P83C557E6/P80C557E6
– RAM 0 to 127 can be addressed directly and indirectly as in the
80C51.
Address pointers are R0 and R1 of the selected registerbank.
– RAM 128 to 255 can only be addressed indirectly.
Address pointers are R0 and R1 of the selected registerbank.
– AUX–RAM 0 to 1279 is also indirectly addressable as external
DATA MEMORY locations 0 to 1279 via MOVX–Datapointer
instruction, unless it is disabled by setting ARD = 1.
AUX–RAM 0 to 1279 is indirectly addressable via pageregister
(XRAMP) and MOVX–Ri instructions, unless it is disabled by
setting ARD = 1 (see Figure 5).
When executing from internal program memory, an access to
AUX–RAM 0 to 1279 will not affect the ports P0, P2, P3.6 and
P3.7.
An access to external DATA MEMORY locations higher than 1279
will be performed with the MOVX @ DPTR instructions in the
same way as in the 80C51 structure, so with P0 and P2 as
data/address bus and P3.6 and P3.7 as write and read timing
signals. Note that the external DATA MEMORY cannot be
accessed with R0 and R1 as address pointer if the AUX–RAM is
enabled (ARD = 0, default).
– The Special Function Registers (SFR) can only be addressed
directly in the address range from 128 to 255 (see Table 5).
– Four register banks, each 8 registers wide, occupy locations 0
through 31 in the lower RAM area. Only one of these banks may
be enabled at a time. The next 16 bytes, locations 32 through 47,
contain 128 directly addressable bit locations.The stack can be
located anywhere in the internal 256 bytes RAM.The stack depth
is only limited by the available internal RAM space of 256 bytes
(see Figure 7).
All registers except the program counter and the four register
banks reside in the Special Function Register address space.
6.2 Memory Organization
The central processing unit (CPU) manipulates operands in three
memory spaces; these are the 64 Kbytes external data memory,
1536 bytes internal data memory (consisting of 256 bytes standard
RAM and 1280 bytes AUX–RAM) and the 48 Kbytes internal and/or
64 Kbytes external program memory (see Figure 4).
6.2.1 Program Memory
The program memory of the P8xC557E6 consists of 48 Kbytes
ROM on–chip, externally expandable up to 64 Kbytes. If, during
RESET, the EA pin was held HIGH, the P8xC557E6 executes out of
the internal program memory unless the address exceeds 0BFFFH.
Locations 0C000H through 0FFFFH are then fetched from the
external program memory. If the EA pin was held LOW during
RESET the P8xC557E6 fetches all instructions from the external
program memory. The EA input is latched during RESET and is
don’t care after RESET.
The internal program memory content is protected, by setting a
mask programmable security bit (ROM), i.e., it 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 ones
which have access to program code in the internal or external
program memory. The EA input is latched during RESET and is
‘don’t care’ after RESET. This implementation prevents from reading
internal program code by switching from external program memory
to internal program memory during MOVC instruction or an
instruction that handles immediate data. Table 1 lists the access to
the internal and external program memory with MOVC instructions
when the security feature has been activated.
6.2.2 Internal Data Memory
The internal data memory is divided into three physically separated
parts:
256 bytes of RAM, 1280 bytes of AUX–RAM, and a 128 bytes
special function area. These can be addressed each in a different
way (see also Table 2).
Table 1. Memory access by the MOVC instruction for protected ROMs
MOVC LOCATION
ACCESS TO INTERNAL
PROGRAM MEMORY
ACCESS TO EXTERNAL
PROGRAM MEMORY
MOVC in internal program memory
YES
YES
MOVC in external program memory
NO
YES
NOTE:
1. If the security feature has not been activated, there are no restrictions for MOVC instructions.
Table 2. Internal data memory map
LOCATION
ADDRESSED
RAM
0 to 127
Direct and indirect
AUX–RAM
0 to 1279
Indirect only with MOVX
RAM
128 to 255
Indirect only
SFR
128 to 255
Direct only
1999 Mar 02
9
Philips Semiconductors
Product specification
Single-chip 8-bit microcontroller
P83C557E6/P80C557E6
255
1279
(XRAMP) = 04 H
0
255
1024
1023
(XRAMP) = 03 H
MOVX @Ri, A
MOVX A, @Ri
768
767
0
255
(XRAMP) = 02 H
512
511
0
255
MOVX @DPTR,A
MOVX A,@DPTR
(XRAMP) = 01 H
0
255
256
255
(XRAMP) = 00 H
0
0
Figure 5. Indirect addressing of AUX–RAM (1280 Bytes), ARD bit in PCON = 0.
1999 Mar 02
10
Philips Semiconductors
Product specification
Single-chip 8-bit microcontroller
P83C557E6/P80C557E6
6.2.2.1 AUX–RAM Page Register XRAMP
The AUX–RAM Page Register is used to select one of five 256
bytes pages of the internal 1280 bytes AUX–RAM for
MOVX–accesses via R0 or R1. Its reset value is (XXXXX000).
XRAMP (FAH)
7
6
5
4
3
2
1
0
x
x
x
x
x
XRAMP2
XRAMP1
XRAMP0
x: undefined during read, a write operation must write “0” to these locations
Figure 6. AUX–RAM page register.
Table 3. Description of XRAMP bits
BIT
XRAMP.3–7
XRAMP.2
XRAMP.1
XRAMP.0
SYMBOL
XRAMPx
XRAMP2
XRAMP1
XRAMP0
FUNCTION
reserved for future use
AUX–RAM page select bit 2
AUX–RAM page select bit 1
AUX–RAM page select bit 0
Table 4. Memory locations for all possible MOVX–accesses
ARD1
XRAMP2
XRAMP1
XRAMP0
0
0
0
0
AUX–RAM
locations
0
0
0
1
AUX–RAM
locations
256 .. 511
0
0
1
0
AUX–RAM
locations
512 .. 767
0
0
1
1
AUX–RAM
locations 768 ... 1023
0
1
0
0
AUX–RAM
locations 1024 .. 1279
0
1
0
1
no valid memory access; reserved for future use
0
1
1
X
no valid memory access; reserved for future use
1
X
X
X
External RAM locations
MOVX @Ri,A and MOVX A,@Ri instructions access:
0 .. 255 (reset condition)
0 .. 255
MOVX @DPTR,A and MOVX A,@DPTR instructions access:
0
X
X
X
AUX–RAM
locations 0 .. 1279 (reset condition)
External RAM locations 1280 .. 65535
1
X
X
X
External RAM locations
NOTE:
1. ARD (AUX–RAM Disable) is a bit in the Special Function Register PCON
1999 Mar 02
11
0 .. 65535
Philips Semiconductors
Product specification
Single-chip 8-bit microcontroller
P83C557E6/P80C557E6
Table 5. Special Function Register Memory Map and Reset Values
High Nibble of SFR Address
LOW
8
9
A
B
C
D
E
F
0
P0 %
11111111
P1 %
11111111
P2 %
11111111
P3 %
11111111
P4 %
11111111
PSW %
00000000
ACC %
00000000
B%
00000000
1
SP 00000111
2
DPL
00000000
3
DPH
00000000
ADRSL1 #
XXXXXXXX
ADRSL2 #
XXXXXXXX
ADRSL3 #
XXXXXXXX
ADRSL4 #
XXXXXXXX
ADRSL5 #
XXXXXXXX
ADRSL6 #
XXXXXXXX
ADRSL7 #
XXXXXXXX
P5 #
XXXXXXXX
ADCON
00000000
ADPSS
00000000
ADRSH #
000000XX
TM2IR %
00000000
S1CON %
00000000
IEN1 %
00000000
IP1 %
00000000
4
5
%
#
X
6
ADRSL0 #
XXXXXXXX
7
PCON
00000000
8
TCON %
00000000
S0CON %
00000000
IEN0 %
00000000
9
TMOD
00000000
S0BUF
XXXXXXXX
CML0
00000000
CMH0
00000000
S1STA #
11111000
A
TL0
00000000
CML1
00000000
CMH1
00000000
S1DAT
00000000
TM2CON
00000000
B
TL1
00000000
CML2
00000000
CMH2
00000000
S1ADR
00000000
CTCON
00000000
C
TH0
00000000
CTL0 #
XXXXXXXX
CTH0 #
XXXXXXXX
TML2 #
00000000
PWM0
00000000
D
TH1
00000000
CTL1 #
XXXXXXXX
CTH1 #
XXXXXXXX
TMH2 #
00000000
PWM1
00000000
E
CTL2 #
XXXXXXXX
CTH2 #
XXXXXXXX
STE
11000000
PWMP
00000000
F
CTL3 #
XXXXXXXX
CTH3 #
XXXXXXXX
RTE
00000000
T3
00000000
=
=
=
IP0 %
X0000000
XRAMP
XXXXX000
Bit addressable register
Read only register
Undefined
• Register in one of the four register banks through Register, Direct
6.3 Addressing
The P8xC557E6 has five methods for addressing:
or Register–Indirect addressing
• Register
• Direct
• Register–Indirect
• Immediate
• Base–Register plus Index–Register–Indirect
• 1536 bytes of internal RAM through Direct or Register–Indirect
addressing. Bytes 0–127 of internal RAM may be addressed
directly/indirectly. Bytes 128–255 of internal RAM share their
address location with the SFRs and so may only be addressed
indirectly as data RAM. Bytes 0–1279 of AUX–RAM can only be
addressed indirectly via MOVX.
• Special Function Register through direct addressing at address
locations 128–255 (see Figure 8).
The first three methods can be used for addressing destination
operands. Most instructions have a “destination/source” field that
specifies the data type, addressing methods and operands involved.
For operations other than MOVs, the destination operand is also a
source operand.
• External data memory through Register–Indirect addressing
• Program memory look–up tables through Base– Register plus
Index–Register–Indirect addressing
Access to memory addresses is as follows:
1999 Mar 02
PLLCON
00001101
12
Philips Semiconductors
Product specification
Single-chip 8-bit microcontroller
BYTE ADDRESS
(HEX)
FFH
2FH
P83C557E6/P80C557E6
BYTE ADDRESS
(DECIMAL)
BIT ADDRESS (HEX)
(MSB)
7F
(LSB)
7E
7D
7C
7B
255
7A
79
78
47
2EH
77
76
75
74
73
72
71
70
46
2DH
6F
6E
6D
6C
6B
6A
69
68
45
2CH
67
66
65
64
63
62
61
60
44
2BH
5F
5E
5D
5C
5B
5A
59
58
43
2AH
57
56
55
54
53
52
51
50
42
29H
4F
4E
4D
4C
4B
4A
49
48
41
28H
47
46
45
44
43
42
41
40
40
27H
3F
3E
3D
3C
3B
3A
39
38
39
26H
37
36
35
34
33
32
31
30
38
25H
2F
2E
2D
2C
2B
2A
29
28
37
24H
27
26
25
24
23
22
21
20
36
23H
1F
1E
1D
1C
1B
1A
19
18
35
22H
17
16
15
14
13
12
11
10
34
21H
0F
0E
0D
0C
0B
0A
09
08
33
20H
07
06
05
04
03
02
01
00
32
1FH
31
Bank 3
18H
24
17H
23
Bank 2
10H
16
0FH
15
Bank 1
08H
8
07H
7
Bank 0
0
00H
Figure 7. RAM bit addresses.
1999 Mar 02
13
Philips Semiconductors
Product specification
Single-chip 8-bit microcontroller
DIRECT BYTE
ADDRESS (HEX)
P83C557E6/P80C557E6
REGISTER
MNEMONIC
BIT ADDRESS (HEX)
FFH
(MSB)
(LSB)
PT2
PCM2
PCM1
PCM0
PCT3
PCT2
PCT1
PCT0
F8H
FF
FE
FD
FC
FB
FA
F9
F8
IP1
F0H
F7
F6
F5
F4
F3
F2
F1
F0
B
ET2
ECM2
ECM1
ECM0
ECT3
ECT2
ECT1
ECT0
E8H
EF
EE
ED
EC
EB
EA
E9
E8
IEN1
E0H
E7
E6
E5
E4
E3
E2
E1
E0
ACC
CR2
ENS1
STA
STO
SI
AA
CR1
CR0
DF
DE
DD
DC
DB
DA
D9
D8
CY
AC
F0
RS1
RS0
OV
F1
P
D7
D6
D5
D4
D3
D2
D1
D0
D8H
D0H
PSW
T2OV
CMI2
CMI1
CMI0
CTI3
CTI2
CTI1
CTI0
C8H
CF
CE
CD
CC
CB
CA
C9
C8
TM2IR
C0H
C7
C6
C5
C4
C3
C2
C1
C0
P4
–
PAD
PS1
PS0
PT1
PX1
PT0
PX0
B8H
BF
BE
BD
BC
BB
BA
B9
B8
IP0
B0H
B7
B6
B5
B4
B3
B2
B1
B0
P3
EA
EAD
ES1
ES0
ET1
EX1
ET0
EX0
A8H
AF
AE
AD
AC
AB
AA
A9
A8
IEN0
A0H
A7
A6
A5
A4
A3
A2
A1
A0
P2
SM0
SM1
SM2
REN
TB8
RB8
TI
RI
9F
9E
9D
9C
9B
9A
99
98
S0CON
P1
98H
90H
97
96
95
94
93
92
91
90
TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0
88H
8F
8E
8D
8C
8B
8A
89
88
TCON
80H
87
86
85
84
83
82
81
80
P0
Figure 8. Special Function Register bit addresses.
1999 Mar 02
S1CON
14
Philips Semiconductors
Product specification
Single-chip 8-bit microcontroller
P83C557E6/P80C557E6
6.4 I/O Facilities
Port 4 :
The P8xC557E6 has six 8–bit ports. Ports 0 to 3 are the same as in
the 80C51, with the exception of the additional functions of Port 1.
The parallel I/O function of Port 4 is equal to that of Ports 1, 2 and 3.
Port 5 has a parallel input port function, but has no function as an
output port.
can be configured to provide signals indicating a
match between timer counter T2 and its compare
registers.
Port 5 :
may be used in conjunction with the ADC interface.Unused analog inputs can be used as digital
inputs. As Port 5 lines may be used as inputs to the
ADC, these digital inputs have an inherent hysteresis to prevent the input logic from drawing too much
current from the power lines when driven by analog
signals. Channel to channel crosstalk should be taken into consideration when both digital and analog
signals are simultaneously input to Port 5 (see DC
characteristics).
The SDA and SCL lines serve the serial port SI01 (I2C). Because
the I2C–bus may be active while the device is disconnected from
VDD, these pins, are provided with open drain drivers.
Ports 0, 1, 2, 3, 4 and 5 perform the following alternative functions:
Port 0 :
provides the multiplexed low–order address and
data bus used for expanding the P8xC557E6 with
standard memories and peripherals.
Port 1 :
All ports are bidirectional with the exception of Port 5 which is an
input port.
Port 1 is used for a number of special functions:
Pins of which the alternative function is not used may be used as
normal bidirectional I/Os.
4 capture inputs (or external interrupt request inputs
if capture information is not utilized)
– external counter input
– external counter reset input
Port 2 :
provides the high–order address bus when the
P8xC557E6 is expanded with external Program
Memory and/or external Data Memory.
Port 3 :
pins can be configured individually to provide:
– external interrupt request inputs
– counter inputs
– receiver input and transmitter output of seri port
SIO 0 (UART)
– control signals to read and write external Data
Memory
The generation or use of a Port 1, Port 3 or Port 4 pin as an
alternative function is carried out automatically by the P8xC557E6
provided the associated Special Function Register bit is set HIGH.
The pull–up arrangements of Ports 1 – 4 are shown in Figure 9.
VDD
VDD
VDD
P1
P2
P3
2 System Clock Periods
Port
Pin
n
QN
From Port
Latch
Input Data
Read Port Pin
P1 is turned on for 2 system clock periods after QN makes a 1–to–0 transition.
During this time, P1 also turns on P3 through the inverter to form an additional pull up.
Figure 9. I/O buffers in the P8xC557E6 (Ports 1, 2, 3 and 4).
1999 Mar 02
15
Philips Semiconductors
Product specification
Single-chip 8-bit microcontroller
P83C557E6/P80C557E6
this application, the PWM outputs must be integrated using
conventional operational amplifier circuitry. If the resulting output
voltages have to be accurate, external buffers with their own analog
supply should be used to buffer the PWM outputs before they are
integrated. The repetition frequency fpwm, at the PWMn outputs is
give by:
f CLK
f PWM 2 (1 PWMP) 255
6.5 Pulse Width Modulated Outputs
The P8xC557E6 contains two pulse width modulated output
channels (see Figure 13). These channels generate pulses of
programmable length and interval. The repetition frequency is
defined by an 8-bit prescaler PWMP, which supplies the clock for the
counter. The prescaler and counter are common to both PWM
channels. The 8-bit counter counts module 255, i.e., from 0 to 254
inclusive. The value of the 8-bit counter is compared to the contents
of two registers: PWM0 and PWM1. Provided the contents of either
of these registers is greater than the counter value, the
corresponding PWM0 or PWM1 output is set LOW. If the contents of
these registers are equal to, or less than the counter value, the
output will be HIGH. The pulse-width-ratio is therefore defined by the
contents of the registers PWM0 and PWM1. The pulse-width-ratio is
in the range of 0/255 to 255/255 and may be programmed in
increments of 1/255.
This gives a repetition frequency range of 123 Hz to 31.4 kHz
(fCLK = 16 MHz). By loading the PWM registers with either 00H or
FFH, the PWM channels will output a constant HIGH or LOW level,
respectively. Since the 8-bit counter counts modulo 255, it can never
actually reach the value of the PWM registers when they are loaded
with FFH.
When a compare register (PWM0 or PWM1) is loaded with a new
value, the associated output is updated immediately. It does not
have to wait until the end of the current counter period. Both PWMn
output pins are driven by push-pull drivers. These pins are not used
for any other purpose.
Buffered PWM outputs may be used to drive DC motors. The
rotation speed of the motor would be proportional to the contents of
PWMn. The PWM outputs may also be configured as a dual DAC. In
7
PWMP (FEH)
PWMP.7
6
5
PWMP.6
PWMP.5
4
PWMP.4
3
2
PWMP.3
PWMP.2
1
PWMP.1
0
PWMP.0
Figure 10. Prescaler frequency control register PWMP.
Table 6. Description of PWMP bits
BIT
FUNCTION
PWMP.0 to 7
Prescaler division factor = (PWMP) + 1
Reading PWMP gives the current reload value. The actual count of the prescaler cannot be read.
7
PWM0 (FCH)
PWM0.7
6
5
PWM0.6
PWM0.5
4
PWM0.4
3
2
PWM0.3
PWM0.2
Figure 11. Pulse width register PWM0.
Table 7. Description of PWM0 bits
BIT
PWM0.0 to 7
1999 Mar 02
FUNCTION
LOW/HIGH ration of PWM0 signal =
16
(PWM0)
255 – (PWM0)
1
PWM0.1
0
PWM0.0
Philips Semiconductors
Product specification
Single-chip 8-bit microcontroller
7
PWM1 (FDH)
PWM1.7
6
P83C557E6/P80C557E6
5
PWM1.6
PWM1.5
4
PWM1.4
3
2
1
PWM1.3
PWM1.2
PWM1.1
0
PWM1.0
Figure 12. Pulse width register PWM1.
Table 8. Description of PWM1 bits
BIT
FUNCTION
LOW/HIGH ration of PWM1 signal =
PWM1.0 to 7
(PWM1)
255 – (PWM1)
PWM0
8-Bit Comparator
Output
Buffer
PWM0
Output
Buffer
PWM1
Internal Bus
fCLK
1/2
Prescaler
8-Bit Counter
PWMP
8-Bit Comparator
PWM1
Figure 13. Functional Diagram of Pulse Width Modulated Outputs.
1999 Mar 02
17
Philips Semiconductors
Product specification
Single-chip 8-bit microcontroller
P83C557E6/P80C557E6
• Start of a conversion by software or with an external signal.
• Eight 10–bit buffer registers, one register for each analog input
6.6 Analog/Digital Converter (ADC)
The P8xC557E6 A/D Converter is a 10–bit, successive
approximation ADC with 8 multiplexed analog input channels. It
additionally contains a high input impedance comparator, a DAC
built with 1024 series resistors and analog switches, registers and
control logic.
channel.
• Interrupt request after one channel scan loop.
• Programmable prescaler (dividing by 2, 4, 6, 8) to adapt to
Input voltage range is from AVref– (typical 0V) to AVref+ (typical +5V).
A set of 8 buffer registers (10–bit) store the conversion results of the
proper analog input channel each.
different system clock frequencies.
• Conversion time for one A/D conversion: 15 µs ... 50 µs
• Differential non–linearity
: DLe ±1 LSB.
• Integral non–linearity
: ILe ±2 LSB.
• Offset error
: OSe ±2LSB.
• Gain error
: Ge ±0.4 %.
• Absolute voltage error
: Ae ±3 LSB.
• Channel to channel matching : Mctc ±1LSB.
• Crosstalk between analog inputs : Ct < –60dB. @100 kHz.
• Monotonic and no missing codes.
• Separated analog (AVDD, AVSS) and digital (VDD, VSS) supply
11 Special Function Registers (SFR) perform the user software
interface to the ADC: a control SFR (ADCON), an analog port
scan–select SFR (ADPSS), 8 input channel related conversion
result SFR with the 8 lower result bits (ADRSL0...ADRSL7), one
common result SFR for the upper 2 result bits (ADRSH). An extra
SFR (P5) allows for reading digital input port data as an alternative
function of the 8 analog input pins.
In order to have a minimum of ADC service overhead in the
microcontroller program, the ADC is able to operate autonomously
within its user configurable autoscan function.
The functional diagram of the ADC is shown in Figure 14.
Feature Overview:
• 10–bit resolution.
• 8 multiplexed analog inputs.
• Programmable autoscan of the analog inputs.
• Bit oriented 8–bit scan–select register to select analog inputs.
• Continuous scan or one time scan configurable from 1 to 8 analog
voltages.
•
Reference voltage at two special pins : AVREF– and AVREF+.
For further information on the ADC characteristics, refer to the “DC
CHARACTERISTICS” section.
inputs.
ADC0
COMPARATOR
ANALOG
+
Mux.
SAR
–
ADC7
10
AVref+
10
DAC
AVref–
10
AVDD1
8x
10–bit result
registers
AVSS1
ADEXS
2
8
SCAN LOGIC
2 LATCHES
ADPSS
8
ADCON
Read
ADRS
H
8
Read
ADRSLn
2
INTERNAL BUS
Figure 14. Functional diagram of AD converter.
1999 Mar 02
18
8
Philips Semiconductors
Product specification
Single-chip 8-bit microcontroller
P83C557E6/P80C557E6
6.6.1 Functional Description
Table 9. A/D Special Function Registers
SYMBOL
NAME
ACCESS
ADCON
A/D control register
read/write
ADPSS
Analog port scan–select register
read/write
ADRSLn
8 A/D result registers, the 8 lower bits (n: 0...7)
read only
ADRSH
A/D result register, the 2 higher bits
read only
P5
Digital input port (shared with analog inputs)
read only
A/D Control Register ADCON
The Special Function Register ADCON contains control and status
bits for the A/D Converter peripheral block. The reset value of
ADCON is (00000000). Its hardware address is D7H. ADCON is not
bit addressable.
7
ADCON (D7H)
6
ADPR1
ADPR0
5
ADPOS
4
3
2
ADINT
ADSST
ADCSA
1
ADSRE
0
ADSFE
Figure 15. ADC control register.
Table 10. Description of ADCON bits
SYMBOL
BIT
FUNCTION
ADCON.7
ADCON.6
ADPR1
ADPR0
Control bit for the prescaler.
Control bit for the prescaler.
ADPR1=0 ADPR0=0 Prescaler divides by 2 (default by reset)
ADPR1=0 ADPR0=1 Prescaler divides by 4
ADPR1=1 ADPR0=0 Prescaler divides by 6
ADPR1=1 ADPR0=1 Prescaler divides by 8
ADCON.5
ADPOS
ADPOS is reserved for future use. Must be ‘0’ if ADCON is written.
ADCON.4
ADINT
ADC interrupt flag. This flag is set when all selected analog inputs are converted, as well in continuous scan
as in one–time scan mode. An interrupt is invoked if this interrupt is enabled. ADINT must be cleared by
software. It cannot be set by software.
ADCON.3
ADSST
ADC start and status. Setting this bit by software or by hardware (via ADEXS input) starts the A/D conversion
of the selected analog inputs. ADSST stays a ‘one’ in continuous scan mode. In one–time scan mode, ADSST
is cleared by hardware when the last selected analog input channel has been converted. As long as ADSST
is ‘1’, new start commands to the ADC–block are ignored.
An A/D conversion in progress is aborted if ADSST is cleared by software.
ADCON.2
ADCSA
1
0
=
=
Continuous scan of the selected analog inputs after a start of an A/D conversion.
One–time scan of the selected analog inputs after a start of an A/D conversion.
ADCON.1
ADSRE
1
0
=
=
A rising edge at input ADEXS will start the A/D conversion and generate a capture signal.
A rising edge at input ADEXS has no effect.
ADCON.0
ADSFE
1
0
=
=
A falling edge at input ADEXS will start the A/D conversion and generate a capture signal.
A falling edge at input ADEXS has no effect.
1999 Mar 02
19
Philips Semiconductors
Product specification
Single-chip 8-bit microcontroller
P83C557E6/P80C557E6
A/D Input Port Scan-Select Register ADPSS
The Special Function Register ADPSS contains control bits to select
the analog input channel(s) to be scanned for A/D conversion. The
reset value of ADPSS is (00000000). Its hardware address is E7H.
ADPSS is not bit addressable.
Reading Special Function Register P5 does not affect A/D
conversions. But it is recommended to use the digital input port
function of the hardware Port 5 only as an alternative to analog input
voltage conversions. Simultaneous mixed operation is discouraged
for the sake of A/D conversion result reliability and accuracy.
If all bits are ‘0’ then no A/D conversion can be started. If ADPSS is
written while an A/D conversion is in progress (ADSST in the
ADCON register is ‘1’) then the autoscan loop with the previous
selected analog inputs is completed first. The next autoscan loop is
performed with the new selected analog inputs.
For further information on Port 5, refer to the “I/O facilities” section.
For further information on A/D Special Function Registers, refer to
the “Internal Data Memory” section.
Reset
After a RESET of the microcontroller the ADCON and ADPSS
register bits are initialized to zero. Registers ADRSLn and ADRSH
are not initialized by a RESET.
A/D Result Registers ADRSLn and ADRSH:
The binary result code of A/D conversions is accessed by these
Special Function Registers. The result SFR are read only registers.
The read value after reset is indeterminate. Their data are not
affected by chip reset. They are not bit addressable.
Idle and Power-down Mode
The A/D Converter is active only when the microcontroller is in
normal operating mode. If the Idle or Power-down Mode is activated,
then the ADC is switched off and put into a power saving idle state a conversion in progress is aborted, a previously set ADSST flag is
cleared and the internal clock is halted. The conversion result
registers are not affected.
There are 8 Special Function Registers ADRSLn
(ADRSL0...ADRSL7) – A/D Result Low byte - and one general SFR
ADRSH - A/D Result High byte - . Each of ADRSLn is associated
with the coincidently indexed analog input channel ADCn
(ADC0/P5.0...ADC7/P5.7). Reading an ADRSLn register by
software copies at the same time the two highest bits of the 10-bit
conversion result into two latches, thus preserving them until the
next read of any ADRSLn register. These two latches form bit
positions 0 and 1 of SFR ADRSH, the upper 6 bits of ADRSH are
always read as ‘0’.
The interrupt flag ADINT will not be set by activation of Idle or
Power-down Mode. A previously set flag ADINT will not be cleared
by the hardware. (Note: ADINT cannot be cleared by hardware at
all, except for a RESET - it must be cleared by the user software.)
After a wakeup from Idle or Power-down Mode a set flag ADINT
indicates that at least one autoscan loop was finished completely
before the microcontroller was put into the respective power
reduction mode and it indicates that the stored result data may be
fetched now - if desired.
Thus it is ensured to get the 10-bit result of the same single A/D
conversion by reading any register ADRSLn first and after it the
register ADRSH.
Digital Input Port Register P5
Port 5 Special Function Register P5 always represents the binary
value of the logic level at input pins P5.0/ADC0...P5.7/ADC7. P5 is
not affected by chip reset. P5 is a read only register. Its hardware
address is C7H. P5 is not bit addressable.
7
ADPSS (E7H)
ADPSS7
For further information on Idle and Power-down Mode, refer to the
“Power reduction modes” section.
6
5
4
3
2
1
0
ADPSS6
ADPSS5
ADPSS4
ADPSS3
ADPSS2
ADPSS1
ADPSS0
ADPSS7–0 For each individual bit position:
0
1
= The corresponding analog input is skipped in the auto-scan loop.
= The corresponding analog input is included in the auto-scan loop.
Figure 16. A/D input port scan-select register.
7
ADRSLn
ADRSn.7
6
5
ADRSn.6
ADRSn.5
4
ADRSn.4
3
2
ADRSn.3
ADRSn.2
1
ADRSn.1
0
ADRSn.0
(n: 0...7)
ADRSH
7
6
5
4
3
2
1
0
0
0
0
0
0
ADRSn.9
ADRSn.8
3
2
1
0
P5.3
P5.2
Figure 17.
7
P5 (C7H)
P5.7
6
A/D Result Registers.
5
P5.6
P5.5
4
P5.4
Figure 18. Digital input port register P5.
1999 Mar 02
0
20
P5.1
P5.0
Philips Semiconductors
Product specification
Single-chip 8-bit microcontroller
P83C557E6/P80C557E6
is selected according to the next higher set bit position in ADPSS,
converted and stored, and so on. When the result of the last
conversion of this autoscan loop is stored, flag ADCON.4/ADINT,
the ADC interrupt flag, is set. It is not cleared by interrupt hardware
– it must be cleared by software.
Timing
A programmable prescaler is controlled by the bits ADPR1 and
ADPR0 in register ADCON to adapt the conversion time for different
microcontroller clock frequencies.
Table 11 shows conversion times (tconv) for one A/D conversion at
some convenient system clock frequencies (fclk) and ADC prescaler
divisors (m), which are user selectable by the bits ADCON.7/ADPR1
and ADCON.6/ADPR0.
In continuous scan mode (ADCON.2/ADCSA=1) the ADC start and
status flag ADCON.3/ADSST retains the set state and the autoscan
loop restarts from the beginning. In one–time scan mode
(ADCSA=0) conversions stop after the last selected analog input
was converted, ADINT is set and ADSST is cleared automatically.
For conversion times outside the limits for tconv the specified ADC
characteristics are not guaranteed; (prohibited conversion times are
put in brackets):
ADSST cannot be set (neither externally nor by software) as long as
ADINT=1, i.e. as long as ADINT is set, a new conversion start – by
setting flag ADSST – is inhibited; actually it is only delayed until
ADINT is cleared.
Table 11. Conversion time configuration
examples (tconv/µs)
(If a ‘1’ is written to ADSST while ADINT=1, this new value is
internally latched and preserved, not setting ADSST until
ADCON.4/ADINT=0. In this state, a read of SFR ADCON will display
ADCON.3/ADSST=0, because always the effective ADC status is
read.)
fCLK
m
6 MHz
8 MHz
12 MHz
16 MHz
2
4
6
8
26
50
[74]
[98]
19.5
37.5
[55.5]
[73.5]
[13]
25
37
49
[9.75]
18.75
27.75
36.75
Note that under software control the analog inputs can also be
converted in arbitrary order, when one–time scan mode is selected
and in SFR ADPSS only one bit is set at a time. In this case ADINT
is set and ADSST is cleared after every conversion.
Conversion time tconv = (6 m + 1) machine cycles
A conversion time tconv consists of one sample time period (which
equals two bit conversion times), 10 bit conversion time periods and
one machine cycle to store the result.
6.6.3 Resolution and Characteristics
The ADC system has its own analog supply pins AVDD and AVSS. It
is referenced by two special reference voltage input pins sourcing
the resistance ladder of the DAC: AVref+ and AVref–. The voltage
between AVREF+ and AVREF– defines the full–scale range. Due to
the 10–bit resolution the full scale range is divided into 1024 unit
steps. The unit step voltage is 1 LSB, which is typically 5 mV (AVref+
= 5.12 V, AVref– = 0 V = AVSS).
After result storage an extra initializing time period follows to select
the next analog input channel (according to the contents of SFR
ADPSS), before the input signal is sampled.
Thus the time period between two adjacent conversions within an
autoscan loop is larger than the pure time tconv. This autoscan cycle
time is (7 m) machine cycles.
The DAC’s resistance ladder has 1023 equally spaced taps,
separated by a unit resistance ‘R’. The first tap is located 0.5 x R
above AVref–, the last tap is located 1.5 x R below AVref+. This
results in a total ladder resistance of 1024 x R. This structure
ensures that the DAC is monotonic and results in a symmetrical
quantization error. For input voltages between AVref– and (AVref– +
1/2 LSB) the 10–bit conversion result code will be 00 0000 0000 B =
000H = 0D. For input voltages between (AVref+ – 3/2 LSB) and
AVref+ the 10–bit conversion result code will be 11 1111 1111 B =
3FFH = 1023D.
At the start of an autoscan conversion the time between writing to
SFR ADCON and the first analog input signal sampling depends on
the current prescaler value (m) and the relative time offset between
this write operation and the internal (divided) ADC clock. This gives
a variation range for the A/D conversion start time of ( m / 2 )
machine cycles.
6.6.2 Configuration and Operation
Every A/D conversion is an autoscan conversion. The two user
selectable general operation modes are continuous scan and
one–time scan mode.
The result code corresponding to an analog input voltage (AVin) can
be calculated from the formula:
The desired analog input port channel/s for conversion is/are
selected by programming A/D input port scan–select bits in SFR
ADPSS. An analog input channel is included in the autoscan loop if
the corresponding bit in ADPSS is 1, a channel is skipped if the
corresponding bit in ADPSS is 0.
+ The analog input voltage should be stable when it is sampled for
conversion. At any times the input voltage slew rate must be less
than 10 V/ms (5 V conversion range) in order to prevent an
undefined result.
An autoscan is always started according to the lowest bit position of
ADPSS that contains a 1.
An autoscan conversion is started by setting the flag ADSST in
register ADCON either by software or by an external start signal at
input pin ADEXS, if enabled. Either no edge (external start totally
disabled), a rising edge or/and a falling edge of ADEXS is selectable
for external conversion start by the bits ADSRE and ADSFE in
register ADCON.
This maximum input voltage slew rate can be ensured by an RC low
pass filter with R = 2k2 and C = 100 nF. The capacitor between
analog input pin and analog ground pin shall be placed close to the
pins in order to have maximum effect in minimizing input noise
coupling.
After completion of an A/D conversion the 10–bit result is stored in
the corresponding 10–bit buffer register. Then the next analog input
1999 Mar 02
* *
) * *
21
Philips Semiconductors
Product specification
Single-chip 8-bit microcontroller
P83C557E6/P80C557E6
• Mode 1:
• Mode 2:
6.7 Timer / Counters
The P8xC557E6 contains three 16-bit timer/event counters: Timer 0,
Timer 1 and Timer T2 and one 8-bit timer, T3. Timer 0 and Timer 1
may be programmed to carry out the following functions:
8-bit time-interval or event counter with automatic
reload upon overflow
• Mode 3:
• Measure time intervals and pulse durations
• Count events
• Generate interrupt requests
With a 16 MHz crystal, the counting frequency of these
timer/counters is as follows:
In the timer function, the register is incremented every machine
cycle. Thus, one can think of it as counting machine cycles. Since a
machine cycle consists of 12 oscillator periods, the count rate is
1/12 of the oscillator frequency.
• In the timer function, the timer is incremented at a frequency of
1.33 MHz - a division by 12 of the system clock frequency
• 0 Hz to an upper limit of 0.66 MHz (1/24 of the system clock
In the counter function, the register is incremented in response to a
1-to-0 transition at the corresponding external input pin, T0 or T1. In
this function, the external input is sampled during S5P2 of every
machine cycle. When the samples show a HIGH in one cycle and a
LOW in the next cycle, the counter is incremented. Thus, it takes
two machine cycles (24 oscillator periods) to recognize a 1-to-0
transition. There are no restrictions on the duty cycle of the external
input signal, but to insure that a given level is sampled at least once
before it changes, it should be held for at least one full machine
cycle.
frequency) when programmed for external inputs
Both internal and external inputs can be gated to the counter by a
second external source for directly measuring pulse durations.
When configured as a counter, the register is incremented on every
falling edge on the corresponding input pin, T0 or T1. The
incremented register value can be read earliest during the second
machine cycle after that one, during which the incrementing pulse
occurred.
The counters are started and stopped under software control. Each
one sets its interrupt request flag when it overflows from all HIGHs
to all LOWs (or automatic reload value), with the exception of mode
3 as previously described.
Timer 0 and Timer 1 can be programmed independently to operate
in one of four modes:
8-bit timer or 8-bit counter each with divide-by-32
prescaler
7
TMOD (89H)
GATE
6
5
C/T
M1
-Timer 0: one 8-bit time-interval or event counter
and one 8-bit time-interval counter
-Timer 1: stopped
When Timer 0 is in Mode 3, Timer 1 can be programmed to operate
in Modes 0, 1 or 2 but cannot set an interrupt request flag or
generate an interrupt. However the overflow from Timer 1 can be
used to pulse the serial port baud-rate generator.
6.7.1 Timer 0 and Timer 1
Timers 0 and 1 each have a control bit in SFR TMOD that selects
the timer or counter function of the corresponding timer.
• Mode 0:
16-bit time-interval or event counter
4
3
2
1
M0
GATE
C/T
M1
0
M0
Timer 0
Timer 1
Figure 19. Timer/Counter mode control (TMOD) register.
Table 12. Description of TMOD bits
SYMBOL
BIT
FUNCTION
Gate
TMOD.7
TMOD.3
Gating control when set. Timer/Counter “x” is enabled only while “INTx” pin is high and “TRx” control pin is set.
When cleared Timer “x” is enabled whenever “TRx” control bit is set.
C/T
TMOD.6
TMOD.2
Timer or Counter Selector cleared for Timer operation (input from internal system clock). Set for Counter
operation (input from “Tx” input pin).
M1
TMOD.5
TMOD.1
TMOD.4
TMOD.0
Timer 0, Timer 1 mode select see Table 13.
M0
Table 13. Timer 0 / Timer 1 operation select
M1
M0
0
0
8048 Timer “TLx” serves as 5-bit prescaler.
0
1
16-bit Timer/Counter “THx” and “TLx” are cascaded; there is no prescaler.
1
0
8-bit auto-reload Timer/Counter “THx” holds a value which is to be reloaded into “TLx” each time it overflows.
1
1
(Timer 0) TL0 is an 8-bit Timer/Counter controlled by the standard Timer 0 control bits. TH0 is an 8-bit timer
only controlled by Timer 1 control bits.
1
1
(Timer 1) Timer/Counter 1 stopped.
1999 Mar 02
OPERATING
22
Philips Semiconductors
Product specification
Single-chip 8-bit microcontroller
7
TCON (88H)
TF1
P83C557E6/P80C557E6
6
5
4
TR1
TF0
TR0
3
2
IE1
IT1
1
0
IE0
IT0
Figure 20. Timer/Counter mode control (TCON) register.
Table 14. Description of TCON bits
SYMBOL
BIT
FUNCTION
TF1
TCON.7
Timer 1 overflow flag. Set by hardware on Timer/Counter overflow. Cleared by hardware when processor
vectors to interrupt routine.
TR1
TCON.6
Timer 1 run control bit. Set/cleared by software to turn Timer/Counter on/off.
TF0
TCON.5
Timer 0 overflow flag. Set by hardware on Timer/Counter overflow. Cleared by hardware when processor
vectors to interrupt routine.
TR0
TCON.4
Timer 0 run control bit. Set/cleared by software to turn Timer/Counter on/off.
IE1
TCON.3
Interrupt 1 edge flag. Set by hardware when external interrupt edge detected. Cleared when interrupt
processed.
IT1
TCON.2
Interrupt 1 type control bit. Set/cleared by software to specify falling edge/low level triggered external interrupts.
IE0
TCON.1
Interrupt 0 edge flag. Set by hardware when external interrupt edge detected. Cleared when interrupt
processed.
IT0
TCON.0
Interrupt 0 type control bit. Set/cleared by software to specify falling edge/low level triggered external interrupts.
1999 Mar 02
23
Philips Semiconductors
Product specification
Single-chip 8-bit microcontroller
P83C557E6/P80C557E6
byte while T2 is being read. T2 is not loadable and is reset by the
RST signal or at the positive edge of the input signal RT2, if
enabled. In the Idle or Power-down Mode the timer/counter and
prescaler are reset and halted.
6.7.2 Timer T2
Timer T2 is a 16 bit timer/counter which has capture and compare
facilities. The operational diagram is shown in Figure 21.
The 16 bit timer/counter is clocked via a prescaler with a
programmable division factor of 1, 2, 4 or 8. The input of the
prescaler is clocked with 1/12 of the clock frequency, or by an
external source connected to the T2 input, or it is switched off. The
maximum repetition rate of the external clock source is fCLK/12,
twice that of Timer 0 and Timer 1. The prescaler is incremented on a
rising edge. It is cleared if its division factor or its input source is
changed, or if the timer/counter is reset (see also Figure 22:
TM2CON). T2 is readable ‘on the fly’, without any extra read
latches; this means that software precautions have to be taken
against misinterpretation at overflow from least to most significant
CT0I
CT1I
INT
T2 is connected to four 16-bit Capture Registers: CT0, CT1, CT2
and CT3. A rising or falling edge on the inputs CT0I, CT1I, CT2I or
CT3I (alternative function of Port 1) results in loading the contents of
T2 into the respective Capture Registers and an interrupt request.
Using the Capture Register CTCON (see Figure 23), these inputs
may invoke capture and interrupt request on a positive, a negative
edge or on both edges. If neither a positive nor a negative edge is
selected for capture input, no capture or interrupt request can be
generated by this input.
CT2I
INT
CTI0
CTI1
CT0
CT3I
INT
INT
CTI2
CT1
CTI3
CT2
CT3
off
8-bit overflow interrupt
fCLK
Prescaler
1/12
T2 Counter
16-bit overflow interrupt
T2
RT2
T2ER
External reset
enable
COMP
S
R
P4.0
S
R
P4.1
S
R
P4.2
S
R
P4.3
S
R
P4.4
S
R
P4.5
TG
T
P4.6
TG
T
P4.7
STE
RTE
CMO (S)
COMP
CM1 (R)
INT
COMP
CM2 (T)
I/O port 4
S
= set
R = reset
T
= toggle
TG = toggle status
Figure 21. Block diagram of Timer 2.
1999 Mar 02
INT
24
T2 SFR address: TML2 = lower 8 bits
TMH2 = higher 8 bits
INT
Philips Semiconductors
Product specification
Single-chip 8-bit microcontroller
7
TM2CON (EAH)
T2IS1
P83C557E6/P80C557E6
6
T2IS0
5
T2ER
4
3
2
T2BO
T2P1
T2P0
1
T2MS1
0
T2MS0
Figure 22. T2 control register (TM2CON).
Table 15. Description of TM2CON bits
SYMBOL
BIT
FUNCTION
T2IS1
TM2CON.7
Timer T2 16-bit overflow interrupt select
T2IS0
TM2CON.6
Timer T2 byte overflow interrupt select
T2ER
TM2CON.5
Timer T2 external reset enable. When this bit is set, Timer T2 may be reset by a rising edge on RT2 (P1.5).
T2BO
TM2CON.4
Timer T2 byte overflow interrupt flag
T2P1
TM2CON.3
Timer T2 prescaler select
T2P0
TM2CON.2
T2MS1
TM2CON.1
T2MS0
TM2CON.0
Timer T2 mode select
Table 16. Timer 2 prescaler select
T2P1
T2P0
TIMER T2 CLOCK
0
0
Clock source
0
1
Clock source/2
1
0
Clock source/4
1
1
Clock source/8
Table 17. Timer 2 mode select
T2MS1
T2MS0
0
0
Timer T2 halted (off)
MODE SELECTED
0
1
T2 clock source = fCLK/12
1
0
Test mode; do not use
1
1
T2 clock source = pin T2
7
CTCON (EBH)
CTN3
6
CTP3
5
CTN2
4
3
2
1
0
CTP2
CTN1
CTP1
CTN0
CTP0
Figure 23. Capture control register (CTCON).
Table 18. Description of CTCON bits
SYMBOL
BIT
CTN3
CTCON.7
Capture Register 3 triggered by a falling edge on CT3I
CTP3
CTCON.6
Capture Register 3 triggered by a rising edge on CT3I
CTN2
CTCON.5
Capture Register 2 triggered by a falling edge on CT2I
CTP2
CTCON.4
Capture Register 2 triggered by a rising edge on CT2I
CTN1
CTCON.3
Capture Register 1 triggered by a falling edge on CT1I
CTP1
CTCON.2
Capture Register 1 triggered by a rising edge on CT1I
CTN0
CTCON.1
Capture Register 0 triggered by a falling edge on CT0I
CTP0
CTCON.0
Capture Register 0 triggered by a rising edge on CT0I
1999 Mar 02
FUNCTION
25
Philips Semiconductors
Product specification
Single-chip 8-bit microcontroller
P83C557E6/P80C557E6
match toggles bits 6 and 7 of Port 4, provided these functions are
enabled by the STE respectively RTE registers. A match of CM0
and CM1 at the same time results in resetting bits 0–5 of Port 4.
CM0, CM1 and CM2 are reset by the RSTIN signal.
The contents of the Compare Registers CM0, CM1 and CM2 are
continuously compared with the counter value of Timer T2. When a
match occurs, an interrupt may be invoked. A match of CM0 sets
the bits 0–5 of Port 4, a CM1 match resets these bits and a CM2
7
TM2IR (C8H)
T2OV
6
5
4
3
2
1
0
CMI2
CMI1
CMI0
CTI3
CTI2
CTI1
CTI0
Figure 24. Interrupt flag register (TM2IR).
Table 19. Description of TM2IR bits
SYMBOL
BIT
FUNCTION
T2OV
TM2IR.7
Timer T2 16-bit overflow interrupt flag
CMI2
TM2IR.6
CM2 interrupt flag
CMI1
TM2IR.5
CM1 interrupt flag
CMI0
TM2IR.4
CM0 interrupt flag
CTI3
TM2IR.3
CT3 interrupt flag
CTI2
TM2IR.2
CT2 interrupt flag
CTI1
TM2IR.1
CT1 interrupt flag
CTI0
TM2IR.0
CT0 interrupt flag
7
STE (EEH)
TG47
6
5
4
3
2
1
0
TG46
SP45
SP44
SP43
SP42
SP41
SP40
Figure 25. Set enable register (STE).
Table 20. Description of STE bits
SYMBOL
BIT
TG47
STE.7
If “1” then P4.7 is reset on the next toggle, if LOW P4.7 is set on the next toggle
TG46
STE.6
If “1” then P4.6 is reset on the next toggle, if LOW P4.6 is set on the next toggle
SP45
STE.5
If “1” then P4.5 is set on a match between CM0 and Timer T2
SP44
STE.4
If “1” then P4.4 is set on a match between CM0 and Timer T2
SP43
STE.3
If “1” then P4.3 is set on a match between CM0 and Timer T2
SP42
STE.2
If “1” then P4.2 is set on a match between CM0 and Timer T2
SP41
STE.1
If “1” then P4.1 is set on a match between CM0 and Timer T2
SP40
STE.0
If “1” then P4.0 is set on a match between CM0 and Timer T2
1999 Mar 02
FUNCTION
26
Philips Semiconductors
Product specification
Single-chip 8-bit microcontroller
7
RTE (EFH)
6
TP47
TP46
P83C557E6/P80C557E6
5
RP45
4
3
2
1
0
RP44
RP43
RP42
RP41
RP40
Figure 26. Reset/Toggle enable register (RTE).
Table 21. Description of RTE bits
SYMBOL
BIT
FUNCTION
TP47
RTE.7
If “1” then P4.7 toggles on a match between CM2 and Timer T2
TP46
RTE.6
If “1” then P4.6 toggles on a match between CM2 and Timer T2
RP45
RTE.5
If “1” then P4.5 toggles on a match between CM1 and Timer T2
RP44
RTE.4
If “1” then P4.4 toggles on a match between CM1 and Timer T2
RP43
RTE.3
If “1” then P4.3 toggles on a match between CM1 and Timer T2
RP42
RTE.2
If “1” then P4.2 toggles on a match between CM1 and Timer T2
RP41
RTE.1
If “1” then P4.1 toggles on a match between CM1 and Timer T2
RP40
RTE.0
If “1” then P4.0 toggles on a match between CM1 and Timer T2
For more information concerning the TM2CON, CTCON, TM2IR and
the STE/RTE registers see IC20 handbook, chapter “80C51 family
hardware description”.
Port 4 can be read and written by software without affecting the
toggle, set and reset signals. At a byte overflow of the least
significant byte, or at a 16-bit overflow of the timer/counter, an
interrupt sharing the same interrupt vector is requested. Either one
or both of these overflows can be programmed to request an
interrupt.
All interrupt flags must be reset by software.
Internal Bus
Prescaler
(11-bit)
fCLK/12
Clear
Timer T3
(8-bit)
to reset circuitry (see Figure 46)
LOAD LOADEN
Write T3
Clear
WLE
PCON.4
EW
Internal Bus
Figure 27. Watchdog timer.
1999 Mar 02
27
PD
LOADEN
PCON.1
Philips Semiconductors
Product specification
Single-chip 8-bit microcontroller
P83C557E6/P80C557E6
second byte is complete, one of the bytes will be lost. The SIO0
receive and transmit registers are both accessed via the S0BUF
special function register. Writing to S0BUF loads the transmit
register, and reading S0BUF accesses to a physically separate
receive register. SIO0 can operate in 4 modes:
6.8 Watchdog Timer T3
In addition to Timer T2 and the standard timers, a watchdog timer
(T3) consisting of an 11–bit prescaler and an 8–bit timer is also
incorporated (see Figure 27). The timer is incremented every
1.5 ms, derived from the system clock frequency of 16 MHz by the
following:
Mode 0: Serial data is transmitted and received through RXD. TXD
outputs the shift clock. 8 data bits are transmitted/received
(LSB first). The baud rate is fixed at 1/12 of the oscillator
frequency. A write into S0CON should be avoided during a
transmission to avoid spikes on RXD/TXD.
When a timer overflow occurs, the microcontroller is reset and a
reset output pulse is generated at pin RSTOUT. Also the PLL control
register is reset.
Mode 1: 10 bits are transmitted via TXD or received through RXD:
a start bit (0), 8 data bits (LSB first), and a stop bit(1). On
receive, the stop bit is put into RB8 (S0CON special
function register). The baud rate is variable.
To prevent a system reset the timer must be reloaded in time by the
application software. If the processor suffers a hardware/software
malfunction, the software will fail to reload the timer. This failure will
produce a reset upon overflow thus preventing the processor
running out of control.
Mode 2: 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). On transmit,
the 9th data bit (TB8 in S0CON) can be assigned the
value of 0 or 1. With nominal software, TB8 can be the
parity bit (P in PSW). During a receive, the 9th data bit is
stored in RB8 (S0CON), and the stop bit is ignored. The
baud rate is programmable to either 1/32 or 1/64 of the
oscillator frequency.
The watchdog timer can only be reloaded if the condition flag
WLE = PCON.4 has been previously set by software.
At the moment the counter is loaded the condition flag is
automatically cleared.
The time interval between the timer’s reloading and the occurrence
of a reset depends on the reloaded value. For example, this may
range from 1.5 ms to 0.375 s when using an oscillator frequency of
16 MHz.
Mode 3: 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). Mode 3 is
the same as Mode 2 except the baud rate which is
variable in Mode 3.
In the Idle state the watchdog timer and reset circuitry remain active.
The watchdog timer is controlled by the watchdog enable pin (EW).
A LOW level enables the watchdog timer and disables the
Power–down Mode. A HIGH level disables the watchdog timer and
enables the Power–down Mode.
In all four modes, transmission is initiated by any instruction that
writes to the S0BUF function register. Reception is initiated in Mode
0 when RI = 0 and REN = 1. In the other three modes, reception is
initiated by the incoming start bit provided that REN = 1.
6.9 Serial I/O
Modes 2 and 3 are provided for multiprocessor communications. In
these modes, 9 data bits are received with the 9th bit written to RB8.
The 9th bit is followed by the stop bit. The port can be programmed
so that with receiving the stop bit, the serial port interrupt will be
activated if, and only if RB8 = 1.
The P8xC557E6 is equipped with two independent serial ports:
SIO0 and SI01. SIO0 is the full duplex UART port, identical to the
PCB80C51 serial port. SIO1 is an I2C–bus serial I/O interface with
byte oriented master and slave functions.
6.9.1 SIO0 (UART)
SIO 0 is a full duplex serial I/O port – it can transmit and receive
simultaneously. This serial port is also receive–buffered. It can
commence reception of a second byte before the previously
received byte has been read from the receive register. If, however,
the first byte has still not been read by the time reception of the
1999 Mar 02
This feature is enabled by setting bit SM2 in S0CON. This feature
may be used in multiprocessor systems.
For more information about how to use the UART in combination
with the registers S0CON, PCON, IEN0, S0BUF and Timer register
refer to the 80C51 Data Handbook IC20.
28
Philips Semiconductors
Product specification
Single-chip 8-bit microcontroller
7
S0CON (98H)
SM0
6
P83C557E6/P80C557E6
5
SM1
SM2
4
3
2
1
0
REN
TB8
RB8
TI
RI
Figure 28. Serial port control (S0CON) register.
Table 22. Description of S0CON bits
SYMBOL
BIT
SM0
S0CON.7
This bit is used to select the serial port mode. See Table 23
FUNCTION
SM1
S0CON.6
This bit is used to select the serial port mode. See Table 23
SM2
S0CON.5
Enables the multiprocessor communication feature in modes 2 and 3. In mode 2 or 3, if SM2 is set to
1, then RI will not be activated if the received 9th data bit (RB8) is 0. In mode 1, if SM2 = 1, then RI will
not be activated if a valid stop bit was not received. In mode 0, SM2 should be 0.
REN
S0CON.4
Enables serial reception. Set by software to enable reception. Clear by software to disable reception.
TB8
S0CON.3
The 9th data bit that will be transmitted in modes 2 and 3. Set or clear by software as desired.
RB8
S0CON.2
In modes 2 and 3, RB8 is the 9th data bit that was received. In mode 1, if
SM2 = 0, RB8 is the stop bit that was received. In mode 0, RB8 is not used.
TI
S0CON.1
The transmit interrupt flag. Set by hardware at the end of the 8th bit 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
S0CON.0
The 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.
Table 23. Description of S0CON bits
SM0
SM1
MODE
0
0
0
Shift register
fCLK/12
0
1
1
8–bit UART
variable
1
0
2
9–bit UART
fCLK/64 or fCLK/32
1
1
3
9–bit UART
variable
1999 Mar 02
DESCRIPTION
29
BAUD RATE
Philips Semiconductors
Product specification
Single-chip 8-bit microcontroller
P83C557E6/P80C557E6
The on–chip I2C logic provides a serial interface that meets the
I2C–bus specification, supporting all I2C–bus modes of operation,
they are:
6.9.2 SIO1 (I2C-bus Interface)
The SIO1 of the P8xC557E6 provides the fast–mode, which allows
a fourthfold increase of the bitrate up to 400 kHz. Nevertheless it is
downward compatible, i.e. it can be used in a 0 to 100 Kbit/s I2C bus
system.
• Master transmitter
• Master receiver
• Slave transmitter
• Slave receiver
Except from the bit rate selection (see Table 25) and the timing of
the SCL and SDA signals (see AC electrical characteristics in
section 11) the SIO circuit is the same as described in detail in the
80C51 Data Handbook IC20 for the 8xC552 microcontroller.
The I2C–bus is a simple bidirectional 2–wire bus for efficient inter–IC
data exchange. Features of the I2C–bus are:
The SI01 logic performs a byte oriented data transport, clock
generation, address recognition and bus control arbitration are all
controlled by hardware. Via two pins the external I2C–bus is
interfaced to the SIO1 logic: SCL serial clock I/O and SDA serial
data I/O, (see Special Function Register bit S1CON.6/ENS1 for
enabling the SIO1 logic).
• Only two bus lines are required: a serial clock line (SCL) and a
serial data line (SDA)
• Each device connected to the bus is software addressable by a
unique address
The SIO1 logic handles byte transfer autonomously. It keeps track of
the serial transfers, and a status register (S1STA) reflects the status
of SIO1 and the I2C–bus.
• Masters can operate as Master–transmitter or as Master–receiver
• It’s a true multi–master bus including collision detection and
Via the following four Special Function Registers the CPU interfaces
to the I2C logic.
arbitration to prevent data corruption if two or more masters
simultaneously initiate data transfer
• Serial clock synchronization allows devices with different bit rates
to communicate via the same serial bus
• ICs can be added to or removed from an
I2C–bus
S1CON
control register. Bit addressable by the CPU
S1STA
status register whose contents may be used as a vector to
service routines.
S1DAT
data shift register. The data byte is stable as long as
S1CON.3/SI=1.
S1ADR
slave address register. It’s LSB enables/ disables general
call address recognition.
system without
affecting any other circuit on the bus
• Fault diagnostics and debugging are simple; malfunctions can be
immediately traced
For more information on the I2C–bus specification (including
fast–mode) please refer to the Philips publication number 9398 393
40011 and/or the 80C51 Data Handbook IC20.
7
1
SLAVE ADDRESS
S1ADR
7
GC
0
SDA
INTERNAL BUS
SHIFT REGISTER
ARBITRATION + SYNC LOGIC
S1DAT
SCL
BUS CLOCK GENERATOR
7
0
S1CON
7
0
S1STA
Figure 29. Block diagram of I2C serial I/O interface.
1999 Mar 02
0
30
Philips Semiconductors
Product specification
Single-chip 8-bit microcontroller
P83C557E6/P80C557E6
The Control Register, S1CON
The CPU can read from and write to this 8-bit, directly addressable
SFR. Two bits are affected by the SIO1 hardware: the SI bit is set
when a serial interrupt is requested, and the STO bit is cleared when
a STOP condition is present on the I2C bus. The STO bit is also
cleared when ENS1 = 0.
7
S1CON (D8H)
CR2
6
5
ENS1
4
STA
STO
3
2
SI
AA
1
CR1
0
CR0
Figure 30. Serial control (S1CON) register.
Table 24. Description of S1CON bits
SYMBOL
BIT
FUNCTION
CR2
S1CON.7
Clock rate bit 2, see Table 25.
ENS1
S1CON.6
ENS1 = 0:
ENS1 = 1:
STA
S1CON.5
START flag. When this bit is set in slave mode, the hardware checks the I2C bus and generates a START
condition if the bus is free or after the bus becomes free. If the device operates in master mode it will
generate a repeated START condition.
STO
S1CON.4
STOP flag. If this bit is set in a master mode a STOP condition is generated. A STOP condition detected on
the I2C bus clears this bit. This bit may also be set in slave mode in order to recover from an error
condition. In this case no STOP condition is generated to the I2C bus, but the hardware releases the SDA
and SCL lines and switches to the not selected receiver mode. The STOP flag is cleared by the hardware.
SI
S1CON.3
Serial Interrupt flag. This flag is set, and an interrupt request is generated, after any of the following events
occur:
Serial I/O
Serial I/O
disabled and reset. SDA and SCL outputs are high–Z.
enabled.
– A START condition is generated in master mode.
– The own slave address has been received during AA = 1.
– The general call address has been received while S1ADR.0 and AA = 1.
– A data byte has been received or transmitted in master mode (even if arbitration is lost).
– A data byte has been received or transmitted as selected slave.
– A STOP or START condition is received as selected slave receiver or transmitter.
While the SI flag is set, SCL remains LOW and the serial transfer is su– spended. SI must be reset by software.
AA
S1CON.2
Assert Acknowledge flag. When this bit is set, an acknowledge is returned after any one of the following
conditions:
– Own slave address is received.
– General call address is received (S1ADR.0 = 1).
– A data byte is received, while the device is programmed to be a master receiver.
– A data byte is received. while the device is a selected slave receiver.
When the bit is reset, no acknowledge is returned. Consequently, no interrupt is requested when the own
address or general call address is received.
CR1
CR0
1999 Mar 02
S1CON.1
S1CON.0
Clock rate bits 1 and 0, see Table 25.
31
Philips Semiconductors
Product specification
Single-chip 8-bit microcontroller
P83C557E6/P80C557E6
When SIO1 is in a master mode serial clock frequency is
determined by the clock rate bits CR2, CR1 and CR0. The various
bit rates are shown in Table 25.
The data shown in Table 25 do not apply to SIO1 in a slave mode. In
the slave modes, SIO1 will automatically synchronize with any clock
frequency up to 400kHz.
Table 25. Selection of I2C-bus bit rate
BIT RATE (kHz) at fCLK
CR2
CR1
CR0
12MHz
16MHz
1
0
0
50
66.7
1
0
1
3.75
5
1
1
0
75
100
1
1
1
100
–
0
0
0
200 1)
266.7 1)
0
0
1
7.5
10
0
1
0
300 1)
400 1)
0
1
1
400 1)
–
NOTE:
1. These bit rates are for “fast–mode” I2C bus applications and cannot be used for bit rates up to 100 kbit/sec.
Serial status register S1STA
S1STA is a read only register.
The contents of the status register may be used as a vector to a
service routine. This optimizes the response time of the software
and consequently that of the I2C–bus.
7
S1STA (D9H)
SC4
6
SC3
Figure 31.
5
SC2
4
3
SC1
SC0
Serial status (S1STA) register.
Table 26. Description of S1STA bits
BIT
FUNCTION
S1STA.7 to 3
5–bit status code
S1STA.2 to 0
These bits are held LOW (for service routine vector increment 8)
The following is a list of the status codes:
Table 27. MST/TRX mode
S1STA VALUE
DESCRIPTION
08H
A START condition has been transmitted
10H
A repeated START condition has been transmitted
18H
SLA and W have been transmitted, ACK has been received
20H
SLA and W have been transmitted, ACK received
28H
DATA and S1DAT has been transmitted, ACK received
30H
DATA and S1DAT has been transmitted, ACK received
38H
Arbitration lost in SLA, R/W or DATA
1999 Mar 02
32
2
0
1
0
0
0
Philips Semiconductors
Product specification
Single-chip 8-bit microcontroller
P83C557E6/P80C557E6
Table 28. MST/REC mode
S1STA VALUE
DESCRIPTION
38H
Arbitration lost while returning ACK
40H
SLA and R have been transmitted, ACK received
48H
SLA and R have been transmitted, ACK received
50H
DATA has been received, ACK returned
58H
DATA has been received, ACK returned
Table 29. SLV/REC mode
S1STA VALUE
DESCRIPTION
60H
Own SLA and W have been received, ACK returned
68H
Arbitration lost in SLA, R/W as MST. Own SLA and W have been received, ACK returned
70H
General CALL has been received, ACK returned
78H
Arbitration lost in SLA, R/W as MST. General call has been received
80H
Previously addressed with own SLA. DATA byte received, ACK returned
88H
Previously addressed with own SLA. DATA byte received, ACK returned
90H
Previously addressed with general call. DATA byte has been received, ACK has been returned
98H
Previously addressed with general call. DATA byte has been received, ACK has been returned
A0H
A STOP condition or repeated START condition has been received while still addressed as SLV/REC or SLV/TRX
Table 30. SLV/TRX mode
S1STA VALUE
DESCRIPTION
A8H
Own SLA and R have been received, ACK returned
B0H
Arbitration lost in SLA, R/W as MST. Own SLA and R have been received, ACK returned
B8H
DATA byte has been transmitted, ACK returned
C0H
DATA byte has been transmitted, ACK returned
C8H
Last DATA byte has been transmitted (AA = logic 0), ACK received
Table 31. Miscellaneous
S1STA VALUE
DESCRIPTION
00H
Bus error during MST mode or selected SLV mode, due to an erroneous START or STOP condition
F8H
No relevant information available, SI not set
Abbreviations used:
SLA
:
7–bit slave address
R
:
Read bit
W
:
Write bit
ACK
:
Acknowledgement (acknowledge bit = 0)
ACK
:
Not acknowledgement (acknowledge bit = 1)
DATA
:
8–bit data byte to or from I2C–bus
MST
:
Master
SLV
:
Slave
TRX
:
Transmitter
REC
:
Receiver
1999 Mar 02
33
Philips Semiconductors
Product specification
Single-chip 8-bit microcontroller
P83C557E6/P80C557E6
The data shift register S1DAT
This register contains the serial data to be transmitted or data which
has been received. Bit 7 is transmitted or received first; i.e. data is
shifted from right to left.
7
S1DAT (DAH)
S1DAT.7
6
5
4
3
2
1
0
S1DAT.6
S1DAT.5
S1DAT.4
S1DAT.3
S1DAT.2
S1DAT.1
S1DAT.0
Figure 32. Data shift register.
The address register S1ADR
This 8–bit register may be loaded with the 7–bit slave address to
which the controller will respond when programmed as a slave
receiver/transmitter. The LSB (GC) is used to determine whether the
general call address is recognized.
7
S1ADR (DBH)
SLA6
6
5
4
3
2
1
0
SLA5
SLA4
SLA3
SLA2
SLA1
SLA0
GC
Figure 33. Address register.
Table 32. Description of S1ADR bits
SYMBOL
BIT
SLA6 to 0
S1ADR.7 to 1
GC
S1ADR.0
1999 Mar 02
FUNCTION
Own slave address
0 = general call address is not recognized
1 = general call address is recognized
34
Philips Semiconductors
Product specification
Single-chip 8-bit microcontroller
P83C557E6/P80C557E6
Interrupt enable registers
Interrupt
sources
INT0
Source enable
Interrupt priority
registers
Global enable
Polling hardware
a1
External
Interrupt
Request 0
a2
I2C
Serial
Port
b1
Timer 0
Overflow
f1
c2
g1
d1
h1
d2
i1
e1
Timer 2
Capture 0
f1
Timer 2
Compare 0
CT1I
e1
c1
e2
INT1
b1
c1
d1
b2
ADC
CT0I
a1
High
priority
interrupt
request
j1
k1
l1
m1
f2
n1
External
Interrupt
Request 1
’seconds’
Interrupt
g1
o1
Vector
Source
Identification
g2
h1
Timer 2
Capture 1
h2
a2
i1
Timer 2
Compare 1
b2
i2
Timer 1
Overflow
c2
j1
d2
j2
e2
f2
CT2I
k1
Timer 2
Capture 2
g2
k2
h2
i2
l2
UART
Serial
Port
CT3I
j2
T
m1
R
m2
l2
n1
m2
n2
n2
Timer 2
Capture 3
o1
Timer T2
Overflow
o2
Figure 34. The interrupt system.
1999 Mar 02
Low
priority
interrupt
request
l1
Timer 2
Compare 2
35
k2
o2
Vector
Source
Identification
Philips Semiconductors
Product specification
Single-chip 8-bit microcontroller
P83C557E6/P80C557E6
The ADC Interrupt is generated by bit ADINT, which is set when of
all selected analog inputs to be scanned, the conversion is finished.
ADINT must be cleared by software. It cannot be set by software.
6.10 Interrupt System
External events and the real–time–driven on–chip peripherals
require service by the CPU asynchronously to the 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. Interrupt
response time in a single–interrupt system is in the range from
2.25us to 6.75 us when using a 16 MHz crystal. The latency time
depends on the sequence of instructions executed directly after an
interrupt request.
The ‘Seconds’ timer Interrupt is generated by bit SECINT in register
PLLCON. This flag has to be cleared by software. Note that the
‘Seconds’ timer can only be used with the 32 kHz PLL oscillator.
All of the bits that generate interrupts can be set or cleared by
software, with the same result as though it had been set or cleared
by hardware (except the ADC interrupt request flag ADINT, which
cannot be set by software). That is, interrupts can be generated or
pending interrupts can be cancelled in software.
The P8xC557E6 acknowledges interrupt requests from 15 sources
as follows (see Figure 34):
• INT0 and INT1 external interrupts
• Timer 0 and Timer 1 internal timer/counter interrupts
• Timer 2 internal timer/counter byte and/or 16–bit overflow,
The Interrupts X0, T0, X1, T1, SEC, S0 and S1 are capable to
terminate the Idle Mode.
Interrupt Enable Registers
Each interrupt source can be individually enabled or disabled by
setting or clearing a bit in the interrupt enable special function
registers IEN0 and IEN1. All interrupt sources can also be globally
disabled by clearing bit EA in IEN0. The interrupt enable registers
are described in Figures 35 and 36.
3 compare and 4 capture interrupts (or 4 additional external
interrupts) (1)
• UART serial I/O port receive/transmit interrupt
• I2C–bus interface serial I/O interrupt
• ADC autoscan completion interrupt
• ’Seconds’ timer interrupt SEC (ored with INT1).
Interrupt Priority Structure
Each interrupt source can be assigned one of two priority levels.
Interrupt priority levels are defined by the interrupt priority special
function registers IP0 and IP1. IP0 and IP1 are described in
Figures 37 and 38.
For details about seconds timer interrupts, please refer to
chapter 6.13.4
Interrupt priority levels are as follows:
The External Interrupts INT0 and INT1 can each be either
level–activated or transition–activated, depending on bits IT0 and
IT1 in register TCON. The flags that actually generate these
interrupts are bits IE0 and IE1 in TCON. When an external interrupt
is generated, the corresponding request flag is cleared by the
hardware when the service routine is vectored to only if the interrupt
was transition–activated. If the interrupt was level–activated then the
interrupt request flag remains set until the external interrupt pin INTx
goes high. Consequently the external source has to hold the request
active until the requested interrupt is actually generated. Then it has
to deactivate the request before the interrupt service routine is
completed, or else another interrupt will be generated. As these
external interrupts are active LOW a “wire–ORing” of several
interrupt sources to one input pin allows expansion.
“0”—low priority
“1”—high priority
A low priority interrupt may be interrupted by a high priority interrupt.
A high priority interrupt cannot be interrupted by any other interrupt
source. If two requests of different priority occur simultaneously, the
high priority level request is serviced. If requests of the same priority
are received simultaneously, an internal polling sequence
determines which request is serviced. Thus, within each priority
level, there is a second priority structure determined by the polling
sequence. This second priority structure is shown in Table 37.
Interrupt Handling
The interrupt sources are sampled at S5P2 of every machine cycle.
The samples are polled during the following machine cycle. If one of
the flags was in a set condition at S5P2 of the previous machine
cycle, the polling cycle will find it and the interrupt system will
generate an LCALL to the appropriate service routine, provided this
hardware- generated LCALL is not blocked by any of the following
conditions:
1.. An interrupt of higher or equal priority level is already in
progress.
The Timer 0 and Timer 1 Interrupts are generated by TF0 and TF1,
which are set by a rollover in their respective timer/counter register
(except for Timer 0 in Mode 3 of the serial interface). When a Timer
interrupt is generated, the flag that generated it is cleared by the
on–chip hardware when the service routine is vectored to.
The eight Timer/Counter T2 Interrupt sources are: 4 capture
Interrupts (1), 3 compare interrupts and an overflow interrupt. The
appropriate interrupt request flags must be cleared by software.
2.. The current machine cycle is not the final cycle in the execution
of the instruction in progress. (No interrupt request will be
serviced until the instruction in progress is completed.)
The UART Serial Port Interrupt is generated by the logical OR of RI
and TI. Neither of these flags is cleared by hardware. The service
routine will normally have to determine whether it was RI or TI that
generated the interrupt, and the bit will have to be cleared by
software.
3.. The instruction in progress is RETI or any access to the interrupt
priority or interrupt enable registers. (No interrupt will be serviced
after RETI or after a read or write to IP0, IP1, IE0, or IE1 until at
least one other instruction has been subsequently executed.)
The I2C Interrupt is generated by bit SI in register S1CON. This flag
has to be cleared by software.
1.
If a capture register is unused and it’s contents is of no interest, then the corresponding input pin CTnI/P1.n
(n: 0...3) may be used as a (configurable) positive and/or negative edge triggered additional external interrupt input (INT2,
INT3, INT4, INT5).
1999 Mar 02
36
Philips Semiconductors
Product specification
Single-chip 8-bit microcontroller
P83C557E6/P80C557E6
The polling cycle is repeated with every machine cycle, and the
values polled are the values present at S5P2 of the previous
machine cycle. Note that if an interrupt flag is active but is not being
responded to because of one of the above conditions, and if the flag
is inactive when the blocking condition is removed, then the blocked
interrupt will not be serviced. Thus, the fact that the interrupt flag
was once active but not serviced is not remembered. Every polling
cycle is new.
interrupt flags. An external interrupt flag (IE0 or IE1) is cleared only if
it was transition-activated. All other interrupt flags are not cleared by
hardware and must be cleared by the software. The LCALL pushes
the contents of the program counter on to the stack (but it does not
save the PSW) and reloads the PC with an address that depends on
the source of the interrupt being vectored to as shown in Table 38.
Execution proceeds from the vector address until the RETI
instruction is encountered. The RETI instruction clears the “priority
level active” flip-flop that was set when this interrupt was
acknowledged. It then pops the top two bytes from the stack and
reloads the program counter. Execution of the in– terrupted program
continues from where it was interrupted.
The processor acknowledges an interrupt request by executing a
hardware-generated LCALL to the appropriate service routine. In
some cases it also clears the flag which generated the interrupt, and
in others it does not. It clears the Timer 0, Timer 1, and external
7
IEN0 (A8H)
EA
6
5
4
3
2
1
0
EAD
ES1
ES0
ET1
EX1
ET0
EX0
2
1
0
Figure 35. Interrupt enable register (IEN0).
Table 33. Description of IEN0 bits
SYMBOL
BIT
EA
IEN0.7
Global enable/disable control
0=
No interrupt is enabled
1=
Any individually enabled interrupt will be accepted
FUNCTION
EAD
IEN0.6
Enable ADC interrupt
ES1
IEN0.5
Enable SIO1 (I2C) interrupt
ES0
IEN0.4
Enable SIO0 (UART) interrupt
ET1
IEN0.3
Enable Timer 1 interrupt
EX1
IEN0.2
Enable External interrupt 1 / Seconds interrupt
ET0
IEN0.1
Enable Timer 0 interrupt
EX0
IEN0.0
Enable External interrupt 0
7
IEN1 (E8H)
ET2
6
ECM2
5
4
ECM1
ECM0
3
ECT3
Figure 36. Interrupt enable register (IEN1).
Table 34. Description of IEN1 bits
SYMBOL
BIT
ET2
IEN1.7
Enable T2 overflow interrupt(s)
FUNCTION
ECM2
IEN1.6
Enable T2 comparator 2 interrupt
ECM1
IEN1.5
Enable T2 comparator 1 interrupt
ECM0
IEN1.4
Enable T2 comparator 0 interrupt
ECT3
IEN1.3
Enable T2 capture register 3 interrupt
ECT2
IEN1.2
Enable T2 capture register 2 interrupt
ECT1
IEN1.1
Enable T2 capture register 1 interrupt
ECT0
IEN1.0
Enable T2 capture register 0 interrupt
If the enable bit is 0, then the interrupt is disabled, if the enable bit is 1, then the interrupt is enabled.
1999 Mar 02
37
ECT2
ECT1
ECT0
Philips Semiconductors
Product specification
Single-chip 8-bit microcontroller
7
IP0 (B8H)
–
6
PAD
P83C557E6/P80C557E6
5
PS1
4
3
2
1
0
PS0
PT1
PX1
PT0
PX0
2
1
0
Figure 37. Interrupt priority register (IP0).
Table 35. Description of IP0 bits
SYMBOL
BIT
FUNCTION
–
IP0.7
Reserved for future use
PAD
IP0.6
ADC interrupt priority level
PS1
IP0.5
SIO1 (I2C) interrupt priority level
PS0
IP0.4
SIO0 (UART) interrupt priority level
PT1
IP0.3
Timer 1 interrupt priority level
PX1
IP0.2
External interrupt 1/Seconds interrupt priority level
PT0
IP0.1
Timer 0 interrupt priority level
PX0
IP0.0
External interrupt 0 priority level
7
IP1 (F8H)
PT2
6
PCM2
5
PCM1
4
PCM0
3
PCT3
Figure 38. Interrupt priority register (IP1).
Table 36. Description of IP1 bits
SYMBOL
BIT
FUNCTION
PT2
IP1.7
T2 overflow interrupt(s) priority level
PCM2
IP1.6
T2 comparator 2 interrupt priority level
PCM1
IP1.5
T2 comparator 1 interrupt priority level
PCM0
IP1.4
T2 comparator 0 interrupt priority level
PCT3
IP1.3
T2 capture register 3 interrupt priority level
PCT2
IP1.2
T2 capture register 2 interrupt priority level
PCT1
IP1.1
T2 capture register 1 interrupt priority level
PCT0
IP1.0
T2 capture register 0 interrupt priority level
1999 Mar 02
38
PCT2
PCT1
PCT0
Philips Semiconductors
Product specification
Single-chip 8-bit microcontroller
P83C557E6/P80C557E6
Table 37. Interrupt Priority Structure
SOURCE
NAME
PRIORITY WITHIN LEVEL
(highest)
External interrupt 0
SIO1 (I2C)
ADC completion
Timer 0 overflow
Timer 2 capture 0
Timer 2 compare 0
External interrupt 1/Seconds interrupt
Timer 2 capture 1
Timer 2 compare 1
Timer 1 overflow
Timer 2 capture 2
Timer 2 compare 2
SIO0 (UART)
Timer 2 capture 3
Timer 2 overflow
X0
S1
ADC
T0
CT0
CM0
X1/SEC
CT1
CM1
T1
CT2
CM2
S0
CT3
T2
↑
↓
(lowest)
Table 38. Interrupt Vector Addresses
SOURCE
External interrupt 0
Timer 0 overflow
External interrupt 1/Seconds interrupt
Timer 1 overflow
SIO0 (UART)
SIO1 (I2C)
Timer 2 capture 0
Timer 2 capture 1
Timer 2 capture 2
Timer 2 capture 3
ADC completion
Timer 2 compare 0
Timer 2 compare 1
Timer 2 compare 2
Timer 2 overflow
1999 Mar 02
39
NAME
VECTOR ADDRESS
X0
T0
X1/SEC
T1
S0
S1
CT0
CT1
CT2
CT3
ADC
CM0
CM1
CM2
T2
0003H
000BH
0013H
001BH
0023H
002BH
0033H
003BH
0043H
004BH
0053H
005BH
0063H
006BH
0073H
Philips Semiconductors
Product specification
Single-chip 8-bit microcontroller
PCON (87H)
P83C557E6/P80C557E6
7
6
5
4
3
2
1
0
SMOD
ARD
RFI
WLE
GF1
GF0
PD
IDL
Figure 39. Power control register (PCON).
Table 39. Description of PCON bits
SYMBOL
BIT
FUNCTION
SMOD
PCON.7
Double Baud rate bit. When set to logic 1 the baud rate is doubled when the serial port SIO0 is being used in
modes 1, 2, or 3.
ARD
PCON.6
AUX–RAM disable bit. When set to a 1 the internal 1280 bytes AUX–RAM is disabled, so that all
MOVX–Instructions access the external data memory – as it is with the standard PCB80C51.
RFI
PCON.5
Reduced radio frequency interference bit. When set to a 1 the toggling of ALE pin is prohibited. This bit is
cleared on RESET (see also sections Features (EMC) and Pinning).
WLE
PCON.4
Watchdog load enable. This flag must be set by software prior to loading timer T3 (watchdog timer). It is cleared
when timer T3 is loaded.
GF1
PCON.3
General-purpose flag bit
GF0
PCON.2
General-purpose flag bit
PD
PCON.1
Power-down bit. Setting this bit activates the power-down mode. It can only be set if input EW is high.
IDL
PCON.0
Idle Mode bit. Setting this bit activates the Idle Mode.
PCON is not bit addressable. The reset value of PCON is
(00000000).
6.11 Power Reduction Modes
Two software–selectable modes of reduced power consumption are
implemented. These are the Idle Mode and the Power–down Mode.
6.11.2 Idle Mode
The instruction that sets PCON.0 is the last instruction executed in
the normal operating mode before Idle Mode is activated. Once in
the Idle Mode, the CPU status is preserved in its entirety: the Stack
Pointer, Program Counter, Program Status Word, Accumulator, RAM
and all other registers maintain their data during Idle Mode. The
status of external pins during Idle Mode is shown in Table 40.
Idle Mode operation permits the interrupt, serial ports and timer
blocks T0, T1 and T3 to function while the CPU is halted. The
following functions are switched off when the microcontroller enters
the Idle Mode:
• CPU
• Timer 2
• PWM0, PWM1
• ADC
(halted)
(stopped and reset)
There are three ways to terminate the Idle Mode:
(reset, output = HIGH)
Activation of any enabled interrupt X0, T0, X1, SEC, T1, S0 or S1
will cause PCON.0 to be cleared by hardware terminating Idle Mode
but only, if there is no interrupt in service with the same or higher
priority. The interrupt is serviced, and following return from interrupt
instruction RETI, the next instruction to be executed will be the one
which follows the instruction that wrote a logic 1 to PCON.0.
(aborted if conversion in progress)
The following functions remain active during Idle Mode. These
functions may generate an interrupt or reset and thus terminate the
Idle Mode:
• Timer 0, Timer 1, Timer 3 (Watchdog timer)
• UART
• I2C
• External interrupt
• Seconds Timer
The flag bits GF0 and GF1 may be used to determine whether the
interrupt was received during normal execution or during 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.
The second way 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 two machine cycles (24 HF
oscillator periods) to complete the reset operation if the HF oscillator
is selected.
In Power–down Mode the system clock is halted. If the PLL
oscillator is selected (SELXTAL1 = 0) and the RUN32 bit is set, the
32 kHz oscillator keeps running, otherwise it is stopped. If the
HF–oscillator (SELXTAL1 = 1) is selected, it is stopped after setting
the bit PD in the PCON register.
When the PLL oscillator is selected a hardware reset of > 1 µsec
(but no longer than 10 ms) is required and the microcontroller will
typically restart within 63 msec after the reset has finished.
6.11.1 Power Control Register
The modes Idle and Power–down are activated by software via the
Special Function Register PCON. Its hardware address is 87H.
1999 Mar 02
The third way of terminating the Idle Mode is by internal watchdog
reset. The microcontroller restarts after 3 machine cycles in all
cases.
40
Philips Semiconductors
Product specification
Single-chip 8-bit microcontroller
P83C557E6/P80C557E6
Table 40. External Pin Status During Idle and Power-Down Modes
MEMORY
ALE
PSEN
PORT 0
PORT 1
PORT 2
PORT 3
PORT 4
SCL/SDA
PWM0/PWM1
Idle
MODE
Internal
1
1
data
data
data
data
data
operative (1)
HIGH
Idle
External
1
1
high – Z
data
address
data
data
operative (1)
HIGH
Power-down
Internal
0
0
data
data
data
data
data
high–Z
HIGH
Power-down
External
0
0
high – Z
data
data
data
data
high–Z
HIGH
NOTE:
1. In Idle Mode SCL and SDA can be active as outputs only if SIO1 is enabled; if SIO1 is disabled (S1CON.6/ENS1 = 0) these pins are in a
high–impedance state.
32 kHz
XTAL4
SELXTAL1
XTAL3
PLL
Osc
Interrupts,
Serial
Ports,
T0, T1, T3
fCLK Clock
Gen.
Seconds timer
CPU
T2
ADC
PWM
Osc
XTAL1
3.5 to
16 MHz
XTAL2
PD
IDL
Figure 40. Idle and Power Down Hardware for Clock Generation
6.11.4 Wake-up from Power-down Mode
The Power-down Mode of the P8xC557E6 can also be terminated
by any one of the three enabled interrupts, INT0, INT1 or Seconds
interrupt.
6.11.3 Power-down Mode
The instruction that sets PCON.1 is the last executed prior to going
into the Power-down Mode. Once in Power-down Mode, the HF
oscillator is stopped. The 32 kHz oscillator may stay running. The
content of the on-chip RAM and the Special Function Registers are
preserved. Note that the Power-down Mode can not be entered
when the watchdog has been enabled.
If there is an interrupt already in service, which has same or higher
priority as the Wake-up interrupt, Power-down Mode will switch over
to Idle Mode and stay there until an interrupt of higher priority
terminates Idle Mode.
The Power-down Mode can be terminated by an external RESET in
the same way as in the 80C51 (RAM is saved, but SFRs are cleared
due to RESET) or in addition by any one of the external interrupts
(INT0, INT1) or Seconds interrupt.
A termination with these interrupts does not affect the internal data
memory and does not affect the Special Function Registers. This
gives the possibility to exit Power-down without changing the port
output levels. To terminate the Power-down Mode with an external
interrupt, INT0 or INT1 must be switched to be level-sensitive and
must be enabled. The external interrupt input signal INT0 or INT1
must be kept LOW till the oscillator has restarted and stabilized (see
Figure 41). A Seconds interrupt will terminate the Power-down Mode
if it is enabled and INT1 is level sensitive. In order to prevent any
interrupt priority problems during Wake-up, the priority of the desired
Wake-up interrupt should be higher than the priorities of all other
enabled interrupt sources.
The status of the external pins during Power-down Mode is shown in
Table 40. If the Power-down Mode is activated while in external
program memory, the port data that is held in the Special Function
Register P2 is restored to Port 2. If the data is a logic1, the port pin
is held HIGH during the Power-down Mode by the strong pull-up
transistor P1 (see Figure 9).
The Power-down Mode should not be entered within an interrupt
routine because Wake-up with an external or ‘Seconds’ interrupt is
not possible in that case.
The instruction following the one that put the device into the
Power-down Mode will be the first one which will be executed after
the interrupt routine has been serviced.
1999 Mar 02
41
Philips Semiconductors
Product specification
Single-chip 8-bit microcontroller
P83C557E6/P80C557E6
Internal timing stopped
oscillator start_up > 10 ms
LCALL
Interrupt routine
interrupts are polled
INT0 : 2 cycles
INT1 : 1 cycle
> 560 ms
> 10 ms
32 kHz oscillator stopped
running
INT0
INT1
C2
C1
Idle Mode
Power–down Mode
XTAL1,2 oscillator stopped
C1
C1
set External Interrupt latch
Figure 41. Wake-up by interrupt
1
SELXTAL1
1
•
Quartz crystal
or ceramic
resonator
•
•
XTAL1
C1
C2
SELXTAL1
External
clock
signal
XTAL1
(NC)
XTAL2
XTAL2
VSS
C1 = C2 = 20pF
VSS
Figure 43. Using an external clock.
Figure 42. Using the On-Chip Oscillator.
6.12 Oscillator Circuits
6.13 32 kHz PLL Oscillator with Seconds Timer
The input signal SELXTAL1 connected to logic “1” selects the
XTAL1, 2 oscillator (standard 80C51) instead of the XTAL3, 4
oscillator, which is halted and XTAL3, 4 must not be connected.
6.13.1 XTAL3,4 Oscillator Circuitry
The input signal SELXTAL1 connected to logic “0” selects the 32kHz
oscillator together with the PLL instead of the XTAL1,2 oscillator,
which is halted. XTAL2 is floating in that case.
6.12.1 XTAL1, 2 Oscillator circuit (standard 80C51)
The oscillator circuit of the P8xC557E6 is a single–stage inverting
amplifier in a Pierce oscillator configuration. The circuitry between
the XTAL1 and XTAL2 is basically an inverter biased to the transfer
point. Either a crystal or ceramic resonator can be used as the
feedback element to complete the oscillator circuitry. Both are
operated in parallel resonance. XTAL1 is the high gain amplifier
input, and XTAL2 is the output (see Figure 42). To drive the
P8xC557E6 externally, XTAL1 is driven from an external source and
XTAL2 left open–circuit (see Figure 43).
The 32kHz oscillator consists of an inverter, which forms a Pierce
oscillator with the on–chip components C1,C2,Rf and an external
crystal of 32768 Hz.
During the following situations, the inverter is switched to tristate and
XTAL3 is pulled to Vss :
• during Power–down Mode, when the PLL control register bit
RUN32 (PLLCON.7) was set to ‘0’;
• during Reset (RSTIN = HIGH) ;
• when the XTAL1,2 oscillator is selected (SELXTAL1 = HIGH).
6.12.2 XTAL3, 4 Circuitry
Please refer to chapter 6.13.1
1999 Mar 02
42
Philips Semiconductors
Product specification
Single-chip 8-bit microcontroller
P83C557E6/P80C557E6
6.13.3 PLL Control Register – PLLCON
PLLCON is a special function register, which can be read and
written by software. It contains the control bits:
6.13.2 PLL CCO
A current controlled oscillator (CCO) generates a clock frequency
fCCO of approx. 32 , 38 , 44 or 50 MHz , controlled by the PLL, with
the 32kHz oscillator as the reference clock. The system clock
frequency fCLK can be varied under software control by changing the
contents of the PLL control register (PLLCON):
• to select one of several system clock frequencies (see Table 41)
• the seconds interrupt flag: SECINT
• to enable the seconds interrupt flag: ENSECI
• the RUN32 bit, which defines if during Power–down Mode the
fCCO can be changed via the PLLCON bits FSEL(1:0)
(see Table 41). The maximum locking time is 10 ms (2).
During the stabilization phase, no time critical routines should be
executed.
32kHz oscillator is halted or stays running .
PLLCON is initialized to 0DH upon Reset (RSTIN = ‘1’) or Watchdog
Timer Overflow. PLLCON = 0DH corresponds to a system clock
frequency of 11.01 MHz.
The system clock frequency fCLK is derived from fCCO under control
of the PLLCON bits FSEL(4:0) (see Table 41).
If only FSEL(4:2) is changed but not FSEL(1:0), then it takes about
1us until the new frequency is available.
Changing the system clock frequency has to be done in two steps.
From HIGH to LOW frequencies:
First change (FSEL(4:2), then FSEL (1:0).
From LOW to HIGH frequencies:
First change only FSEL (1:0) and after a stabilization phase of
10 ms change FSEL (4:2).
7
PLLCON (F9H)
RUN32
6
5
4
3
2
1
0
ENSECI
SECINT
FSEL.4
FSEL.3
FSEL.2
FSEL.1
FSEL.0
Figure 44. PLL control register (PLLCON).
Table 41. PLLCON
SYMBOL
BIT
FUNCTION
RUN32
PLLCON.7
RUN32 = 0: The 32 kHz oscillator halts during Power–down.
RUN32 = 1: The 32 kHz oscillator stays running during Power–down.
ENSECI
PLLCON.6
Enable the seconds interrupt.
(enabling INT1 is also required)
SECINT
PLLCON.5
Seconds interrupt requested by an overflow of the seconds timer (which occurs every second) or via writing
a ‘1’ to this bit.
SECINT can only be cleared by writing a ‘0’ to this bit .
FSEL.4
PLLCON.4
System clock frequency in MHz
to
FSEL.0
to
PLLCON.0
FSEL[4:2]
100
11
FSEL[1:0]10
01
00
3.93
4.72
5.51
6.29
011
010
7.86
9.44
11.01
12.58
15.73
Other combinations, than mentioned above, are reserved and may not be selected .
This allows to generate the standard baudrates 19200, 9600, 4800, 2400 and 1200 Baud , when using the UART and Timer1.
2.
This parameter is characterized.
1999 Mar 02
43
Philips Semiconductors
Product specification
Single-chip 8-bit microcontroller
P83C557E6/P80C557E6
6.13.4 Seconds Timer
This counter provides an overflow signal every second, when the
32kHz oscillator is running.
Power–down. It controls the stretching of the reset pulse to the
microcontroller and controls releasing the system clock to the
microcontroller.
The overflow output sets the interrupt flag SECINT. This interrupt
can be disabled/enabled by ENSECI. If SECINT is enabled, it is
logically ORed with INT1 (external interrupt 1).
A RSTIN signal of 1us at minimum will reset the microcontroller.
In case of Reset or Wake–up with halted 32kHz oscillator: From
RSTIN falling edge or Wake–up interrupt it takes 560ms at
maximum for the start–up of the 32kHz oscillator itself and the
stabilization of the PLL’s.
Seconds interrupt and INT1 therefor share the same priority and
vector. The software has to check both flags SECINT (PLLCON.5)
and IE1 (TCON.3), to distinguish between the two interrupt sources.
SECINT can only be cleared via writing a ‘0’ to this bit .
In case of Wake–up with running 32kHz oscillator: From Wake–up
interrupt it takes about 1ms for the stabilization of the PLL’s.
The external interrupts INT0 , INT1 or the seconds interrupt can
Wake–up the PLL oscillator and the microcontroller as described in
chapter “Wake–up from Power–down Mode”.
After this start–up time, the microcontroller is supplied with the
system clock and – in case of a reset – the internally stretched reset
signal overlaps about 45us, to guarantee a proper initialization of the
microcontroller.
For a Wake–up via INT1 or seconds interrupt, IE1 must be enabled
and level–sensitive.
For further information refer to section 6.11 Power reduction modes.
A further function of the seconds timer is to control the start–up
timing of the microcontroller after Reset or after Wake–up from
32.768 KHz
XTAL4
C1
C2
XTAL3
PD
Rf
32 kHz
Phase
comparator
Loop
filter
CCO
Oscil–
lator
Programmable
divider
system clock
Stretched
Reset
RUN32 PD
Reset to controller
PLLCON
SECONDS TIMER
’Seconds’
Interrupt
request
RSTIN
Internal Bus
PD = power down
Figure 45. Block diagram PLL
1999 Mar 02
44
Philips Semiconductors
Product specification
Single-chip 8-bit microcontroller
P83C557E6/P80C557E6
6.14 Reset Circuitry
6.15 Power-on Reset
The reset input pin RSTIN is connected to a Schmitt trigger for noise
reduction (see Figure 46). Is the HF–oscillator selected a Reset is
accomplished by holding the RSTIN pin HIGH for at least 2 machine
cycles (24 system clock periods). Is the PLL–oscillator selected the
RSTIN–pulse must have a width of 1 µs at least, independent of the
32 kHz–oscillator is running or not (see PLL description). The CPU
responds by executing an internal reset. The RSTOUT pin
represents the signal resetting the CPU and can be used to reset
peripheral devices.
An automatic Reset can be obtained by switching on VDD, if the
RSTIN pin is connected to VDD via a capacitor, as shown in
Figure 47.
If the HF oscillator selected the VDD rise time must not exceed 10
ms and the capacitor should be at least 2.2 µF. The decrease of the
RSTIN pin voltage depends on the capacitor and the internal resistor
RRST. That voltage must remain above the lower threshold for at
minimum the HF–oscillator start–up time plus 2 machine cycles.
Is the PLL–oscillator selected a 0.1 µF capacitor is sufficient to
obtain an automatic reset.
The RSTOUT level also could be high due to a Watchdog timer
overflow.
The length of the output pulse from T3 is 3 machine cycles. A pulse
of such short duration is necessary in order to recover from a
processor or system fault as fast as possible.
During Reset, ALE and PSEN output a HIGH level. In order to
perform a correct reset, this level must not be affected by external
elements.
A Reset leaves the internal registers as shown in Table 5.
The internal RAM is not affected by Reset. At power-on, the RAM
content is indeterminate.
VDD
Schmitt
Trigger
SELXTAL1
Internal
Reset
Capacitor for
HF_osc.:
MUX
RSTIN
On-chip
resistor
VDD
PLL
OSC
RSTOUT
RRST
PLL_osc.: 0.1 F
RST
RRST
Overflow
timer T3
Figure 46. On–chip Reset Configuration
1999 Mar 02
8xC557E6
2.2 F
Figure 47. Power–on Reset
45
Philips Semiconductors
Product specification
Single-chip 8-bit microcontroller
P83C557E6/P80C557E6
7.1.1 80C51 Family Instruction Set
7. INSTRUCTION SET
The P8xC557E6 uses the powerful instruction set of the PCB80C51.
It consists of 49 single–byte, 45 two–byte and 17 three–byte
instructions. Using a 16 MHz quartz, 64 of the instructions are
executed in 0.75 µs, 45 in 1,5 µs and the multiply, divide instructions
in 3 µs.
Table 42. Instruction that affect Flag settings1
INSTRUCTION
A summary of the instruction set is given in Table 43.
The P8xC557E6 has additional Special Function Registers to
control the on–chip peripherals.
7.1 Addressing Modes
Most instructions have a “destination, source” field that specifies the
data type, addressing modes and operands involved. For all these
instructions, except for MOVs, the destination operand is also the
source operand (e.g., ADD A,R7).
There are five kinds of addressing modes:
• Register Addressing
– R0 – R7 (4 banks)
– A,B,C (bit), AB (2 bytes), DPTR (double byte)
•
Direct Addressing
– lower 128 bytes of internal Main RAM
(including the 4 R0–R7 register banks)
C
OV
AC
ADD
ADDC
SUBB
MUL
DIV
DA
RRC
RLC
SETB C
X
X
X
0
0
X
X
X
1
X
X
X
X
X
X
X
X
X
CLR C
CPL C
ANL C, bit
ANL C,/bit
ANL C, bit
ORL C, bit
MOV C, bit
CJNE
0
X
X
X
X
X
X
X
NOTE:
1. Note that operations on SFR byte address 208 or bit addresses
209-215 (i.e., the PSW or bits in the PSW) will also affect flag
settings.
– Special Function Registers
– 128 bits in a subset of the internal Main RAM
– 128 bits in a subset of the Special Function Registers
Notes on instruction set and addressing modes:
• Register–Indirect Addressing
– internal Main RAM (@R0, @R1, @SP [PUSH/POP])
– internal Auxiliary RAM (@R0, @R1, @DPTR)
Rn
Register R7-R0 of the currently selected Register
Bank.
direct
8-bit internal data location’s address. This could be
an Internal Data RAM location (0-127) or a SFR
[i.e., I/O port, control register, status register, etc.
(128-255)].
@Ri
8-bit RAM location addressed indirectly through register R1 or R0 of the actual register bank.
#data
8-bit constant included in the instruction.
#data 16
16-bit constant included in the instruction
addr 16
16-bit destination address. Used by LCALL and
LJMP. A branch can be anywhere within the 64
Kbytes Program Memory address space.
addr 11
11-bit destination address. Used by ACALL and
AJMP. The branch will be within the same 2 Kbytes
page of program memory as the first byte of the following instruction.
rel
Signed (two’s complement) 8-bit offset byte. Used by
SJMP and all conditional jumps. Range is –128 to
+127 bytes relative to first byte of the following
instruction.
bit
Direct Addressed bit in Internal Data RAM or Special
Function Register.
– external Data Memory (@R0, @R1, @DPTR)
•
Immediate Addressing
– Program Memory (in–code 8 bit or 16 bit constant)
•
FLAG
Base–Register–plus Index–Register–Indirect Addressing
– Program Memory look–up table (@DPTR+A, @PC+A)
The first three addressing modes are usable for destination
operands.
Hexadecimal opcode cross-reference to Table 43
1999 Mar 02
46
*
:
8, 9, A, B, C, D, E. F.
**
:
11, 31, 51, 71, 91, B1, D1, F1.
***
:
01, 21, 41, 61, 81, A1, C1, E1.
Philips Semiconductors
Product specification
Single-chip 8-bit microcontroller
P83C557E6/P80C557E6
Table 43. 80C51 Instruction Set Summary
MNEMONIC
DESCRIPTION
BYTE / CYCLES
OPCODE
(HEX.)
ARITHMETIC OPERATIONS
ADD
A,Rn
Add register to Accumulator
1
1
2*
ADD
A,direct
Add direct byte to Accumulator
2
1
25
ADD
A,@Ri
Add indirect RAM to Accumulator
1
1
26, 27
ADD
A,#data
Add immediate data to Accumulator
2
1
24
ADDC
A,Rn
Add register to Accumulator with carry
1
1
3*
ADDC
A,direct
Add direct byte to Accumulator with carry
2
1
35
ADDC
A,@Ri
Add indirect RAM to Accumulator with carry
1
1
36, 37
ADDC
A,#data
Add immediate data to ACC with carry
2
1
34
SUBB
A,Rn
Subtract Register from ACC with borrow
1
1
9*
SUBB
A,direct
Subtract direct byte from ACC with borrow
2
1
95
SUBB
A,@Ri
Subtract indirect RAM from ACC with borrow
1
1
96, 97
SUBB
A,#data
Subtract immediate data from ACC with borrow
2
1
94
INC
A
Increment Accumulator
1
1
04
INC
Rn
Increment register
1
1
0*
INC
direct
Increment direct byte
2
1
05
INC
@Ri
Increment indirect RAM
1
1
06, 07
DEC
A
Decrement Accumulator
1
1
14
DEC
Rn
Decrement Register
1
1
1*
DEC
direct
Decrement direct byte
2
1
15
DEC
@Ri
Decrement indirect RAM
1
1
16, 17
INC
DPTR
Increment Data Pointer
1
2
A3
MUL
AB
Multiply A and B
1
4
A4
DIV
AB
Divide A by B
1
4
84
DA
A
Decimal Adjust Accumulator
1
1
D4
LOGICAL OPERATIONS
ANL
A,Rn
AND Register to Accumulator
1
1
5*
ANL
A,direct
AND direct byte to Accumulator
2
1
55
ANL
A,@Ri
AND indirect RAM to Accumulator
1
1
56, 57
ANL
A,#data
AND immediate data to Accumulator
2
1
54
ANL
direct,A
AND Accumulator to direct byte
2
1
52
ANL
direct,#data
AND immediate data to direct byte
3
2
53
ORL
A,Rn
OR register to Accumulator
1
1
4*
ORL
A,direct
OR direct byte to Accumulator
2
1
45
ORL
A,@Ri
OR indirect RAM to Accumulator
1
1
46, 47
ORL
A,#data
OR immediate data to Accumulator
2
1
44
ORL
direct,A
OR Accumulator to direct byte
2
1
42
ORL
direct,#data
OR immediate data to direct byte
3
2
43
XRL
A,Rn
Exclusive-OR register to Accumulator
1
1
6*
XRL
A,direct
Exclusive-OR direct byte to Accumulator
2
1
65
XRL
A,@Ri
Exclusive-OR indirect RAM to Accumulator
1
1
66, 67
1999 Mar 02
47
Philips Semiconductors
Product specification
Single-chip 8-bit microcontroller
Table 43.
P83C557E6/P80C557E6
80C51 Instruction Set Summary (Continued)
MNEMONIC
DESCRIPTION
BYTE / CYCLES
OPCODE
(HEX.)
LOGICAL OPERATIONS (Continued)
XRL
A,#data
Exclusive-OR immediate data to Accumulator
2
1
64
XRL
direct,A
Exclusive-OR Accumulator to direct byte
2
1
62
XRL
direct,#data
Exclusive-OR immediate data to direct byte
3
2
63
CLR
A
Clear Accumulator
1
1
E4
CPL
A
Complement Accumulator
1
1
F4
RL
A
Rotate Accumulator left
1
1
23
RLC
A
Rotate Accumulator left through the carry
1
1
33
RR
A
Rotate Accumulator right
1
1
03
RRC
A
Rotate Accumulator right through the carry
1
1
13
SWAP
A
Swap nibbles within the Accumulator
1
1
C4
DATA TRANSFER
MOV
A,Rn
Move register to Accumulator
1
1
E*
MOV
A,direct
Move direct byte to Accumulator
2
1
E5
MOV
A,@Ri
Move indirect RAM to Accumulator
1
1
E6, E7
MOV
A,#data
Move immediate data to Accumulator
2
1
74
MOV
Rn,A
Move Accumulator to register
1
1
F*
MOV
Rn,direct
Move direct byte to register
2
2
A*
MOV
RN,#data
Move immediate data to register
2
1
7*
MOV
direct,A
Move Accumulator to direct byte
2
1
F5
MOV
direct,Rn
Move register to direct byte
2
2
8*
MOV
direct,direct
Move direct byte to direct
3
2
85
MOV
direct,@Ri
Move indirect RAM to direct byte
2
2
86, 87
MOV
direct,#data
Move immediate data to direct byte
3
2
75
MOV
@Ri,A
Move Accumulator to indirect RAM
1
1
F6, F7
MOV
@Ri,direct
Move direct byte to indirect RAM
2
2
A6, A7
MOV
@Ri,#data
Move immediate data to indirect RAM
2
1
76, 77
MOV
DPTR,#data16
Load Data Pointer with a 16-bit constant
3
2
90
MOVC
A,@A+DPTR
Move Code byte relative to DPTR to ACC
1
2
93
MOVC
A,@A+PC
Move Code byte relative to PC to ACC
1
2
83
MOVX
A,@Ri
Move AUX–RAM (8-bit addr) to ACC
1
2
E2, E3
MOVX
A,@DPTR
Move AUX–RAM (16-bit addr) to ACC
1
2
E0
MOVX
@Ri,A
Move ACC to AUX–RAM (8-bit addr)
1
2
F2, F3
MOVX
@DPTR,A
Move ACC to AUX–RAM (16-bit addr)
1
2
F0
PUSH
direct
Push direct byte onto stack
2
2
C0
POP
direct
Pop direct byte from stack
2
2
D0
XCH
A,Rn
Exchange register with Accumulator
1
1
C*
XCH
A,direct
Exchange direct byte with Accumulator
2
1
C5
XCH
A,@Ri
Exchange indirect RAM with Accumulator
1
1
C6, C7
XCHD
A,@Ri
Exchange low-order digit indirect RAM with ACC
1
1
D6, D7
1999 Mar 02
48
Philips Semiconductors
Product specification
Single-chip 8-bit microcontroller
Table 43.
P83C557E6/P80C557E6
80C51 Instruction Set Summary (Continued)
MNEMONIC
DESCRIPTION
BYTE / CYCLES
OPCODE
(HEX.)
BOOLEAN VARIABLE MANIPULATION
CLR
C
Clear carry
1
1
C3
CLR
bit
Clear direct bit
2
1
C2
SETB
C
Set carry
1
1
D3
SETB
bit
Set direct bit
2
1
D2
CPL
C
Complement carry
1
1
B3
CPL
bit
Complement direct bit
2
1
B2
ANL
C,bit
AND direct bit to carry
2
2
B2
ANL
C,/bit
AND complement of direct bit to carry
2
2
B0
ORL
C,bit
OR direct bit to carry
2
2
72
ORL
C,/bit
OR complement of direct bit to carry
2
2
A0
MOV
C,bit
Move direct bit to carry
2
1
A2
MOV
bit,C
Move carry to direct bit
2
2
92
JC
rel
Jump if carry is set
2
2
40
JNC
rel
Jump if carry not set
2
2
50
JB
rel
Jump if direct bit is set
2
2
20
JNB
rel
Jump if direct bit is not set
2
2
30
JBC
bit,rel
Jump if direct bit is set and clear bit
3
2
10
PROGRAM BRANCHING
ACALL
addr11
Absolute subroutine call
2
2
**1addr
LCALL
addr16
Long subroutine call
3
2
12
RET
Return from subroutine
1
2
22
RETI
Return from interrupt
1
2
32
AJMP
addr11
Absolute jump
2
2
***1addr
LJMP
addr16
Long jump
3
2
02
SJMP
rel
Short jump (relative addr)
2
2
80
JMP
@A+DPTR
Jump indirect relative to the DPTR
1
2
73
JZ
rel
Jump if Accumulator is zero
2
2
60
JNZ
rel
Jump if Accumulator is not zero
2
2
70
CJNE
A,direct,rel
Compare direct byte to ACC and jump if not equal
3
2
B5
CJNE
A,#data,rel
Compare immediate to ACC and jump if not equal
3
2
B4
CJNE
RN,#data,rel
Compare immediate to register and jump if not
equal
3
2
B*
CJNE
@Ri,#data,rel
Compare immediate to indirect and jump if not
equal
3
2
B6, B7
DJNZ
Rn,rel
Decrement register and jump if not zero
2
2
D*
DJNZ
direct,rel
Decrement direct byte and jump if not zero
3
2
D5
No operation
1
1
00
NOP
NOTE:
1. All mnemonics copyrighted
1999 Mar 02
 Intel Corporation 1980
49
Philips Semiconductors
Product specification
Single-chip 8-bit microcontroller
P83C557E6/P80C557E6
Table 44. Instruction map P8xC557E6
second hexadecimal character of opcode
0
1
2
3
first hexadecimal character of opcode
4
5
6
7
8
9
A
B
C
D
E
F
0
1
2
3
4
5
NOP
AJMP
LJMP
RR
INC
INC
addr11
addr16
A
A
dir
JBC
ACALL
LCALL
RRC
DEC
DEC
bit, rel
addr11
addr16
A
A
dir
JB
AJMP
RET
RL
ADD
ADD
bit, rel
addr11
A
A, #data
A, dir
JNB
ACALL
RLC
ADDC
ADDC
bit, rel
addr11
A
A, #data
A, dir
JC
AJMP
ORL
ORL
ORL
ORL
rel
addr11
dir, A
dir, #data
A, #data
A, dir
JNC
ACALL
ANL
ANL
ANL
ANL
rel
addr11
dir, A
dir, #data
A, #data
A, dir
JZ
AJMP
XRL
XRL
XRL
XRL
rel
addr11
dir, A
dir, #data
A, #data
A, dir
JNZ
ACALL
ORL
JMP
MOV
MOV
rel
addr11
C, bit
@A+DPTR
A, #data
dir,#data
SJMP
AJMP
ANL
MOVC
DIV
MOV
rel
addr11
C, bit
A, @A+PC
AB
dir, dir
MOV
ACALL
MOV
MOVC
SUBB
SUBB
DPTR,#data16
addr11
bit, C
A,@A+DPTR
A, #data
A, dir
ORL
AJMP
MOV
INC
MUL
C,/bit
addr11
C, bit
DPTR
AB
ANL
ACALL
CPL
CPL
CJNE
CJNE
CJNE @Ri,#data,rel
C,/bit
addr11
bit
C
A,#data,rel
A,dir, rel
0
PUSH
AJMP
CLR
CLR
SWAP
XCH
dir
addr11
bit
C
A
A, dir
POP
ACALL
SETB
SETB
DA
DNJZ
dir
addr11
bit
C
A
dir, rel
MOVX
AJMP
MOVX A, @Ri
CLR
MOV
A, @DPTR
addr11
0
A
A, dir *)
MOVX
ACALL
MOVX A, @Ri, A
CPL
MOV
@DPTR, A
addr11
0
A
dir, A
RETI
1
1
7
8
9
0
1
0
1
2
1
0
1
2
1
0
1
2
1
0
1
2
1
0
1
2
1
0
1
2
1
0
1
2
1
0
1
1
2
0
1
2
0
1
2
0
1
2
1
0
1
2
1
0
1
2
5
6
7
3
4
6
7
5
6
7
5
6
7
5
6
7
5
6
7
6
7
6
7
6
7
6
7
5
3
4
3
4
3
4
3
4
3
4
5
3
4
5
3
4
5
3
4
5
3
4
5
6
7
6
7
6
7
6
7
6
7
XCH A, Rr
XCHD A, @ Ri
3
4
5
DJNZ Rr, rel
1
0
1
2
MOV A, @ Ri
3
4
5
MOV A, Rr
1
0
1
2
MOV @ Ri, A
0
4
CJNE Rr, #data, rel
XCH A, @ Ri
0
3
MOV Rr, dir
1
0
7
SUBB A, Rr
1
0
6
MOV dir, Rr
SUBB A, @ Ri
0
5
MOV Rr, #data
MOV dir, @ Ri
0
4
XRL A, Rr
MOV @ Ri, #data
0
3
ANL A, Rr
XRL A, @ Ri
0
F
ORL A, Rr
ANL A, @ Ri
0
E
ADDC A, Rr
ORL A, @ Ri
0
D
ADD A, Rr
ADDC A, @ Ri
0
C
DEC Rr
ADD A, @ Ri
0
B
INC Rr
DEC @ Ri
0
0
50
A
INC @ Ri
MOV @ Ri, dir
*) MOV A, ACC is not a valid instruction
1999 Mar 02
6
3
4
5
MOV Rr, A
1
0
1
2
3
4
5
Philips Semiconductors
Product specification
Single-chip 8-bit microcontroller
P83C557E6/P80C557E6
9. ABSOLUTE MAXIMUM RATINGS
ABSOLUTE MAXIMUM RATINGS1, 2, 3
RATING
UNIT
Storage temperature range
–65 to +150
°C
Voltage on VDD to VSS and SCL, SDA to VSS
–0.5 to +6.5
V
Input / output current on any I/O pin
10
mA
Power dissipation (based on package heat transfer limitations, not device power consumption)
1.0
W
PARAMETER
NOTES:
1. Stresses above those listed under Absolute Maximum Ratings may cause permanent damage to the device. This is a stress rating only and
functional operation of the device at these or any conditions other than those described in the AC and DC Electrical Characteristics section
of this specification is not implied.
2. This product includes circuitry specifically designed for the protection of its internal devices from the damaging effects of excessive static
charge. Nonetheless, it is suggested that conventional precautions are taken to avoid applying greater than the rated maxima.
3. Parameters are valid over operating temperature range unless otherwise specified. All voltages are with respect to VSS unless otherwise
noted.
1999 Mar 02
51
Philips Semiconductors
Product specification
Single-chip 8-bit microcontroller
P83C557E6/P80C557E6
10. DC CHARACTERISTICS
DC ELECTRICAL CHARACTERISTICS
VDD = 5V (± 10%), VSS = 0V, Tamb = 0°C to +70°C (P8xC557E6EBx). All voltages with respect to VSS unless otherwise specified.
LIMITS
SYMBOL
PARAMETER
VDD
Supply voltage
IDD
Supply current operating:
TEST CONDITIONS
P83C557E6
IID
Supply current Idle Mode:
P83C557E6
Supply current Power-down mode
IPD
Supply current Power-down mode:
32 kHz / PLL operation
UNIT
MIN
MAX
4.5
5.5
V
See notes 1 and 2
fCLK = 16MHz
VDD = 5.5 V
40
mA
See notes 1 and 3
fCLK = 16MHz
VDD = 5.5 V
12
mA
See note 4
2 V < VPD < VDDmax
100
µA
100
µA
See note 17
VDD = 5.5 V
Inputs
VIL
Input LOW voltage, except EA, SCL, SDA
–0.5
0.2VDD–0.1
V
VIL1
Input LOW voltage to EA
–0.5
0.2VDD–0.3
V
VIL2
Input LOW voltage to SCL, SDA 5
–0.5
0.3VDD
V
VIH
Input HIGH voltage, except XTAL1, RSTIN, SCL, SDA,
ADEXS
0.2VDD+0.9
VDD+0.5
V
VIH1
Input HIGH voltage, XTAL1, RSTIN, ADEXS
0.7VDD
VDD+0.5
V
0.7VDD
6.0
V
VIN = 0.45 V
–50
µA
See note 6
–650
µA
5
VIH2
Input HIGH voltage, SCL, SDA
IIL
Input current LOW level, Ports 1, 2, 3, 4
ITL
Transition current HIGH to LOW, Ports 1, 2, 3, 4
±ILI1
Input leakage current, Port 0, EA, ADEXS, EW, SELXTAL1
0.45 V < VI < VDD
10
µA
±ILI2
Input leakage current, SCL, SDA
0 V < VI < 6 V
0 V < VDD < 5.5 V
10
µA
±ILI3
Input leakage current, Port 5
0.45 V < VI < VDD
1
µA
IOL = 1.6mA7
0.45
V
3.2mA7
0.45
V
IOL = 3.0mA7, 19
0.4
V
6.0mA7, 19
0.6
Outputs
VOL
Output low voltage, Ports 1, 2, 3, 4
VOL1
Output low voltage, Port 0, ALE, PSEN, PWM0, PWM1,
RSTOUT
VOL2
Output low voltage, SCL, SDA
IOL =
IOL =
VOH
Output high voltage, Ports 1, 2, 3, 4
VOH1
Output high voltage (Port 0 in external bus mode, ALE,
PSEN, PWM0, PWM1, RSTOUT) 8
VHYS
Hysteresis of Schmitt Trigger inputs SCL, SDA (Fast-mode)
NOTES: See Page 54.
1999 Mar 02
52
VDD = 5 V ± 10%
–IOH = 60µA
–IOH = 25µA
–IOH = 10µA
2.4
0.75VDD
0.9VDD
V
V
V
VDD = 5 V ± 10%
–IOH = 800µA
–IOH = 300µA
–IOH = 80µA
2.4
0.75VDD
0.9VDD
V
V
V
0.05VDD 20
V
Philips Semiconductors
Product specification
Single-chip 8-bit microcontroller
P83C557E6/P80C557E6
DC ELECTRICAL CHARACTERISTICS (Continued)
VDD = 5 V (± 10%), VSS = 0 V, Tamb = –40°C to +85°C (P8xC557E6EFx). DC parameters not included here are the same as in the
P8xC557E6EBx, DC electrical characteristics.
All voltages with respect to VSS unless otherwise specified.
TEST
SYMBOL
PARAMETER
RRST
Internal reset pull-down resistor
CIO
Pin capacitance
LIMITS
CONDITIONS
MIN
MAX
UNIT
50
150
kΩ
10
pF
–0.5
0.2VDD–0.15
V
Test freq = 1MHz,
Tamb = 25 °C
Inputs
VIL
Input LOW voltage, except EA, SCL, SDA
VIL1
Input LOW voltage to EA
VIH
Input HIGH voltage, except XTAL1, RSTIN, SCL, SDA, ADEXS
VIH1
Input HIGH voltage, XTAL1, RSTIN, ADEXS
IIL
Input current LOW level, Ports 1, 2, 3, 4
ITL
Transition current HIGH to LOW, Ports 1, 2, 3, 4
–0.5
0.2VDD–0.35
V
0.2VDD+1.0
VDD+0.5
V
0.7VDD+0.1
VDD+0.5
V
VIN = 0.45 V
–75
µA
See note 6
–750
µA
NOTES: See Page 54.
DC ELECTRICAL CHARACTERISTICS ANALOG
AVDD = 5 V (± 10%), AVSS = 0 V, Tamb = 0 °C to +70 °C (P8xC557E6EBx).
AVDD = 5 V (± 10%), AVSS = 0 V, Tamb = –40 °C to +85 °C (P8xC557E6EFx).
All voltages with respect to VSS unless otherwise specified.
TEST
SYMBOL
AVDD
AIDD
AIID
PARAMETER
CONDITIONS
MIN
MAX
UNIT
Analog supply voltage
AVDD = VDD ± 0.2 V
4.5
5.5
V
Analog supply current operating
Port 5 = 0 to AVDD
see notes 1 and 2
1.2
mA
Analog supply current operating: 32 kHz/PLL operation
Port 5 = 0 to AVDD
see note 17, 18
7.2
mA
Analog supply current Idle Mode
see notes 1 and 3
70
A
Analog supply current Idle Mode: 32 kHz/PLL operation
Supply current Power-down mode
AIPD
LIMITS
Supply current Power-down mode: 32 kHz/PLL operation
see note 17
6.0
mA
2 V < VPD < VDDmax
see note 4
50
µA
VDD = 5.5V
see note 17
200
µA
AVDD+0.2
V
AVDD+0.2
V
V
Analog Inputs
AVIN
Analog input voltage
AVSS–0.2
AVREF
Reference voltage:
AVREF–
AVREF+
AVSS–0.2
RREF
Resistance between AVREF+ and AVREF–
50
kΩ
CIA
Analog input capacitance
15
pF
DLe
Differential non-linearity 9, 10, 11,
±1
LSB
ILe
Integral non-linearity 9, 12
±2
LSB
OSe
Offset error 9, 13
±2
LSB
error 9, 14
Ge
Gain
Ae
Absolute voltage error 9, 15
MCTC
Channel to channel matching
Ct
10
Crosstalk between inputs of port 5
16
0–100kHz
NOTES: See Page 54.
1999 Mar 02
53
±0.4
%
±3
LSB
±1
LSB
–60
dB
Philips Semiconductors
Product specification
Single-chip 8-bit microcontroller
P83C557E6/P80C557E6
NOTES FOR DC ELECTRICAL CHARACTERISTICS:
1. See Figures 48 and 50 through 52 for IDD test conditions.
2. The operating supply current is measured with all output pins disconnected;
XTAL1 driven with tr = tf = 5ns; VIL = VSS + 0.5 V; VIH = VDD – 0.5 V; XTAL2, XTAL3 not connected;
EA = RSTIN = Port 0 = EW = SCL = SDA = SELXTAL1 = VDD; ADEXS = XTAL4 = VSS.
3. The Idle Mode supply current is measured with all output pins disconnected;
XTAL1 driven with tr = tf = 5ns; VIL = VSS + 0.5 V; VIH = VDD – 0.5 V; XTAL2, XTAL3 not connected;
Port 0 = EW = SCL = SDA = SELXTAL 1 = VDD; EA = RSTIN = ADEXS = XTAL4 = VSS.
4. The Power-down current is measured with all output pins disconnected;
XTAL2 not connected; Port 0 = EW = SCL = SDA = SELXTAL 1 = VDD; EA = RSTIN = ADEXS = XTAL1 = XTAL4 = VSS.
5. The input threshold voltage of SCL and SDA (SIO1) meets the I2C specification, so an input voltage below 0.3 VDD will be recognized as a
logic 0 while an input voltage above 0.7 VDD will be recognized as a logic 1.
6. Pins of ports 1, 2, 3, and 4 source a transition current when they are being externally driven from HIGH to LOW. The transition current reaches
its maximum value when VIN is approximately 2 V.
7. Capacitive loading on ports 0 and 2 may cause spurious noise to be superimposed on the VOL of ALE and ports 1, 3 and 4. The noise is
due to external bus capacitance discharging into the port 0 and port 2 pins when these pins make 1-to-0 transitions during bus operations.
In the worst cases (capacitive loading > 100pF), the noise pulse on the ALE pin may exceed 0.8 V. In such cases, it may be desirable to
qualify ALE with a Schmitt Trigger, or use an address latch with a Schmitt Trigger STROBE input.
8. Capacitive loading on ports 0 and 2 may cause the VOH on ALE and PSEN to momentarily fall below the 0.9VDD specification when the address
bits are stabilizing.
9. Conditions: AVREF– = 0 V; AVDD = 5.0 V, AVREF+ = 5.12 V. VDD = 5.0 V, VSS = 0 V, ADC is monotonic with no missing codes. Measurement
by continuous conversion of AVIN = –20mV to 5.12 V in steps of 0.5mV, derivating parameters from collected conversion results of ADC.
ADC prescaler programmed according to the actual oscillator frequency, resulting in a conversion time within the specified range for tconv
(15µs ... 50µs).
10. The differential non-linearity (DLe) is the difference between the actual step width and the ideal step width.
11. The ADC is monotonic; there are no missing codes.
12. The integral non-linearity (ILe) is the peak difference between the center of the steps of the actual and the ideal transfer curve after
appropriate adjustment of gain and offset error.
13. The offset error (OSe) is the absolute difference between the straight line which fits the actual transfer curve (after removing gain error), and
a straight line which fits the ideal transfer curve. The offset error is constant at every point of the actual transfer curve.
14. The gain error (Ge) is the relative difference in percent between the straight line fitting the actual transfer curve (after removing
offset error), and the straight line which fits the ideal transfer curve. Gain error is constant at every point on the transfer curve.
15. The absolute voltage error (Ae) is the maximum difference between the center of the steps of the actual transfer curve of the non-calibrated
ADC and the ideal transfer curve.
16. This should be considered when both analog and digital signals are simultaneously input to port 5.
17. The supply current with 32 kHz oscillator running and PLL operation (SELXTAL1 = 0) is measured with all output pins disconnected;
XTAL4 driven with tr = tf = 5ns; VIL = VSS + 0.5 V; VIH = VDD – 0.5 V; XTAL2 not connected;
Port 0 = EW = SCL = SDA = VDD; EA = RSTIN = ADEXS = SELXTAL 1 = XTAL1 = VSS.
18. Not 100% tested; sum of AIID (PLL) and AIDD (HF–Oscillator).
19. The parameter meets the I2C bus specification for standard–mode and fast–mode devices.
20. Not 100% tested.
(1)
40
30
IDD (mA)
20
(2)
10
0
0
4
8
f (MHz)
12
(1) Maximum operating mode P83C557E6/P80C557E6
(2) Maximum Idle Mode P83C557E6/P80C557E6
16
:
:
VDD = 5.5 V
VDD = 5.5 V
Figure 48. Supply Current (IDD) as a Function of Frequency at XTAL1
1999 Mar 02
54
Philips Semiconductors
Product specification
Single-chip 8-bit microcontroller
P83C557E6/P80C557E6
Offset
error
OSe
1023
1022
1021
1020
1019
1018
(2)
7
Code
Out
(1)
6
5
(5)
4
(4)
3
(3)
2
1
1 LSB
(ideal)
0
1
2
3
4
5
6
7
1018
1019 1020
1021 1022
AVIN (LSBideal)
Offset
error
OSe
(1)
(2)
(3)
(4)
(5)
1 LSB =
Example of an actual transfer curve.
The ideal transfer curve.
Differential non-linearity (DLe).
Integral non-linearity (ILe).
Center of a step of the actual transfer curve.
Figure 49. ADC Conversion Characteristic
1999 Mar 02
55
AVREF+ – AVREF–
1024
1023 1024
Gain
error
Ge
Philips Semiconductors
Product specification
Single-chip 8-bit microcontroller
P83C557E6/P80C557E6
11. AC CHARACTERISTICS
AC ELECTRICAL CHARACTERISTICS
VDD = 5 V ± 10% (EBx), VSS = 0 V, tCLK min = 1/fmax (maximum operating frequency)
VDD = 5 V ± 10% (EFx), VSS = 0 V, tCLK min = 1/fmax (maximum operating frequency)
Tamb = 0 °C to +70 °C, tCLK min = 63 ns for P8xC557E6EBx
Tamb = –40 °C to +85 °C, tCLK min = 63 ns for P8xC557E6EFx
C1 = 100 pF for Port 0, ALE and PSEN ; C1 = 80 pF for all other outputs unless otherwise specified.
12MHz CLOCK
SYMBOL
FIGURE
PARAMETER
MIN
MAX
16MHz CLOCK
MIN
MAX
VARIABLE CLOCK
MIN
MAX
UNIT
3.5
16
MHz
1/tCLK
53
System clock frequency
tLHLL
53
ALE pulse width
127
85
2tCLK–40
ns
tAVLL
53
Address valid to ALE LOW
43
23
tCLK–40
ns
tLLAX
53
Address hold after ALE LOW
53
33
tCLK–30
ns
tLLIV
53
ALE LOW to valid instruction in
tLLPL
53
ALE LOW to PSEN LOW
53
33
tCLK–30
ns
tPLPH
53
PSEN pulse width
205
143
3tCLK–45
ns
tPLIV
53
PSEN LOW to valid instruction in
tPXIX
53
Input instruction hold after PSEN
tPXIZ
53
Input instruction float after PSEN
59
38
tCLK–25
ns
tAVIV
53
Address to valid instruction in
312
208
5tCLK–105
ns
tPLAZ
53
PSEN LOW to address float
10
10
10
ns
tAVLL
54, 55
Address valid to ALE LOW
tLLAX
54, 55
Address hold after ALE LOW
48
tRLRH
54
RD pulse width
400
tWLWH
55
WR pulse width
400
275
tRLDV
54
RD LOW to valid data in
tRHDX
54
Data hold after RD
tRHDZ
54
Data float after RD
97
55
2tCLK–70
ns
tLLDV
54
ALE LOW to valid data in
517
350
8tCLK–150
ns
tAVDV
54
Address to valid data in
9tCLK–165
ns
tLLWL
54, 55
ALE LOW to RD or WR LOW
200
3tCLK+50
ns
tAVWL
54, 55
Address valid to WR LOW or RD LOW
203
tQVWX
55
Data valid to WR transition
33
tQVWH
55
Data before WR
433
tWHQX
55
Data hold after WR
33
13
tRLAZ
54
RD low to address float
tWHLH
54, 55
234
150
145
0
4tCLK–100
83
0
3tCLK–105
0
ns
ns
ns
Data Memory
RD or WR HIGH to ALE HIGH
43
23
tCLK–40
ns
28
tCLK–35
ns
275
6tCLK–100
ns
6tCLK–100
ns
252
0
148
0
585
300
0
398
138
238
120
123
3tCLK–50
ns
ns
4tCLK–130
ns
13
tCLK–50
ns
288
7tCLK–150
ns
tCLK–50
ns
0
43
5tCLK–165
0
23
103
tCLK–40
0
ns
tCLK+40
ns
UART Timing – Shift Register Mode (Test Conditions: Tamb = 0 °C to +70 °C; VSS = 0 V; Load Capacitance = 80pF)
tXLXL
57
Serial port clock cycle time
1.0
0.75
12tCLK
µs
tQVXH
57
Output data setup to clock rising edge
700
492
10tCLK–133
ns
tXHQX
57
Output data hold after clock rising edge
50
8
2tCLK–117
ns
tXHDX
57
Input data hold after clock rising edge
0
0
0
ns
tXHDV
57
Clock rising edge to input data valid
1999 Mar 02
700
56
492
10tCLK–133
ns
Philips Semiconductors
Product specification
Single-chip 8-bit microcontroller
P83C557E6/P80C557E6
AC ELECTRICAL CHARACTERISTICS (Continued)
SYMBOL
I2C
Standard-mode
I2C-bus
PARAMETER
Fast-mode
I2C-bus
UNIT
MIN
MAX
MIN
MAX
0
100
0
400
kHz
Interface timing (refer to Figure 56)
fSCL
SCL clock frequency
tBUF
Bus free time between a STOP and START condition
4.7
–
1.3
–
µs
tHD; STA
Hold time (repeated) START condition. After this period, the
first clock pulse is generated
4.0
–
0.6
–
µs
tLOW
LOW period of the SCL clock
4.7
–
1.3
–
µs
tHIGH
High period of the SCL clock
4.0
–
0.6
–
µs
tSU; STA
Set–up time for a repeated START condition
4.7
–
0.6
–
µs
tHD; DAT
Data hold time:
for CBUS competible masters (see Section 9, Notes 1, 3)
for I2C–bus devices
5.0
01
–
01
–
0.92
tSU; DAT
Data set–up time
250
–
1003
–
ns
tFD, tFC
Rise time of both SDA and SCL signals
–
1000
20 +
0.1Cb4
300
ns
tFD, tFC
Fall time of both SDA and SCL signals
–
300
20 +
0.1Cb4
300
ns
tSU; STO
Set–up time for STOP condition
4.0
–
0.6
–
µs
Cb
Capacitive load for each bus line
–
400
–
400
pF
tSP
Pulse width of spikes which must be suppressed by the input
filter
–
–
0
50
ns
µs
All values referred to VIH and VIL max levels.
NOTES:
1. A device must internally provide a hold time of at least 300 ns from the SDA signal (referred to the VIH min of the SCL signal) in order to
bridge the undefined region of the falling edge of SCL.
2. The maximum tHD,DAT has only to be met if the device does not stretch the LOW period (tLOW) of the SCL signal.
3. A fast–mode I2C–bus device can be used in a standard–mode I2C–bus system, but the requirement tSU,DAT ≥ 250 ns must then be met. This
will automatically be the case if the device does not stretch the LOW period of the SCL signal. If such a device does stretch the LOW period
of the SCL signal, it must output the next data bit to the SDA line tRmax + tSU,DAT = 1000 + 250 = 1250 ns (according to the standard–mode
I2C–bus specification) before the SCL line is released.
4. Cb = total capacitance of one bus line in pF.
Table 45. External clock drive XTAL1 (refer to Figure 50)
SYMBOL
VARIABLE CLOCK
fCLK = 3.5 to 16 MHz
PARAMETER
MIN
MAX
UNIT
tCLK
XTAL1 Period
63
286
ns
tCLKH
XTAL1 HIGH time
20
–
ns
tCLKL
XTAL1 LOW time
20
–
ns
tCLKR
XTAL1 rise time
–
20
ns
tCLKF
XTAL1 fall time
tCYC 1)
Controller cycle time
NOTE:
1. tCYC = 12 fCLK
1999 Mar 02
57
–
20
ns
0.75
3.4
µs
Philips Semiconductors
Product specification
Single-chip 8-bit microcontroller
tCLKH
VIH1
P83C557E6/P80C557E6
tCLKR
tCLKF
VIH1
VIH1
0.8V
VIH1
0.8V
tCLKL
tCLK
Figure 50. External Clock Drive waveform
Float
2.4 V
2.4 V
2.0 V
2.0 V
2.4 V
2.0 V
2.0 V
0.8 V
0.8 V
Test Points
0.8 V
0.8 V
0.45 V
0.45 V
NOTE:
AC inputs during testing are driven at 2.4V for a logic ‘HIGH’ and 0.45V for a logic
‘LOW’. Timing measurements are made at 2.0 V for a logic ‘HIGH’ and 0.8 V for a
logic ‘LOW’.
NOTE:
The float state is defined as the point at which a port 0 pin sinks 3.2mA or
sources 400A at the voltage test levels.
Figure 51. AC Testing Input/Output
Figure 52. AC Testing, Float Waveform
tLHLL
ALE
tAVLL
tLLPL
tPLPH
tLLIV
PSEN
tPLIV
tLLAX
PORT 0
tPXIZ
tPLAZ
tPXIX
INSTR IN
A0–A7
A0–A7
tAVIV
PORT 2
A8–A15
A8–A15
Figure 53. External Program Memory Read Cycle
1999 Mar 02
58
0.45 V
Philips Semiconductors
Product specification
Single-chip 8-bit microcontroller
P83C557E6/P80C557E6
ALE
tWHLH
PSEN
tLLDV
tLLWL
tRLRH
RD
tAVLL
tLLAX
tRHDZ
tRLDV
tRHDX
tRLAZ
A0–A7
FROM RI OR DPL
PORT 0
DATA IN
A0–A7 FROM PCL
INSTR IN
tAVWL
tAVDV
PORT 2
P2.0–P2.7 OR A8–A15 FROM DPH
A8–A15 FROM PCH
Figure 54. External Data Memory Read Cycle
ALE
tWHLH
PSEN
tLLWL
tWLWH
WR
tAVLL
PORT 0
tLLAX
A0–A7
FROM RI OR DPL
tWHQX
tQVWX
tQVWH
DATA OUT
A0–A7 FROM PCL
tAVWL
PORT 2
P2.0–P2.7 OR A8–A15 FROM DPH
Figure 55. External Data Memory Write Cycle
1999 Mar 02
59
A8–A15 FROM PCH
INSTR IN
Philips Semiconductors
Product specification
Single-chip 8-bit microcontroller
P83C557E6/P80C557E6
repeated START condition
START or repeated START condition
START condition
tSU;STA
STOP condition
tRD
SDA
(INPUT/OUTPUT)
0.7 VDD
0.3 VDD
tBUF
tFD
tRC
tFC
tSP
tSU; STO
0.7 VDD
SCL
(INPUT/OUTPUT)
0.3 VDD
tSU;DAT3
tHD;STA
tLOW
tHIGH
tSU;DAT1
tHD;DAT
tSU;DAT2
Figure 56. Timing SIO1 (I2C) Interface
INSTRUCTION
0
1
2
3
4
5
6
7
8
ALE
tXLXL
CLOCK
tXHQX
tQVXH
OUTPUT DATA
0
1
2
3
4
5
6
7
WRITE TO SBUF
tXHDX
tXHDV
SET TI
INPUT DATA
VALID
VALID
VALID
VALID
VALID
VALID
VALID
VALID
CLEAR RI
SET RI
Figure 57. UART waveforms in Shift Register Mode
1999 Mar 02
60
Philips Semiconductors
Product specification
Single-chip 8-bit microcontroller
P83C557E6/P80C557E6
One Machine Cycle
XTAL1
INPUT
dotted lines
are valid when RD or
WR are active
only active
during a read
from external
data memory
only active
during a write
from external
data memory
external
program
memory
fetch
S1
S2
S3
S4
S5
S6
S1
S2
S3
S4
S5
S6
P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2
ALE
PSEN
RD
WR
Bus
(Port 0)
Int.
in
Port 2
read or
write of
external data
memory
One Machine Cycle
Bus
(Port 0)
Port 2
PORT
OUTPUT
address
A0–A7
address
A0–A7
Int.
in
address A8–A15
Int.
in
address
A0–A7
Int.
in
Int.
in
address A8–A15
address
A0–A7
address A8–A15
address
A0–A7
address A8–A15
data output or data input
address A8–A15 or Port2 out
old data
Int.
in
address
A0–A7
address A8–A15
address
A0–A7
address A8–A15
new data
PORT
INPUT
sampling time of I/O port pins during input (including INT0 and INT1)
SERIAL
PORT
CLOCK
Figure 58. Instruction cycle timing
Purchase of Philips I2C components conveys a license under the Philips’ I2C patent
to use the components in the I2C system provided the system conforms to the
I2C specifications defined by Philips. This specification can be ordered using the
code 9398 393 40011.
1999 Mar 02
61
Philips Semiconductors
Product specification
Single-chip 8-bit microcontroller
P83C557E6/P80C557E6
QFP80: plastic quad flat package;
80 leads (lead length 1.95 mm); body 14 x 20 x 2.7 mm; high stand-off height
1999 Mar 02
62
SOT318-1
Philips Semiconductors
Product specification
Single-chip 8-bit microcontroller
P83C557E6/P80C557E6
NOTES
1999 Mar 02
63
Philips Semiconductors
Product specification
Single-chip 8-bit microcontroller
P83C557E6/P80C557E6
Data sheet status
Data sheet
status
Product
status
Definition [1]
Objective
specification
Development
This data sheet contains the design target or goal specifications for product development.
Specification may change in any manner without notice.
Preliminary
specification
Qualification
This data sheet contains preliminary data, and supplementary data will be published at a later date.
Philips Semiconductors reserves the right to make chages at any time without notice in order to
improve design and supply the best possible product.
Product
specification
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.
[1] Please consult the most recently issued datasheet before initiating or completing a design.
Definitions
Short-form specification — The data in a short-form specification is extracted from a full data sheet with the same type number and title. For
detailed information see the relevant data sheet or data handbook.
Limiting values definition — Limiting values given are in accordance with the Absolute Maximum Rating System (IEC 134). Stress above one
or more of the limiting values may cause permanent damage to the device. These are stress ratings only and operation of the device at these or
at any other conditions above those given in the Characteristics sections of the specification is not implied. Exposure to limiting values for extended
periods may affect device reliability.
Application information — Applications that are described herein for any of these products are for illustrative purposes only. Philips
Semiconductors make no representation or warranty that such applications will be suitable for the specified use without further testing or
modification.
Disclaimers
Life support — These products are not designed for use in life support appliances, devices or systems where malfunction of these products can
reasonably be expected to result in personal injury. Philips Semiconductors customers using or selling these products for use in such applications
do so at their own risk and agree to fully indemnify Philips Semiconductors for any damages resulting from such application.
Right to make changes — Philips Semiconductors reserves the right to make changes, without notice, in the products, including circuits, standard
cells, and/or software, described or contained herein in order to improve design and/or performance. Philips Semiconductors assumes no
responsibility or liability for the use of any of these products, conveys no license or title under any patent, copyright, or mask work right to these
products, and makes no representations or warranties that these products are free from patent, copyright, or mask work right infringement, unless
otherwise specified.
 Copyright Philips Electronics North America Corporation 1999
All rights reserved. Printed in U.S.A.
Philips Semiconductors
811 East Arques Avenue
P.O. Box 3409
Sunnyvale, California 94088–3409
Telephone 800-234-7381
Date of release: 03-99
Document order number:
1999 Mar 02
64
9397 750 05315