P87LPC760BN,112 [NXP]
P87LPC760 - Low power, low price, low pin count (14 pin) microcontroller with 1 kbyte OTP;型号: | P87LPC760BN,112 |
厂家: | NXP |
描述: | P87LPC760 - Low power, low price, low pin count (14 pin) microcontroller with 1 kbyte OTP 可编程只读存储器 时钟 PC 微控制器 光电二极管 外围集成电路 |
文件: | 总56页 (文件大小:286K) |
中文: | 中文翻译 | 下载: | 下载PDF数据表文档文件 |
INTEGRATED CIRCUITS
P87LPC760
Low power, low price, low pin count
(14 pin) microcontroller with 1 kbyte OTP
Preliminary data
2002 Mar 07
IC28 Data Handbook
Philips
Semiconductors
Philips Semiconductors
Preliminary data
Low power, low price, low pin count (14 pin)
microcontroller with 1 kbyte OTP
P87LPC760
GENERAL DESCRIPTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ORDERING INFORMATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PIN CONFIGURATION, 14-PIN TSSOP AND 14-PIN DIP PACKAGES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
LOGIC SYMBOL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BLOCK DIAGRAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PIN DESCRIPTIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SPECIAL FUNCTION REGISTERS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FUNCTIONAL DESCRIPTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Enhanced CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Analog Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Analog Comparators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Comparator Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Internal Reference Voltage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Comparator Interrupt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Comparators and Power Reduction Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Comparator Configuration Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
I2C Serial Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
I2C Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Reading I2CON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Checking ATN and DRDY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Writing I2CON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Regarding Transmit Active . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Regarding Software Response Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
External Interrupt Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
I/O Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Quasi-Bidirectional Output Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Open Drain Output Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Push-Pull Output Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Keyboard Interrupt (KBI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Oscillator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Low Frequency Oscillator Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Medium Frequency Oscillator Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
High Frequency Oscillator Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
On-Chip RC Oscillator Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
External Clock Input Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Clock Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CPU Clock Modification: CLKR and DIVM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Power Monitoring Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Brownout Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Power On Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Power Reduction Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Idle Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Power Down Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Low Voltage EPROM Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Timer/Counters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Mode 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Mode 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Mode 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Mode 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Timer Overflow Toggle Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
UART . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Mode 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1
2
2
3
5
6
8
8
8
8
8
10
10
10
10
11
11
11
13
13
13
14
15
16
17
17
18
18
19
21
21
21
21
21
21
21
23
23
23
24
24
24
24
26
26
27
28
29
29
29
31
31
31
i
2002 Mar 07
Philips Semiconductors
Preliminary data
Low power, low price, low pin count (14 pin)
microcontroller with 1 kbyte OTP
P87LPC760
Mode 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Mode 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Mode 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Serial Port Control Register (SCON) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Baud Rates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Using Timer 1 to Generate Baud Rates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
More About UART Mode 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
More About UART Mode 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
More About UART Modes 2 and 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Multiprocessor Communications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Automatic Address Recognition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Watchdog Timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Watchdog Feed Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Watchdog Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Additional Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Software Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Dual Data Pointers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
EPROM Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
32-Byte Customer Code Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
System Configuration Bytes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Security Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ABSOLUTE MAXIMUM RATINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DC ELECTRICAL CHARACTERISTICS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
COMPARATOR ELECTRICAL CHARACTERISTICS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
AC ELECTRICAL CHARACTERISTICS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
REVISION HISTORY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
31
31
31
32
32
34
34
37
37
40
40
40
41
42
42
42
43
43
43
44
45
46
47
47
52
ii
2002 Mar 07
Philips Semiconductors
Preliminary data
Low power, low price, low pin count (14 pin)
microcontroller with 1 kbyte OTP
P87LPC760
• Four keypad interrupt inputs, plus one additional external interrupt
input
• Four interrupt priority levels
• Watchdog timer with separate on-chip oscillator, requiring no
external components. The watchdog timeout time is selectable
from 8 values
• Active low reset. On-chip power-on reset allows operation with no
external reset components
• Low voltage reset. One of two preset low voltage levels may be
selected to allow a graceful system shutdown when power fails.
May optionally be configured as an interrupt
GENERAL DESCRIPTION
The P87LPC760 is a 14-pin single-chip microcontroller designed for
low pin count applications demanding high-integration, low cost
solutions over a wide range of performance requirements. A
member of the Philips low pin count family, the P87LPC760 offers
programmable oscillator configurations for high and low speed
crystals or RC operation, wide operating voltage range,
programmable port output configurations, selectable Schmitt trigger
inputs, LED drive outputs, and a built-in watchdog timer. The
P87LPC760 is based on an accelerated 80C51 processor
architecture that executes instructions at twice the rate of standard
80C51 devices.
• Oscillator Fail Detect. The watchdog timer has a separate fully
on-chip oscillator, allowing it to perform an oscillator fail detect
function
• Configurable on-chip oscillator with frequency range and RC
oscillator options (selected by user programmed EPROM bits).
The RC oscillator option allows operation with no external
oscillator components
• Programmable port output configuration options:
quasi-bidirectional, open drain, push-pull, input-only
• Selectable Schmitt trigger port inputs
FEATURES
• LED drive capability (20 mA) on all port pins
• An accelerated 80C51 CPU provides instruction cycle times of
300–600 ns for all instructions except multiply and divide when
executing at 20 MHz. Execution at up to 20 MHz when
• Controlled slew rate port outputs to reduce EMI. Outputs have
approximately 10 ns minimum ramp times
V
DD
= 4.5 V to 6.0 V, 10 MHz when V = 2.7 V to 6.0 V
DD
• Nine I/O pins minimum. Up to 12 I/O pins using on-chip oscillator
• 2.7 V to 6.0 V operating range for digital functions
• 1 kbyte EPROM code memory
and reset options
• Only power and ground connections are required to operate the
P87LPC760 when fully on-chip oscillator and reset options are
selected
• 128 byte RAM data memory
• 32 byte customer code EPROM allows serialization of devices,
• Serial EPROM programming allows simple in-circuit production
coding. Two EPROM security bits prevent reading of sensitive
application programs
storage of setup parameters, etc
• Two 16-bit counter/timers. One timer may be configured to toggle
a port output upon timer overflow
• Idle and Power Down reduced power modes. Improved wakeup
from Power Down mode (a low interrupt input starts execution).
Typical Power Down current is 1 mA
• One analog comparator
• Full duplex UART
• 14-pin TSSOP and 14-pin DIP packages
2
• I C communication port
ORDERING INFORMATION
Part Number
Temperature Range °C and Package
Frequency
Drawing Number
P87LPC760BDH
0 to +70, plastic thin shrink small outline pack-
age; 14 leads; body width 4.4 mm
20 MHz (5 V), 10 MHz (3 V)
SOT402-1
P87LPC760BN
0 to +70, plastic dual in-line package; 14 leads
(300 mil)
20 MHz (5 V), 10 MHz (3 V)
SOT27-1
1
2002 Mar 07
Philips Semiconductors
Preliminary data
Low power, low price, low pin count (14 pin)
microcontroller with 1 kbyte OTP
P87LPC760
PIN CONFIGURATION, 14-PIN TSSOP AND 14-PIN DIP PACKAGES
1
2
3
4
5
6
7
14
13
12
P0.3/CIN1B
P0.4/CIN1A
P0.5/CMPREF
P1.7
RST/P1.5
V
SS
11
10
9
V
X1/P2.1
X2/CLKOUT/P2.0
SDA/INT0/P1.3
SCL/T0/P1.2
DD
P0.6/CMP1
P1.0/TxD
P1.1/RxD
8
SU01527
LOGIC SYMBOL
V
V
SS
DD
CIN1B
CIN1A
TxD
RxD
CMPREF
CMP1
T0/SCL
INT0/SDA
RST
CLKOUT/X2
X1
SU01528
2
2002 Mar 07
Philips Semiconductors
Preliminary data
Low power, low price, low pin count (14 pin)
microcontroller with 1 kbyte OTP
P87LPC760
BLOCK DIAGRAM
ACCELERATED
80C51 CPU
INTERNAL BUS
UART
1 KBYTE
CODE EPROM
2
I C
128 BYTE
DATA RAM
TIMER 0, 1
PORT 2
CONFIGURABLE I/OS
PORT 1
CONFIGURABLE I/OS
WATCHDOG TIMER
AND OSCILLATOR
PORT 0
CONFIGURABLE I/OS
ANALOG
COMPARATOR
KEYPAD
INTERRUPT
POWER MONITOR
(POWER-ON RESET,
BROWNOUT RESET)
ON-CHIP
RC
OSCILLATOR
CONFIGURABLE
OSCILLATOR
CRYSTAL OR
RESONATOR
SU01529
3
2002 Mar 07
Philips Semiconductors
Preliminary data
Low power, low price, low pin count (14 pin)
microcontroller with 1 kbyte OTP
P87LPC760
FFFFh
FFFFh
UNUSED SPACE
FD01h
FD00h
UNUSED CODE
MEMORY SPACE
CONFIGURATION BYTES
UCFG1, UCFG2
(ACCESSIBLE VIA MOVX)
FCFFh
32-BYTE CUSTOMER
CODE SPACE
(ACCESSIBLE VIA MOVC)
FCE0h
FFh
SPECIAL FUNCTION
UNUSED CODE
MEMORY SPACE
REGISTERS
(ONLY DIRECTLY
ADDRESSABLE)
UNUSED SPACE
0400h
03FFh
80h
7Fh
128 BYTES ON-CHIP DATA
MEMORY
(DIRECTLY AND
INDIRECTLY
ADDRESSABLE)
1 KBYTE ON-CHIP
CODE MEMORY
16-BIT ADDRESSABLE BYTES
INTERRUPT VECTORS
00h
0000h
0000h
ON-CHIP CODE
MEMORY SPACE
ON-CHIP DATA
MEMORY SPACE
EXTERNAL DATA
MEMORY SPACE
1
SU01530
1. The P87LPC760 does not support access to external data memory. However, the User Configuration Bytes are accessed via the MOVX
instruction as if they were in external data memory.
Figure 1. P87LPC760 Program and Data Memory Map
4
2002 Mar 07
Philips Semiconductors
Preliminary data
Low power, low price, low pin count (14 pin)
microcontroller with 1 kbyte OTP
P87LPC760
PIN DESCRIPTIONS
MNEMONIC
P0.3–P0.6
PIN NO.
TYPE
NAME AND FUNCTION
10, 12–14
I/O
Port 0: Port 0 is an 4-bit I/O port with a user-configurable output type. Port 0 latches are
configured in the quasi-bidirectional mode and have either ones or zeros written to them
during reset, as determined by the PRHI bit in the UCFG1 configuration byte. The operation
of port 0 pins as inputs and outputs depends upon the port configuration selected. Each port
pin is configured independently. Refer to the section on I/O port configuration and the DC
Electrical Characteristics for details.
The Keyboard Interrupt feature operates with port 0 pins.
Port 0 also provides various special functions as described below.
14
13
12
10
I
I
P0.3
P0.4
P0.5
P0.6
CIN1B
CIN1A
CMPREF
CMP1
Comparator 1 positive input B.
Comparator 1 positive input A
Comparator reference (negative) input.
Comparator 1 output
I
O
I/O
P1.0–P1.3
P1.5, P1.7
1–2
6–9
Port 1: Port 1 is an 6-bit I/O port with a user-configurable output type, except for three pins
as noted below. Port 1 latches are configured in the quasi-bidirectional mode and have ei-
ther ones or zeros written to them during reset, as determined by the PRHI bit in the UCFG1
configuration byte. The operation of the configurable port 1 pins as inputs and outputs de-
pends upon the port configuration selected. Each of the configurable port pins are pro-
grammed independently. Refer to the section on I/O port configuration and the DC Electrical
Characteristics for details.
Port 1 also provides various special functions as described below.
9
8
7
O
I
P1.0
P1.1
P1.2
TxD
RxD
Transmitter output for the serial port.
Receiver input for the serial port.
I/O
I/O
T0
Timer/counter 0 external count input or overflow output.
2
SCL
I C serial clock input/output. When configured as an output,
2
P1.2 is open drain, in order to conform to I C specifications.
6
2
I
P1.3
P1.5
INT0
SDA
External interrupt 0 input.
2
I/O
I C serial data input/output. When configured as an output, P1.3
2
is open drain, in order to conform to I C specifications.
I
RST
External Reset input (if selected via EPROM configuration). A
low on this pin resets the microcontroller, causing I/O ports and
peripherals to take on their default states, and the processor
begins execution at address 0. When used as a port pin, P1.5 is
a Schmitt trigger input only.
P2.0–P2.1
4, 5
I/O
Port 2: Port 2 is a 2-bit I/O port with a user-configurable output type. Port 2 latches are con-
figured in the quasi-bidirectional mode and have either ones or zeros written to them during
reset, as determined by the PRHI bit in the UCFG1 configuration byte. The operation of port
2 pins as inputs and outputs depends upon the port configuration selected. Each port pin is
configured independently. Refer to the section on I/O port configuration and the DC Electri-
cal Characteristics for details.
Port 2 also provides various special functions as described below.
5
4
O
I
P2.0
X2
Output from the oscillator amplifier (when a crystal oscillator
option is selected via the EPROM configuration).
CLKOUT
CPU clock divided by 6 clock output when enabled via SFR bit
and in conjunction with internal RC oscillator or external clock
input.
P2.1
X1
Input to the oscillator circuit and internal clock generator circuits
(when selected via the EPROM configuration).
V
V
3
I
I
Ground: 0 V reference.
SS
11
Power Supply: This is the power supply voltage for normal operation as well as Idle and
Power Down modes.
DD
5
2002 Mar 07
Philips Semiconductors
Preliminary data
Low power, low price, low pin count (14 pin)
microcontroller with 1 kbyte OTP
P87LPC760
SPECIAL FUNCTION REGISTERS
Bit Functions and Addresses
SFR
Address
Reset
Value
Name
Description
MSB
LSB
E7
E6
E5
E4
E3
E2
E1
E0
ACC*
Accumulator
E0h
A2h
00h
1
AUXR1#
Auxiliary Function Register
KBF
F7
BOD
F6
BOI
F5
LPEP
F4
SRST
F3
0
–
DPS
F0
02h
F2
F1
B*
B register
F0h
00h
1
CMP1#
Comparator 1 control
register
ACh
–
–
CE1
CP1
CN1
OE1
CO1
CMF1 00h
DIVM#
CPU clock divide-by-M
control
95h
00h
DPTR:
DPH
Data pointer (2 bytes)
Data pointer high byte
Data pointer low byte
83h
82h
00h
00h
DPL
CF
CE
CD
0
CC
TIRUN
TIRUN
DC
CB
–
CA
–
C9
C8
2
1
SLAVEN
MASTRQ
I2CFG#*
I C configuration register
C8h/RD
C8h/WR
CT1
CT1
CT0
CT0
D8
00h
SLAVEN
MASTRQ
CLRTI
DD
–
–
DF
RDAT
CXA
RDAT
XDAT
AF
DE
ATN
IDLE
0
DB
STR
CSTR
0
DA
STP
CSTP
0
D9
2
1
MASTER
I2CON#*
I2DAT#
I C control register
D8h/RD
D8h/WR
D9h/RD
D9h/WR
DRDY
CDR
0
ARL
CARL
0
–
80h
80h
XSTR
0
XSTP
0
2
I C data register
x
x
X
x
x
x
x
AE
AD
AC
AB
ET1
EB
–
AA
–
A9
A8
IEN0*
Interrupt enable 0
Interrupt enable 1
Interrupt priority 0
A8h
E8h
EA
EWD
EE
EBO
ED
ES
ET0
E9
EX0
E8
00h
00h
00h
EF
EC
EA
–
1
IEN1#*
ETI
BF
–
EC1
BD
–
EKB
B9
EI2
B8
BE
BC
BB
PT1
PT1H
BA
–
1
1
IP0*
B8h
B7h
–
PWD
PWDH
PBO
PBOH
PS
PT0
PT0H
PX0
IP0H#
Interrupt priority 0 high
byte
–
PSH
–
PX0H 00h
FF
PTI
FE
–
FD
FC
–
FB
–
FA
–
F9
F8
1
1
IP1*
Interrupt priority 1
F8h
F7h
PC1
PKB
PI2
00h
00h
IP1H#
Interrupt priority 1 high
byte
PTIH
–
PC1H
–
–
–
PKBH
PI2H
KBI#
P0*
Keyboard Interrupt
86h
80h
90h
00h
87
–
86
CMP1
96
85
84
83
82
–
81
–
80
–
Port 0
CMPREF CIN1A CIN1B
Note 2
Note 2
97
95
RST
A5
–
94
–
93
INT0
A3
92
T0
A2
–
91
90
P1*
Port 1
(P1.7)
A7
–
RxD
A1
X1
TxD
A0
X2
A6
A4
–
P2*
Port 2
A0h
84h
–
–
–
Note 2
(P0M1.6) (P0M1.5) (P0M1.4) (P0M1.3)
(P0M2.6) (P0M2.5) (P0M2.4) (P0M2.3)
P0M1#
Port 0 output mode 1
00h
–
–
–
–
–
–
P0M2#
P1M1#
P1M2#
P2M1#
Port 0 output mode 2
Port 1 output mode 1
Port 1 output mode 2
Port 2 output mode 1
85h
91h
92h
A4h
00h
–
–
–
1
(P1M1.7)
(P1M2.7)
(P1M1.1) (P1M1.0)
(P1M2.1) (P1M2.0)
(P2M1.1) (P2M1.0)
–
–
–
–
–
00h
–
–
–
–
1
–
00h
00h
P2S
P1S
P0S
ENCLK
T0OE
6
2002 Mar 07
Philips Semiconductors
Preliminary data
Low power, low price, low pin count (14 pin)
microcontroller with 1 kbyte OTP
P87LPC760
Bit Functions and Addresses
SFR
Address
Reset
Value
Name
Description
MSB
LSB
1
(P2M2.1) (P2M2.0)
P2M2#
PCON
Port 2 output mode 2
Power control register
A5h
87h
–
–
–
–
–
–
00h
SMOD1 SMOD0
BOF
D5
POF
D4
GF1
D3
GF0
D2
PD
D1
F1
IDL
D0
P
Note 3
D7
CY
D6
AC
PSW*
Program status word
D0h
F6h
F0
RS1
RS0
OV
00h
00h
PT0AD#
Port 0 digital input disable
9F
9E
9D
9C
9B
9A
99
TI
98
RI
SCON*
SBUF
Serial port control
98h
99h
SM0
SM1
SM2
REN
TB8
RB8
00h
Serial port data buffer
register
XXh
SADDR#
Serial port address
register
A9h
00h
SADEN#
SP
Serial port address enable
Stack pointer
B9h
81h
00h
07h
8F
8E
8D
8C
8B
–
8A
–
89
88
TCON*
TH0
Timer 0 and 1 control
Timer 0 high byte
Timer 1 high byte
Timer 0 low byte
88h
8Ch
8Dh
8Ah
8Bh
89h
TF1
TR1
TF0
TR0
IE0
IT0
00h
00h
00h
00h
00h
00h
TH1
TL0
TL1
Timer 1 low byte
TMOD
Timer 0 and 1 mode
–
–
–
–
M1
M0
GATE
C/T
M1
M0
WDCON# Watchdog control register
A7h
A6h
WDOVF WDRUN WDCLK WDS2
WDS1
WDS0 Note 4
WDRST#
Watchdog reset register
XXh
NOTES:
* SFRs are bit addressable.
# SFRs are modified from or added to the 80C51 SFRs.
1. Unimplemented bits in SFRs are X (unknown) at all times. Ones should not be written to these bits since they may be used for other
purposes in future derivatives. The reset value shown in the table for these bits is 0.
2. I/O port values at reset are determined by the PRHI bit in the UCFG1 configuration byte.
3. The PCON reset value is x x BOF POF–0 0 0 0b. The BOF and POF flags are not affected by reset. The POF flag is set by hardware upon
power up. The BOF flag is set by the occurrence of a brownout reset/interrupt and upon power up.
4. The WDCON reset value is xx11 0000b for a Watchdog reset, xx01 0000b for all other reset causes if the watchdog is enabled, and xx00
0000b for all other reset causes if the watchdog is disabled.
7
2002 Mar 07
Philips Semiconductors
Preliminary data
Low power, low price, low pin count (14 pin)
microcontroller with 1 kbyte OTP
P87LPC760
Port 0. Setting the corresponding bit in PT0AD disables that pin’s
digital input. Port bits that have their digital inputs disabled will be
read as 0 by any instruction that accesses the port.
FUNCTIONAL DESCRIPTION
Details of P87LPC760 functions will be described in the following
sections.
Analog Comparators
Enhanced CPU
An analog comparator is provided on the P87LPC760. Input and
output options allow use of the comparator in a number of different
configurations. Comparator operation is such that the output is a
logical one (which may be read in a register and/or routed to a pin)
when the positive input (one of two selectable pins) is greater than
the negative input (selectable from a pin or an internal reference
voltage). Otherwise the output is a zero. The comparator may be
configured to cause an interrupt when the output value changes.
The P87LPC760 uses an enhanced 80C51 CPU which runs at twice
the speed of standard 80C51 devices. This means that the
performance of the P87LPC760 running at 5 MHz is exactly the
same as that of a standard 80C51 running at 10 MHz. A machine
cycle consists of 6 oscillator cycles, and most instructions execute in
6 or 12 clocks. A user configurable option allows restoring standard
80C51 execution timing. In that case, a machine cycle becomes 12
oscillator cycles.
Comparator Configuration
In the following sections, the term “CPU clock” is used to refer to the
clock that controls internal instruction execution. This may
sometimes be different from the externally applied clock, as in the
case where the part is configured for standard 80C51 timing by
means of the CLKR configuration bit or in the case where the clock
is divided down via the setting of the DIVM register. These features
are described in the Oscillator section.
The comparator has a control register, CMP1. The control register is
shown in Figure 2.
The overall connections to the comparator are shown in Figure 3.
There are eight possible configurations for the comparator, as
determined by the control bits in the CMP1 register: CP1, CN1, and
OE1. These configurations are shown in Figure 4. The comparator
functions down to a V of 3.0V.
DD
Analog Functions
When the comparator is first enabled, the comparator output and
interrupt flag are not guaranteed to be stable for 10 microseconds.
The comparator interrupt should not be enabled during that time,
and the comparator interrupt flag must be cleared before the
interrupt is enabled in order to prevent an immediate interrupt
service.
The P87LPC760 incorporates one Analog Comparator. In order to
give the best analog function performance and to minimize power
consumption, pins that are actually being used for analog functions
must have the digital outputs and the digital inputs disabled.
Digital outputs are disabled by putting the port output into the Input
Only (high impedance) mode as described in the I/O Ports section.
Digital inputs on port 0 may be disabled through the use of the
PT0AD register. Each bit in this register corresponds to one pin of
CMP1
Address: ACh
Reset Value: 00h
Not Bit Addressable
7
6
5
4
3
2
1
0
—
—
CE1
CP1
CN1
OE1
CO1
CMF1
BIT
SYMBOL
FUNCTION
Reserved for future use. Should not be set to 1 by user programs.
CMP1.7, 6
CMP1.5
—
CE1
Comparator enable. When set by software, the corresponding comparator function is enabled.
Comparator output is stable 10 microseconds after CE1 is first set.
CMP1.4
CMP1.3
CP1
CN1
Comparator positive input select. When 0, CIN1A is selected as the positive comparator input. When
1, CIN1B is selected as the positive comparator input.
Comparator negative input select. When 0, the comparator reference pin CMPREF is selected as
the negative comparator input. When 1, the internal comparator reference V is selected as the
ref
negative comparator input.
CMP1.2
CMP1.1
CMP1.0
OE1
CO1
Output enable. When 1, the comparator output is connected to the CMP1 pin if the comparator is
enabled (CE1 = 1). This output is asynchronous to the CPU clock.
Comparator output, synchronized to the CPU clock to allow reading by software. Cleared when the
comparator is disabled (CE1 = 0).
CMF1
Comparator interrupt flag. This bit is set by hardware whenever the comparator output CO1 changes
state. This bit will cause a hardware interrupt if enabled and of sufficient priority. Cleared by
software and when the comparator is disabled (CE1 = 0).
SU01531
Figure 2. Comparator Control Register (CMP1)
8
2002 Mar 07
Philips Semiconductors
Preliminary data
Low power, low price, low pin count (14 pin)
microcontroller with 1 kbyte OTP
P87LPC760
COMPARATOR 1
CP1
(P0.4) CIN1A
+
(P0.3) CIN1B
CO1
CMP1 (P0.6)
(P0.5) CMPREF
–
OE1
V
ref
CN1
CHANGE DETECT
CMF1
INTERRUPT
SU01532
Figure 3. Comparator Input and Output Connections
CP1, CN1, OE1 = 0 0 0
CP1, CN1, OE1 = 0 0 1
+
–
CIN1A
CMPREF
CO1
+
CIN1A
CO1
CMP1
–
CMPREF
CP1, CN1, OE1 = 0 1 0
CP1, CN1, OE1 = 0 1 1
+
+
CIN1A
Vref (1.23V)
CIN1A
CO1
CMP1
CO1
V
(1.23V)
–
ref
–
CP1, CN1, OE1 = 1 0 0
CP1, CN1, OE1 = 1 0 1
+
–
+
CIN1B
CIN1B
CO1
CMP1
CO1
–
CMPREF
CMPREF
CP1, CN1, OE1 = 1 1 0
CP1, CN1, OE1 = 1 1 1
+
–
+
CIN1B
CIN1B
CO1
CMP1
CO1
V
(1.23V)
V
(1.23V)
ref
ref
–
SU01533
Figure 4. Comparator Configurations
9
2002 Mar 07
Philips Semiconductors
Preliminary data
Low power, low price, low pin count (14 pin)
microcontroller with 1 kbyte OTP
P87LPC760
Internal Reference Voltage
wake up the processor. If the comparator output to a pin is enabled,
the pin should be configured in the push-pull mode in order to obtain
fast switching times while in power down mode. The reason is that
with the oscillator stopped, the temporary strong pull-up that
normally occurs during switching on a quasi-bidirectional port pin
does not take place.
An internal reference voltage generator may supply a default
reference when a single comparator input pin is used. The value of
the internal reference voltage, referred to as V , is 1.23 V ±10%.
ref
Comparator Interrupt
The comparator has an interrupt flag CMF1 contained in its
configuration register. This flag is set whenever the comparator
output changes state. The flag may be polled by software or may be
used to generate an interrupt. The interrupt will be generated when
the corresponding enable bit EC1 in the IEN1 register is set and the
interrupt system is enabled via the EA bit in the IEN0 register.
The comparator consumes power in Power Down and Idle modes,
as well as in the normal operating mode. This fact should be taken
into account when system power consumption is an issue.
Comparator Configuration Example
The code shown in Figure 5 is an example of initializing the
comparator. If comparator 1 is configured to use the CIN1A and
CMPREF inputs, outputs the comparator result to the CMP1 pin,
and generates an interrupt when the comparator output changes.
Comparators and Power Reduction Modes
The comparator may remain enabled when Power Down or Idle
mode is activated. The comparator will continue to function in the
power reduction mode. If the comparator interrupt is enabled, a
change of the comparator output state will generate an interrupt and
The interrupt routine used for the comparator must clear the
interrupt flag (CMF1 in this case) before returning.
CmpInit:
mov
PT0AD,#30h
; Disable digital inputs on pins that are used
for analog functions: CIN1A, CMPREF.
; Disable digital outputs on pins that are used
for analog functions: CIN1A, CMPREF.
; Turn on comparator 1 and set up for:
;
anl
orl
mov
P0M2,#0cfh
P0M1,#30h
CMP1,#24h
;
;
;
;
– Positive input on CIN1A.
– Negative input from CMPREF pin.
– Output to CMP1 pin enabled.
call
delay10us
; The comparator has to start up for at
least 10 microseconds before use.
;
anl
setb
CMP1,#0feh
EC1
; Clear comparator 1 interrupt flag.
; Enable the comparator 1 interrupt. The
;
priority is left at the current value.
setb
ret
EA
; Enable the interrupt system (if needed).
; Return to caller.
SU01189
Figure 5. Example of comparator initialization code
10
2002 Mar 07
Philips Semiconductors
Preliminary data
Low power, low price, low pin count (14 pin)
microcontroller with 1 kbyte OTP
P87LPC760
2
“stuck high” may mean a faulty device, or that noise induced onto
the I C bus caused all masters to withdraw from I C arbitration.
I C Serial Interface
2
2
2
The I C bus uses two wires (SDA and SCL) to transfer information
between devices connected to the bus. The main bus features are:
2
The first five of these times are 4.7 ms (see I C specification) and
are covered by the low order three bits of timer I. Timer I is clocked
by the P87LPC760 CPU clock. Timer I can be pre-loaded with one
of four values to optimize timing for different oscillator frequencies.
At lower frequencies, software response time is increased and will
• Bidirectional data transfer between masters and slaves.
• Serial addressing of slaves (no added wiring).
• Acknowledgment after each transferred byte.
• Multimaster bus.
2
degrade maximum performance of the I C bus. See special function
register I2CFG description for prescale values (CT0, CT1).
• Arbitration between simultaneously transmitting masters without
The MAXIMUM SCL CHANGE time is important, but its exact span
is not critical. The complete 10 bits of timer I are used to count out
the maximum time. When I C operation is enabled, this counter is
corruption of serial data on bus.
2
2
The I C subsystem includes hardware to simplify the software
cleared by transitions on the SCL pin. The timer does not run
2
required to drive the I C bus. The hardware is a single bit interface
2
between I C frames (i.e., whenever reset or stop occurred more
which in addition to including the necessary arbitration and framing
error checks, includes clock stretching and a bus timeout timer. The
interface is synchronized to software either through polled loops or
interrupts.
recently than the last start). When this counter is running, it will carry
out after 1020 to 1023 machine cycles have elapsed since a change
2
on SCL. A carry out causes a hardware reset of the I C interface
and generates an interrupt if the Timer I interrupt is enabled. In
cases where the bus hang-up is due to a lack of software response
Refer to the application note AN422, entitled “Using the 8XC751
2
2
Microcontroller as an I C Bus Master” for additional discussion of
by this device, the reset releases SCL and allows I C operation
2
the 8xC76x I C interface and sample driver routines.
among other devices to continue.
2
2
The P87LPC760 I C implementation duplicates that of the 87C751
Timer I is enabled to run, and will reset the I C interface upon
and 87C752 except for the following details:
overflow, if the TIRUN bit in the I2CFG register is set. The Timer I
interrupt may be enabled via the ETI bit in IEN1, and its priority set
by the PTIH and PTI bits in the IP1H and IP1 registers respectively.
2
• The interrupt vector addresses for both the I C interrupt and the
Timer I interrupt.
2
2
I C Interrupts
• The I C SFR addresses (I2CON, I2CFG, I2DAT).
2
2
If I C interrupts are enabled (EA and EI2 are both set to 1), an I C
interrupt will occur whenever the ATN flag is set by a start, stop,
arbitration loss, or data ready condition (refer to the description of
2
• The location of the I C interrupt enable bit and the name of the
SFR it is located within (EI2 is Bit 0 in IEN1).
2
ATN following). In practice, it is not efficient to operate the I C
• The location of the Timer I interrupt enable bit and the name of the
2
interface in this fashion because the I C interrupt service routine
SFR it is located within (ETI is Bit 7 in IEN1).
would somehow have to distinguish between hundreds of possible
2
2
conditions. Also, since I C can operate at a fairly high rate, the
• The I C and Timer I interrupts have a settable priority.
2
software may execute faster if the code simply waits for the I C
2
Timer I is used to both control the timing of the I C bus and also to
detect a “bus locked” condition, by causing an interrupt when
nothing happens on the I C bus for an inordinately long period of
time while a transmission is in progress. If this interrupt occurs, the
program has the opportunity to attempt to correct the fault and
interface.
2
Typically, the I C interrupt should only be used to indicate a start
2
condition at an idle slave device, or a stop condition at an idle
2
master device (if it is waiting to use the I C bus). This is
2
accomplished by enabling the I C interrupt only during the
2
resume I C operation.
aforementioned conditions.
2
Six time spans are important in I C operation and are insured by timer I:
Reading I2CON
• The MINIMUM HIGH time for SCL when this device is the master.
RDAT
The data from SDA is captured into “Receive DATa”
whenever a rising edge occurs on SCL. RDAT is also
available (with seven low-order zeros) in the I2DAT
register. The difference between reading it here and
there is that reading I2DAT clears DRDY, allowing the
I C to proceed on to another bit. Typically, the first
seven bits of a received byte are read from
I2DAT, while the 8th is read here. Then I2DAT can be
written to send the Acknowledge bit and clear DRDY.
• The MINIMUM LOW time for SCL when this device is a master.
This is not very important for a single-bit hardware interface like
this one, because the SCL low time is stretched until the software
2
responds to the I C flags. The software response time normally
2
meets or exceeds the MIN LO time. In cases where the software
responds within MIN HI + MIN LO time, timer I will ensure that the
minimum time is met.
• The MINIMUM SCL HIGH TO SDA HIGH time in a stop condition.
ATN
“ATteNtion” is 1 when one or more of DRDY, ARL, STR,
or STP is 1. Thus, ATN comprises a single bit that can
2
• The MINIMUM SDA HIGH TO SDA LOW time between I C stop
2
and start conditions (4.7ms, see I C specification).
2
be tested to release the I C service routine from a “wait
loop.”
• The MINIMUM SDA LOW TO SCL LOW time in a start condition.
DRDY
“Data ReaDY” (and thus ATN) is set when a rising edge
occurs on SCL, except at idle slave. DRDY is cleared
by writing CDR = 1, or by writing or reading the I2DAT
register. The following low period on SCL is stretched
until the program responds by clearing DRDY.
2
• The MAXIMUM SCL CHANGE time while an I C frame is in
progress. A frame is in progress between a start condition and the
following stop condition. This time span serves to detect a lack of
software response on this device as well as external I C
2
problems. SCL “stuck low” indicates a faulty master or slave. SCL
11
2002 Mar 07
Philips Semiconductors
Preliminary data
Low power, low price, low pin count (14 pin)
microcontroller with 1 kbyte OTP
P87LPC760
I2CON
Address: D8h
Reset Value: 81h
1
Bit Addressable
7
6
5
4
3
2
1
0
READ
RDAT
ATN
DRDY
ARL
STR
STP
MASTER
—
CXA
IDLE
CDR
CARL
CSTR
CSTP
XSTR
XSTP
WRITE
BIT
SYMBOL
RDAT
CXA
FUNCTION
I2CON.7
Read: the most recently received data bit.
Write: clears the transmit active flag.
“
I2CON.6
“
ATN
Read: ATN = 1 if any of the flags DRDY, ARL, STR, or STP = 1.
2
2
IDLE
Write: in the I C slave mode, writing a 1 to this bit causes the I C hardware to ignore the bus until it
is needed again.
I2CON.5
DRDY
CDR
Read: Data Ready flag, set when there is a rising edge on SCL.
Write: writing a 1 to this bit clears the DRDY flag.
“
I2CON.4
ARL
Read: Arbitration Loss flag, set when arbitration is lost while in the transmit mode.
Write: writing a 1 to this bit clears the CARL flag.
“
CARL
STR
I2CON.3
Read: Start flag, set when a start condition is detected at a master or non-idle slave.
Write: writing a 1 to this bit clears the STR flag.
“
CSTR
STP
I2CON.2
Read: Stop flag, set when a stop condition is detected at a master or non-idle slave.
Write: writing a 1 to this bit clears the STP flag.
“
CSTP
MASTER
XSTR
—
I2CON.1
Read: indicates whether this device is currently as bus master.
Write: writing a 1 to this bit causes a repeated start condition to be generated.
Read: undefined.
“
I2CON.0
“
XSTP
Write: writing a 1 to this bit causes a stop condition to be generated.
SU01155
1. Due to the manner in which bit addressing is implemented in the 80C51 family, the I2CON register should never be altered by use of the
SETB, CLR, CPL, MOV (bit), or JBC instructions. This is due to the fact that read and write functions of this register are different. Testing of
I2CON bits via the JB and JNB instructions is supported.
2
Figure 6. I C Control Register (I2CON)
I2DAT
Address: D9h
Reset Value: xxh
Not Bit Addressable
7
6
5
4
3
2
1
0
READ
RDAT
—
—
—
—
—
—
—
XDAT
—
—
—
—
—
—
—
WRITE
BIT
SYMBOL
FUNCTION
I2DAT.7
RDAT
Read: the most recently received data bit, captured from SDA at every rising edge of SCL. Reading
I2DAT also clears DRDY and the Transmit Active state.
“
XDAT
–
Write: sets the data for the next transmitted bit. Writing I2DAT also clears DRDY and sets the
Transmit Active state.
I2DAT.6–0
Unused.
SU01156
2
Figure 7. I C Data Register (I2DAT)
12
2002 Mar 07
Philips Semiconductors
Preliminary data
Low power, low price, low pin count (14 pin)
microcontroller with 1 kbyte OTP
P87LPC760
Checking ATN and DRDY
bit position in the message, it may then write I2CON with one or
more of the following bits, or it may read or write the I2DAT register.
When a program detects ATN = 1, it should next check DRDY. If
DRDY = 1, then if it receives the last bit, it should capture the data
from RDAT (in I2DAT or I2CON). Next, if the next bit is to be sent, it
should be written to I2DAT. One way or another, it should clear
DRDY and then return to monitoring ATN. Note that if any of ARL,
STR, or STP is set, clearing DRDY will not release SCL to high, so
CXA
Writing a 1 to “Clear Xmit Active” clears the Transmit
Active state. (Reading the I2DAT register also does
this.)
Regarding Transmit Active
2
that the I C will not go on to the next bit. If a program detects
Transmit Active is set by writing the I2DAT register, or by writing
2
ATN = 1, and DRDY = 0, it should go on to examine ARL, STR,
and STP.
I2CON with XSTR = 1 or XSTP = 1. The I C interface will only drive
the SDA line low when Transmit Active is set, and the ARL bit will
only be set to 1 when Transmit Active is set. Transmit Active is
cleared by reading the I2DAT register, or by writing I2CON with CXA
= 1. Transmit Active is automatically cleared when ARL is 1.
ARL
“Arbitration Loss” is 1 when transmit Active was set, but
this device lost arbitration to another transmitter.
Transmit Active is cleared when ARL is 1. There are
four separate cases in which ARL is set.
2
IDLE
Writing 1 to “IDLE” causes a slave’s I C hardware to
2
ignore the I C until the next start condition (but if
1. If the program sent a 1 or repeated start, but another
device sent a 0, or a stop, so that SDA is 0 at the rising
edge of SCL. (If the other device sent a stop, the
setting of ARL will be followed shortly by STP being
set.)
MASTRQ is 1, then a stop condition will cause this
device to become a master).
CDR
Writing a 1 to “Clear Data Ready” clears DRDY.
(Reading or writing the I2DAT register also does this.)
2. If the program sent a 1, but another device sent a
repeated start, and it drove SDA low before SCL
could be driven low. (This type of ARL is always
accompanied by STR = 1.)
CARL
Writing a 1 to “Clear Arbitration Loss” clears the ARL
bit.
CSTR
CSTP
Writing a 1 to “Clear STaRt” clears the STR bit.
Writing a 1 to “Clear SToP” clears the STP bit. Note that
if one or more of DRDY, ARL, STR, or STP is 1, the low
time of SCL is stretched until the service routine
responds by clearing them.
3. In master mode, if the program sent a repeated start,
but another device sent a 1, and it drove SCL low
before this device could drive SDA low.
4. In master mode, if the program sent stop, but it could
not be sent because another device sent a 0.
XSTR
Writing 1s to “Xmit repeated STaRt” and CDR tells the
I C hardware to send a repeated start condition. This
2
2
STR
STP
“STaRt” is set to a 1 when an I C start condition is
should only be at a master. Note that XSTR need not
and should not be used to send an “initial”
detected at a non-idle slave or at a master. (STR is not
set when an idle slave becomes active due to a start
bit; the slave has nothing useful to do until the rising
edge of SCL sets DRDY.)
2
(non-repeated) start; it is sent automatically by the I C
hardware. Writing XSTR = 1 includes the effect of
writing I2DAT with XDAT = 1; it sets Transmit Active
and releases SDA to high during the SCL low time.
2
“SToP” is set to 1 when an I C stop condition is
2
After SCL goes high, the I C hardware waits for the
detected at a non-idle slave or at a master. (STP is not
set for a stop condition at an idle slave.)
suitable minimum time and then drives SDA low to
make the start condition.
MASTER “MASTER” is 1 if this device is currently a master on
2
XSTP
Writing 1s to “Xmit SToP” and CDR tells the I C
2
the I C. MASTER is set when MASTRQ is 1 and the
hardware to send a stop condition. This should only be
done at a master. If there are no more messages to
initiate, the service routine should clear the MASTRQ
bit in I2CFG to 0 before writing XSTP with 1. Writing
XSTP = 1 includes the effect of writing I2DAT with
XDAT = 0; it sets Transmit Active and drives SDA low
bus is not busy (i.e., if a start bit hasn’t been
received since reset or a “Timer I” time-out, or if a stop
has been received since the last start). MASTER is
cleared when ARL is set, or after the software writes
MASTRQ = 0 and then XSTP = 1.
2
Writing I2CON
during the SCL low time. After SCL goes high, the I C
2
hardware waits for the suitable minimum time and then
releases SDA to high to make the stop condition.
Typically, for each bit in an I C message, a service routine waits for
ATN = 1. Based on DRDY, ARL, STR, and STP, and on the current
13
2002 Mar 07
Philips Semiconductors
Preliminary data
Low power, low price, low pin count (14 pin)
microcontroller with 1 kbyte OTP
P87LPC760
I2CFG
Address: C8h
Reset Value: 00h
Bit Addressable
7
6
5
4
3
2
1
0
SLAVEN MASTRQ CLRTI TIRUN
—
—
CT1
CT0
BIT
SYMBOL
FUNCTION
2
I2CFG.7
SLAVEN
Slave Enable. Writing a 1 this bit enables the slave functions of the I C subsystem. If SLAVEN and
2
2
MASTRQ are 0, the I C hardware is disabled. This bit is cleared to 0 by reset and by an I C
time-out.
2
I2CFG.6
MASTRQ
Master Request. Writing a 1 to this bit requests mastership of the I C bus. If a transmission is in
progress when this bit is changed from 0 to 1, action is delayed until a stop condition is detected. A
2
start condition is sent and DRDY is set (thus making ATN = 1 and generating an I C interrupt).
2
When a master wishes to release mastership status of the I C, it writes a 1 to XSTP in I2CON.
2
MASTRQ is cleared by an I C time-out.
I2CFG.5
I2CFG.4
CLRTI
TIRUN
Writing a 1 to this bit clears the Timer I overflow flag. This bit position always reads as a 0.
Writing a 1 to this bit lets Timer I run; a zero stops and clears it. Together with SLAVEN, MASTRQ,
and MASTER, this bit determines operational modes as shown in Table 1.
I2CFG.2, 3
—
Reserved for future use. Should not be set to 1 by user programs.
I2CFG.1, 0 CT1, CT0
These two bits are programmed as a function of the CPU clock rate, to optimize the MIN HI and LO
time of SCL when this device is a master on the I C. The time value determined by these bits
2
controls both of these parameters, and also the timing for stop and start conditions.
SU01552
2
Figure 8. I C Configuration Register (I2CFG)
Regarding Software Response Time
max column in the table. The value for CT1 and CT0 is found in the
2
first line of the table where CPU clock max is greater than or equal
to the actual frequency.
Because the P87LPC760 can run at 20 MHz, and because the I C
interface is optimized for high-speed operation, it is quite likely that
2
an I C service routine will sometimes respond to DRDY (which is set
Table 2 also shows the machine cycle count for various settings of
CT1/CT0. This allows calculation of the actual minimum high and
low times for SCL as follows:
at a rising edge of SCL) and write I2DAT before SCL has gone low
again. If XDAT were applied directly to SDA, this situation would
produce an I C protocol violation. The programmer need not worry
2
6 * Min Time Count
CPU clock in MHz
about this possibility because XDAT is applied to SDA only when
SCL is low.
SCL min high/low time in microseconds =
For instance, at an 8 MHz frequency, with CT1/CT0 set to 1 0, the
minimum SCL high and low times will be 5.25 µs.
2
Conversely, a program that includes an I C service routine may take
2
a long time to respond to DRDY. Typically, an I C routine operates
on a flag-polling basis during a message, with interrupts from other
peripheral functions enabled. If an interrupt occurs, it will delay the
Table 2 also shows the Timer I timeout period (given in machine
cycles) for each CT1/CT0 combination. The timeout period varies
because of the way in which minimum SCL high and low times are
2
response of the I C service routine. The programmer need not worry
2
2
about this very much either, because the I C hardware stretches the
measured. When the I C interface is operating, Timer I is pre-loaded
SCL low time until the service routine responds. The only constraint
on the response is that it must not exceed the Timer I time-out.
at every SCL transition with a value dependent upon CT1/CT0. The
pre-load value is chosen such that a minimum SCL high or low time
has elapsed when Timer I reaches a count of 008 (the actual value
pre-loaded into Timer I is 8 minus the machine cycle count).
Values to be used in the CT1 and CT0 bits are shown in Table 2. To
2
allow the I C bus to run at the maximum rate for a particular
oscillator frequency, compare the actual oscillator rate to the f OSC
14
2002 Mar 07
Philips Semiconductors
Preliminary data
Low power, low price, low pin count (14 pin)
microcontroller with 1 kbyte OTP
P87LPC760
Table 1. Interaction of TIRUN with SLAVEN, MASTRQ, and MASTER
SLAVEN,
MASTRQ,
MASTER
TIRUN
OPERATING MODE
2
2
The I C interface is disabled. Timer I is cleared and does not run. This is the state assumed after a reset. If an I C
All 0
All 0
0
1
0
2
application wants to ignore the I C at certain times, it should write SLAVEN, MASTRQ, and TIRUN all to zero.
2
The I C interface is disabled.
2
The I C interface is enabled. The 3 low-order bits of Timer I run for min-time generation, but the hi-order bits do
Any or all 1
2
2
not, so that there is no checking for I C being “hung.” This configuration can be used for very slow I C operation.
2
2
The I C interface is enabled. Timer I runs during frames on the I C, and is cleared by transitions on SCL, and by
Any or all 1
1
2
Start and Stop conditions. This is the normal state for I C operation.
Table 2. CT1, CT0 Values
Min Time Count
(Machine Cycles)
CPU Clock Max
(for 100 kHz I C)
Timeout Period
(Machine Cycles)
CT1, CT0
2
1 0
0 1
0 0
1 1
7
6
5
4
8.4 MHz
7.2 MHz
6.0 MHz
4.8 MHz
1023
1022
1021
1020
of the same or lower priority. The highest priority interrupt service
cannot be interrupted by any other interrupt source. So, if two
requests of different priority levels are received simultaneously, the
request of higher priority level is serviced.
Interrupts
The P87LPC760 uses a four priority level interrupt structure. This
allows great flexibility in controlling the handling of the P87LPC760’s
many interrupt sources. The P87LPC760 supports up to 10 interrupt
sources.
If requests of the same priority level are received simultaneously, an
internal polling sequence determines which request is serviced. This
is called the arbitration ranking. Note that the arbitration ranking is
only used to resolve simultaneous requests of the same priority
level.
Each interrupt source can be individually enabled or disabled by
setting or clearing a bit in registers IEN0 or IEN1. The IEN0 register
also contains a global disable bit, EA, which disables all interrupts at
once.
Table 3 summarizes the interrupt sources, flag bits, vector
addresses, enable bits, priority bits, arbitration ranking, and whether
each interrupt may wake up the CPU from Power Down mode.
Each interrupt source can be individually programmed to one of four
priority levels by setting or clearing bits in the IP0, IP0H, IP1, and
IP1H registers. An interrupt service routine in progress can be
interrupted by a higher priority interrupt, but not by another interrupt
Table 3. Summary of Interrupts
Interrupt
Flag Bit(s)
Vector
Address
Interrupt
Enable Bit(s)
Interrupt
Priority
Arbitration
Ranking
Power Down
Wakeup
Description
External Interrupt 0
Timer 0 Interrupt
Timer 1 Interrupt
Serial Port Tx and Rx
Brownout Detect
IE0
TF0
0003h
000Bh
001Bh
0023h
002Bh
0033h
003Bh
0053h
0063h
0073h
EX0 (IEN0.0)
ET0 (IEN0.1)
ET1 (IEN0.3)
ES (IEN0.4)
EBO (IEN0.5)
EI2 (IEN1.0)
EKB (IEN1.1)
EWD (IEN0.6)
EC1 (IEN1.5)
ETI (IEN1.7)
IP0H.0, IP0.0
IP0H.1, IP0.1
IP0H.3, IP0.3
IP0H.4, IP0.4
IP0H.5, IP0.5
IP1H.0, IP1.0
IP1H.1, IP1.1
IP0H.6, IP0.6
IP1H.5, IP1.5
IP1H.7, IP1.7
1 (highest)
Yes
No
4
TF1
8
No
TI & RI
BOF
ATN
9
No
2
Yes
No
2
I C Interrupt
5
KBI Interrupt
KBF
6
Yes
Yes
Yes
No
Watchdog Timer
Comparator 1 interrupt
Timer I interrupt
WDOVF
CMF1
–
3
7
10 (lowest)
15
2002 Mar 07
Philips Semiconductors
Preliminary data
Low power, low price, low pin count (14 pin)
microcontroller with 1 kbyte OTP
P87LPC760
External Interrupt Inputs
transition-activated, the external source has to hold the request pin
high for at least one machine cycle, and then hold it low for at least
one machine cycle. This is to ensure that the transition is detected
and that interrupt request flag IE0 is set. IE0 is automatically cleared
by the CPU when the service routine is called.
The P87LPC760 has one individual interrupt input as well as the
Keyboard Interrupt function. The latter is described separately in this
section. The interrupt input are identical to those present on the
standard 80C51 microcontroller.
If the external interrupt is level-activated, the external source must
hold the request active until the requested interrupt is actually
generated. If the external interrupt is still asserted when the interrupt
service routine is completed another interrupt will be generated. It is
not necessary to clear the interrupt flag IE0 when the interrupt is
level sensitive, it simply tracks the input pin level.
The external source can be programmed to be level-activated or
transition-activated by setting or clearing bit IT0 in Register TCON. If
IT0 = 0, external interrupt 0 is triggered by a detected low at the
INT0 pin. If IT0 = 1, external interrupt 0 is edge triggered. In this
mode if successive samples of the INT0 pin show a high in one
cycle and a low in the next cycle, interrupt request flag IE0 in TCON
is set, causing an interrupt request.
If the external interrupt is enabled when the P87LPC760 is put into
Power Down or Idle mode, the interrupt will cause the processor to
wake up and resume operation. Refer to the section on Power
Reduction Modes for details.
Since the external interrupt pin is sampled once each machine
cycle, an input high or low should hold for at least 6 CPU Clocks to
ensure proper sampling. If the external interrupt is
IE0
EX0
BOF
EBO
WAKEUP
(IF IN POWER
DOWN)
KBF
EKB
EA
WDT
EWD
(FROM IEN0
REGISTER)
INTERRUPT
TO CPU
TF0
CM1
ET0
EC1
TF1
ET1
RI + TI
ES
ATN
EI2
SU01534
Figure 9. Interrupt Sources, Interrupt Enables, and Power Down Wakeup Sources
16
2002 Mar 07
Philips Semiconductors
Preliminary data
Low power, low price, low pin count (14 pin)
microcontroller with 1 kbyte OTP
P87LPC760
input and output without the need to reconfigure the port. This is
possible because when the port outputs a logic high, it is weakly
driven, allowing an external device to pull the pin low. When the pin
is pulled low, it is driven strongly and able to sink a fairly large
current. These features are somewhat similar to an open drain
output except that there are three pull-up transistors in the
quasi-bidirectional output that serve different purposes.
I/O Ports
The P87LPC760 has 3 I/O ports, port 0, port 1, and port 2. The
exact number of I/O pins available depend upon the oscillator and
reset options chosen. At least 9 pins of the P87LPC760 may be
used as I/Os when a two-pin external oscillator and an external
reset circuit are used. Up to 12 pins may be available if fully on-chip
oscillator and reset configurations are chosen.
One of these pull-ups, called the “very weak” pull-up, is turned on
whenever the port latch for the pin contains a logic 1. The very weak
pull-up sources a very small current that will pull the pin high if it is
left floating.
All but three I/O port pins on the P87LPC760 may be software
configured to one of four types on a bit-by-bit basis, as shown in
Table 4. These are: quasi-bidirectional (standard 80C51 port
outputs), push-pull, open drain, and input only. Two configuration
registers for each port choose the output type for each port pin.
A second pull-up, called the “weak” pull-up, is turned on when the
port latch for the pin contains a logic 1 and the pin itself is also at a
logic 1 level. This pull-up provides the primary source current for a
quasi-bidirectional pin that is outputting a 1. If a pin that has a logic 1
on it is pulled low by an external device, the weak pull-up turns off,
and only the very weak pull-up remains on. In order to pull the pin
low under these conditions, the external device has to sink enough
current to overpower the weak pull-up and take the voltage on the
port pin below its input threshold.
Table 4. Port Output Configuration Settings
PxM1.y
PxM2.y
Port Output Mode
Quasi-bidirectional
Push-Pull
0
0
1
1
0
1
0
1
Input Only (High Impedance)
Open Drain
The third pull-up is referred to as the “strong” pull-up. This pull-up is
used to speed up low-to-high transitions on a quasi-bidirectional port
pin when the port latch changes from a logic 0 to a logic 1. When
this occurs, the strong pull-up turns on for a brief time, two CPU
clocks, in order to pull the port pin high quickly. Then it turns off
again.
Quasi-Bidirectional Output Configuration
The default port output configuration for standard P87LPC760 I/O
ports is the quasi-bidirectional output that is common on the 80C51
and most of its derivatives. This output type can be used as both an
The quasi-bidirectional port configuration is shown in Figure 10.
V
DD
2 CPU
CLOCK DELAY
P
P
P
VERY
WEAK
STRONG
WEAK
PORT
PIN
PORT LATCH
DATA
N
INPUT
DATA
SU01159
Figure 10. Quasi-Bidirectional Output
17
2002 Mar 07
Philips Semiconductors
Preliminary data
Low power, low price, low pin count (14 pin)
microcontroller with 1 kbyte OTP
P87LPC760
The value of port pins at reset is determined by the PRHI bit in the
UCFG1 register. Ports may be configured to reset high or low as
needed for the application. When port pins are driven high at reset,
they are in quasi-bidirectional mode and therefore do not source
large amounts of current.
Open Drain Output Configuration
The open drain output configuration turns off all pull-ups and only
drives the pull-down transistor of the port driver when the port latch
contains a logic 0. To be used as a logic output, a port configured in
this manner must have an external pull-up, typically a resistor tied to
V
. The pull-down for this mode is the same as for the
DD
Every output on the P87LPC760 may potentially be used as a
20 mA sink LED drive output. However, there is a maximum total
output current for all ports which must not be exceeded.
quasi-bidirectional mode.
The open drain port configuration is shown in Figure 11.
All ports pins of the P87LPC760 have slew rate controlled outputs.
This is to limit noise generated by quickly switching output signals.
The slew rate is factory set to approximately 10 ns rise and fall
times.
Push-Pull Output Configuration
The push-pull output configuration has the same pull-down structure
as both the open drain and the quasi-bidirectional output modes, but
provides a continuous strong pull-up when the port latch contains a
logic 1. The push-pull mode may be used when more source current
is needed from a port output.
The bits in the P2M1 register that are not used to control
configuration of P2.1 and P2.0 are used for other purposes. These
bits can enable Schmitt trigger inputs on each I/O port, enable
toggle outputs from Timer 0 and Timer 1, and enable a clock output
if either the internal RC oscillator or external clock input is being
used. The last two functions are described in the Timer/Counters
and Oscillator sections respectively. The enable bits for all of these
functions are shown in Figure 13.
The push-pull port configuration is shown in Figure 12.
The three port pins that cannot be configured are P1.2, P1.3, and
P1.5. The port pins P1.2 and P1.3 are permanently configured as
open drain outputs. They may be used as inputs by writing ones to
their respective port latches. P1.5 may be used as a Schmitt trigger
input if the P87LPC760 has been configured for an internal reset
and is not using the external reset input function RST.
Each I/O port of the P87LPC760 may be selected to use TTL level
inputs or Schmitt inputs with hysteresis. A single configuration bit
determines this selection for the entire port. Port pins P1.2, P1.3,
and P1.5 always have a Schmitt trigger input.
Additionally, port pins P2.0 and P2.1 are disabled for both input and
output if one of the crystal oscillator options is chosen. Those
options are described in the Oscillator section.
PORT
PIN
N
PORT LATCH
DATA
INPUT
DATA
SU01160
Figure 11. Open Drain Output
V
DD
P
PORT
PIN
N
PORT LATCH
DATA
INPUT
DATA
SU01161
Figure 12. Push-Pull Output
18
2002 Mar 07
Philips Semiconductors
Preliminary data
Low power, low price, low pin count (14 pin)
microcontroller with 1 kbyte OTP
P87LPC760
P2M1
Address: A4h
Reset Value: 00h
Not Bit Addressable
7
6
5
4
3
2
1
0
P2S
P1S
P0S
ENCLK
–
T0OE
(P2M1.1) (P2M1.0)
BIT
SYMBOL
FUNCTION
P2M1.7
P2M1.6
P2M1.5
P2M1.4
P2S
P1S
When P2S = 1, this bit enables Schmitt trigger inputs on Port 2.
When P1S = 1, this bit enables Schmitt trigger inputs on Port 1.
When P0S = 1, this bit enables Schmitt trigger inputs on Port 0.
P0S
ENCLK
When ENCLK is set and the 87LPC760 is configured to use the on-chip RC oscillator, a clock
output is enabled on the X2 pin (P2.0). Refer to the Oscillator section for details.
P2M1.2
T0OE
—
When set, the P1.2 pin is toggled whenever Timer 0 overflows. The output frequency is therefore
one half of the Timer 0 overflow rate. Refer to the Timer/Counters section for details.
P2M1.1, P2M1.0
These bits, along with the matching bits in the P2M2 register, control the output configuration of
1
P2.1 and P2.0 respectively .
SU01535
1. See Table 4, Port Output Configuration Settings.
Figure 13. Port 2 Mode Register 1 (P2M1)
Due to human time scales and the mechanical delay associated with
Keyboard Interrupt (KBI)
keyswitch closures, the KBI feature will typically allow the interrupt
service routine to poll port 0 in order to determine which key was
pressed, even if the processor has to wake up from Power Down
mode. Refer to the section on Power Reduction Modes for details.
The Keyboard Interrupt function is intended primarily to allow a
single interrupt to be generated when any key is pressed on a
keyboard or keypad connected to specific pins of the P87LPC760,
as shown in Figure 14. This interrupt may be used to wake up the
CPU from Idle or Power Down modes. This feature is particularly
useful in handheld, battery powered systems that need to carefully
manage power consumption yet also need to be convenient to use.
The P87LPC760 allows any pin of port 0 to be enabled to cause this
interrupt. Port pins are enabled by the setting of bits in the KBI
register, as shown in Figure 15. The Keyboard Interrupt Flag (KBF)
in the AUXR1 register is set when any enabled pin is pulled low
while the KBI interrupt function is active. An interrupt will generated
if it has been enabled. Note that the KBF bit must be cleared by
software.
19
2002 Mar 07
Philips Semiconductors
Preliminary data
Low power, low price, low pin count (14 pin)
microcontroller with 1 kbyte OTP
P87LPC760
P0.6
KBI.6
P0.5
KBI.5
KBF (KBI INTERRUPT)
P0.4
KBI.4
EKB
P0.3
(FROM IEN1 REGISTER)
KBI.3
SU01536
Figure 14. Keyboard Interrupt
KBI
Address: 86h
Reset Value: 00h
Not Bit Addressable
7
6
5
4
3
2
1
0
–
KBI.6
KBI.5
KBI.4
KBI.3
–
–
–
BIT
SYMBOL
FUNCTION
KBI.6
KBI.5
KBI.4
KBI.3
KBI.6
KBI.5
KBI.4
KBI.3
When set, enables P0.6 as a cause of a Keyboard Interrupt.
When set, enables P0.5 as a cause of a Keyboard Interrupt.
When set, enables P0.4 as a cause of a Keyboard Interrupt.
When set, enables P0.3 as a cause of a Keyboard Interrupt.
Note: the Keyboard Interrupt must be enabled in order for the settings of the KBI register to be effective. The interrupt flag
(KBF) is located at bit 7 of AUXR1.
SU01537
Figure 15. Keyboard Interrupt Register (KBI)
20
2002 Mar 07
Philips Semiconductors
Preliminary data
Low power, low price, low pin count (14 pin)
microcontroller with 1 kbyte OTP
P87LPC760
Low Frequency Oscillator Option
This option supports an external crystal in the range of 20 kHz to
100 kHz.
Oscillator
The P87LPC760 provides several user selectable oscillator options,
allowing optimization for a range of needs from high precision to
lowest possible cost. These are configured when the EPROM is
programmed. Basic oscillator types that are supported include: low,
medium, and high speed crystals, covering a range from 20 kHz to
20 MHz; ceramic resonators; and on-chip RC oscillator.
Table 5 shows capacitor values that may be used with a quartz
crystal in this mode.
Table 5. Recommended oscillator capacitors for use with the low frequency oscillator option
V
DD
= 2.7 to 4.5 V
V
DD
= 4.5 to 6.0 V
Oscillator
Frequency
Lower Limit
15 pF
Optimal Value
15 pF
Upper Limit
33 pF
Lower Limit
33 pF
Optimal Value
33 pF
Upper Limit
47 pF
20 kHz
32 kHz
100 kHz
15 pF
15 pF
33 pF
33 pF
33 pF
47 pF
15 pF
15 pF
33 pF
15 pF
15 pF
33 pF
Medium Frequency Oscillator Option
This option supports an external crystal in the range of 100 kHz to
4 MHz. Ceramic resonators are also supported in this configuration.
Table 6 shows capacitor values that may be used with a quartz
crystal in this mode.
Table 6. Recommended oscillator capacitors for use with the medium frequency oscillator option
V
DD
= 2.7 to 4.5 V
Oscillator Frequency
Lower Limit
33 pF
Optimal Value
33 pF
Upper Limit
47 pF
100 kHz
1 MHz
4 MHz
15 pF
15 pF
33 pF
15 pF
15 pF
33 pF
High Frequency Oscillator Option
This option supports an external crystal in the range of 4 to 20 MHz.
Ceramic resonators are also supported in this configuration.
Table 7 shows capacitor values that may be used with a quartz
crystal in this mode.
Table 7. Recommended oscillator capacitors for use with the high frequency oscillator option
V
DD
= 2.7 to 4.5 V
V
DD
= 4.5 to 6.0 V
Oscillator
Frequency
Lower Limit
Optimal Value
Upper Limit
Lower Limit
15 pF
Optimal Value
33 pF
Upper Limit
68 pF
4 MHz
8 MHz
15 pF
15 pF
–
33 pF
15 pF
–
47 pF
33 pF
–
15 pF
33 pF
47 pF
16 MHz
20 MHz
15 pF
15 pF
33 pF
–
–
–
15 pF
15 pF
33 pF
On-Chip RC Oscillator Option
the X2/P2.0 pin may be enabled when the external clock input is
used.
The on-chip RC oscillator option has a typical frequency of 6 MHz
and can be divided down for slower operation through the use of the
DIVM register. For on-chip oscillator tolerance see AC Electrical
Characteristics table. A clock output on the X2/P2.0 pin may be
enabled when the on-chip RC oscillator is used.
Clock Output
The P87LPC760 supports a clock output function when either the
on-chip RC oscillator or external clock input options are selected.
This allows external devices to synchronize to the P87LPC760.
When enabled, via the ENCLK bit in the P2M1 register, the clock
output appears on the X2/CLKOUT pin whenever the on-chip
oscillator is running, including in Idle mode. The frequency of the
clock output is 1/6 of the CPU clock rate. If the clock output is not
needed in Idle mode, it may be turned off prior to entering Idle,
saving additional power. The clock output may also be enabled
when the external clock input option is selected.
External Clock Input Option
In this configuration, the processor clock is input from an external
source driving the X1/P2.1 pin. The rate may be from 0 Hz up to
20 MHz when V is above 4.5 V and up to 10 MHz when V is
DD
DD
below 4.5 V. When the external clock input mode is used, the
X2/P2.0 pin may be used as a standard port pin. A clock output on
21
2002 Mar 07
Philips Semiconductors
Preliminary data
Low power, low price, low pin count (14 pin)
microcontroller with 1 kbyte OTP
P87LPC760
THE OSCILLATOR MUST BE CONFIGURED IN ONE OF
THE FOLLOWING MODES:
QUARTZ CRYSTAL OR
CERAMIC RESONATOR
– LOW FREQUENCY CRYSTAL
– MEDIUM FREQUENCY CRYSTAL
– HIGH FREQUENCY CRYSTAL
87LPC760
X1
X2
CAPACITOR VALUES MAY BE OPTIMIZED FOR
DIFFERENT OSCILLATOR FREQUENCIES (SEE TEXT)
*
A SERIES RESISTOR MAY BE REQUIRED IN ORDER TO
LIMIT CRYSTAL DRIVE LEVELS. THIS IS PARTICULARLY
IMPORTANT FOR LOW FREQUENCY CRYSTALS (SEE TEXT).
SU01538
Figure 16. Using the Crystal Oscillator
87LPC760
CMOS COMPATIBLE EXTERNAL
OSCILLATOR SIGNAL
X1
X2
THE OSCILLATOR MUST BE CONFIGURED IN
THE EXTERNAL CLOCK INPUT MODE.
A CLOCK OUTPUT MAY BE OBTAINED ON
THE X2 PIN BY SETTING THE ENCLK BIT IN
THE P2M1 REGISTER.
SU01539
Figure 17. Using an External Clock Input
22
2002 Mar 07
Philips Semiconductors
Preliminary data
Low power, low price, low pin count (14 pin)
microcontroller with 1 kbyte OTP
P87LPC760
FOSC2 (UCFG1.2)
FOSC1 (UCFG1.1)
FOSC0 (UCFG1.0)
CLOCK SELECT
EXTERNAL CLOCK INPUT
XTAL
SELECT
OSCILLATOR STARTUP TIMER
10-BIT RIPPLE COUNTER
INTERNAL RC OSCILLATOR
CLOCK
OUT
COUNT 256
CLOCK
CRYSTAL: LOW FREQUENCY
SOURCES
RESET
COUNT
COUNT 1024
CRYSTAL: MEDIUM FREQUENCY
CRYSTAL: HIGH FREQUENCY
DIVIDE-BY-M
(DIVM REGISTER)
AND
CLKR SELECT
CPU
CLOCK
POWER MONITOR RESET
POWER DOWN
÷1/÷2
CLKR
(UCFG1.3)
SU01167
Figure 18. Block Diagram of Oscillator Control
CPU Clock Modification: CLKR and DIVM
Power Monitoring Functions
For backward compatibility, the CLKR configuration bit allows setting
the P87LPC760 instruction and peripheral timing to match standard
80C51 timing by dividing the CPU clock by two. Default timing for
the P87LPC760 is 6 CPU clocks per machine cycle while standard
80C51 timing is 12 clocks per machine cycle. This division also
applies to peripheral timing, allowing 80C51 code that is oscillator
frequency and/or timer rate dependent. The CLKR bit is located in
the EPROM configuration register UCFG1, described under EPROM
Characteristics
The P87LPC760 incorporates power monitoring functions designed
to prevent incorrect operation during initial power up and power loss
or reduction during operation. This is accomplished with two
hardware functions: Power-On Detect and Brownout Detect.
Brownout Detection
The Brownout Detect function allows preventing the processor from
failing in an unpredictable manner if the power supply voltage drops
below a certain level. The default operation is for a brownout
detection to cause a processor reset, however it may alternatively
be configured to generate an interrupt by setting the BOI bit in the
AUXR1 register (AUXR1.5).
In addition to this, the CPU clock may be divided down from the
oscillator rate by a programmable divider, under program control.
This function is controlled by the DIVM register. If the DIVM register
is set to zero (the default value), the CPU will be clocked by either
the unmodified oscillator rate, or that rate divided by two, as
determined by the previously described CLKR function.
The P87LPC760 allows selection of two Brownout levels: 2.5 V or
3.8 V. When V drops below the selected voltage, the brownout
DD
detector triggers and remains active until V is returns to a level
DD
above the Brownout Detect voltage. When Brownout Detect causes
When the DIVM register is set to some value N (between 1 and
255), the CPU clock is divided by 2 * (N + 1). Clock division values
from 4 through 512 are thus possible. This feature makes it possible
to temporarily run the CPU at a lower rate, reducing power
consumption, in a manner similar to Idle mode. By dividing the clock,
the CPU can retain the ability to respond to events other than those
that can cause interrupts (i.e. events that allow exiting the Idle
mode) by executing its normal program at a lower rate. This can
allow bypassing the oscillator startup time in cases where Power
Down mode would otherwise be used. The value of DIVM may be
changed by the program at any time without interrupting code
execution.
a processor reset, that reset remains active as long as V remains
DD
below the Brownout Detect voltage. When Brownout Detect
generates an interrupt, that interrupt occurs once as V crosses
DD
from above to below the Brownout Detect voltage. For the interrupt
to be processed, the interrupt system and the BOI interrupt must
both be enabled (via the EA and EBO bits in IEN0).
When Brownout Detect is activated, the BOF flag in the PCON
register is set so that the cause of processor reset may be
determined by software. This flag will remain set until cleared by
software.
23
2002 Mar 07
Philips Semiconductors
Preliminary data
Low power, low price, low pin count (14 pin)
microcontroller with 1 kbyte OTP
P87LPC760
For correct activation of Brownout Detect, the V fall time must be
The processor can be made to exit Power Down mode via Reset or
one of the interrupt sources shown in Table 5. This will occur if the
interrupt is enabled and its priority is higher than any interrupt
currently in progress.
DD
no faster than 50 mV/µs. When V is restored, is should not rise
DD
faster than 2 mV/µs in order to insure a proper reset.
The brownout voltage (2.5 V or 3.8 V) is selected via the BOV bit in
the EPROM configuration register UCFG1. When unprogrammed
(BOV = 1), the brownout detect voltage is 2.5 V. When programmed
(BOV = 0), the brownout detect voltage is 3.8 V.
In Power Down mode, the power supply voltage may be reduced to
the RAM keep-alive voltage V
. This retains the RAM contents at
RAM
the point where Power Down mode was entered. SFR contents are
not guaranteed after V has been lowered to V , therefore it is
DD
RAM
If the Brownout Detect function is not required in an application, it
may be disabled, thus saving power. Brownout Detect is disabled by
setting the control bit BOD in the AUXR1 register (AUXR1.6).
recommended to wake up the processor via Reset in this case. V
DD
must be raised to within the operating range before the Power Down
mode is exited. Since the watchdog timer has a separate oscillator, it
may reset the processor upon overflow if it is running during Power
Down.
Power On Detection
The Power On Detect has a function similar to the Brownout Detect,
but is designed to work as power comes up initially, before the
power supply voltage reaches a level where Brownout Detect can
work. When this feature is activated, the POF flag in the PCON
register is set to indicate an initial power up condition. The POF flag
will remain set until cleared by software.
Note that if the Brownout Detect reset is enabled, the processor will
be put into reset as soon as V drops below the brownout voltage.
DD
If Brownout Detect is configured as an interrupt and is enabled, it will
wake up the processor from Power Down mode when V drops
DD
below the brownout voltage.
Power Reduction Modes
The P87LPC760 supports Idle and Power Down modes of power
reduction.
When the processor wakes up from Power Down mode, it will start
the oscillator immediately and begin execution when the oscillator is
stable. Oscillator stability is determined by counting 1024 CPU
clocks after start-up when one of the crystal oscillator configurations
is used, or 256 clocks after start-up for the internal RC or external
clock input configurations.
Idle Mode
The Idle mode leaves peripherals running in order to allow them to
activate the processor when an interrupt is generated. Any enabled
interrupt source or Reset may terminate Idle mode. Idle mode is
entered by setting the IDL bit in the PCON register (see Figure 19).
Some chip functions continue to operate and draw power during
Power Down mode, increasing the total power used during Power
Down. These include the Brownout Detect, Watchdog Timer, and
Comparator.
Power Down Mode
The Power Down mode stops the oscillator in order to absolutely
minimize power consumption. Power Down mode is entered by
setting the PD bit in the PCON register (see Figure 19).
PCON
Address: 87h
Reset Value: S 30h for a Power On reset
S 20h for a Brownout reset
Not Bit Addressable
S 00h for other reset sources
7
6
5
4
3
2
1
0
SMOD1
SMOD0
BOF
POF
GF1
GF0
PD
IDL
BIT
SYMBOL
SMOD1
SMOD0
FUNCTION
PCON.7
PCON.6
When set, this bit doubles the UART baud rate for modes 1, 2, and 3.
This bit selects the function of bit 7 of the SCON SFR. When 0, SCON.7 is the SM0 bit. When 1,
SCON.7 is the FE (Framing Error) flag.
1
PCON.5
PCON.4
BOF
POF
Brown Out Flag. Set automatically when a brownout reset or interrupt has occurred. Also set at
power on. Cleared by software. Refer to the Power Monitoring Functions section for additional
information.
Power On Flag. Set automatically when a power-on reset has occurred. Cleared by software. Refer
to the Power Monitoring Functions section for additional information.
PCON.3
PCON.2
PCON.1
GF1
GF0
PD
General purpose flag 1. May be read or written by user software, but has no effect on operation.
General purpose flag 0. May be read or written by user software, but has no effect on operation.
Power Down control bit. Setting this bit activates Power Down mode operation. Cleared when the
Power Down mode is terminated (see text).
PCON.0
IDL
Idle mode control bit. Setting this bit activates Idle mode operation. Cleared when the Idle mode is
terminated (see text).
SU01540
1. See Figure 31 for additional information.
Figure 19. Power Control Register (PCON)
24
2002 Mar 07
Philips Semiconductors
Preliminary data
Low power, low price, low pin count (14 pin)
microcontroller with 1 kbyte OTP
P87LPC760
Table 8. Sources of Wakeup from Power Down Mode
Wakeup Source
External Interrupt 0
Keyboard Interrupt
Conditions
The interrupt must be enabled.
The keyboard interrupt feature must be enabled and properly set up. The corresponding interrupt must be
enabled.
Comparator 1
The comparator must be enabled and properly set up. The corresponding interrupt must be enabled.
The watchdog timer must be enabled via the WDTE bit in the UCFG1 EPROM configuration byte.
Watchdog Timer Reset
Watchdog Timer Interrupt
The WDTE bit in the UCFG1 EPROM configuration byte must not be set. The corresponding interrupt must
be enabled.
Brownout Detect Reset
Brownout Detect Interrupt
Reset Input
The BOD bit in AUXR1 must not be set (brownout detect not disabled). The BOI bit in AUXR1 must not be
set (brownout interrupt disabled).
The BOD bit in AUXR1 must not be set (brownout detect not disabled). The BOI bit in AUXR1 must be set
(brownout interrupt enabled). The corresponding interrupt must be enabled.
The external reset input must be enabled.
25
2002 Mar 07
Philips Semiconductors
Preliminary data
Low power, low price, low pin count (14 pin)
microcontroller with 1 kbyte OTP
P87LPC760
Low Voltage EPROM Operation
The EPROM array contains some analog circuits that are not
save external components and to be able to use pin P1.5 as a
general-purpose input pin.
required when V is less than 4 V, but are required for a V
DD
DD
The P87LPC760 can additionally be configured to use P1.5 as an
external active-low reset pin RST by programming the RPD bit in the
User Configuration Register UCFG1 to 0. The internal reset is still
active on power-up of the device. While the signal on the RST pin is
low, the P87LPC760 is held in reset until the signal goes high.
greater than 4 V. The LPEP bit (AUXR.4), when set by software, will
power down these analog circuits resulting in a reduced supply
current. LPEP is cleared only by power-on reset, so it may be set
ONLY for applications that always operate with V less than 4 V.
DD
Reset
The watchdog timer on the P87LPC760 can act as an oscillator fail
detect because it uses an independent, fully on-chip oscillator.
The P87LPC760 has an integrated power-on reset circuit which
always provides a reset when power is initially applied to the device.
It is recommended to use the internal reset whenever possible to
UCFG1 is described in the System Configuration Bytes section of
this datasheet.
UCFG1.RPD = 1 (default)
UCFG1.RPD = 0
87LPC760
87LPC760
P1.5
RST
Pin is used as
digital input pin
Pin is used as
active-low reset pin
Internal power-on
Reset active
Internal power-on
Reset active
SU01541
Figure 20. Using pin P1.5 as general purpose input pin or as low-active reset pin
RPD (UCFG1.6)
RST/V PIN
PP
WDTE (UCFG1.7)
S
R
WDT
MODULE
Q
CHIP RESET
SOFTWARE RESET
SRST (AUXR1.3)
RESET
TIMING
POWER MONITOR
RESET
CPU
CLOCK
SU01170
Figure 21. Block Diagram Showing Reset Sources
26
2002 Mar 07
Philips Semiconductors
Preliminary data
Low power, low price, low pin count (14 pin)
microcontroller with 1 kbyte OTP
P87LPC760
high in one cycle and a low in the next cycle, the count is
Timer/Counters
incremented. The new count value appears in the register during the
cycle following the one in which the transition was detected. Since it
takes 2 machine cycles (12 CPU clocks) to recognize a 1-to-0
transition, the maximum count rate is 1/6 of the CPU clock
frequency. There are no restrictions on the duty cycle of the external
input signal, but to ensure that a given level is sampled at least once
before it changes, it should be held for at least one full machine
cycle.
The P87LPC760 has two general purpose counter/timers which are
upward compatible with the standard 80C51 Timer 0 and Timer 1.
Both can be configured to operate as timers or can be configured to
be an event counter (see Figure 22). An option to automatically
toggle the T0 pin upon timer overflow has been added.
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 6 CPU clock periods, the count rate is 1/6
of the CPU clock frequency. Refer to the section Enhanced CPU for
a description of the CPU clock.
The “Timer” or “Counter” function of Timer 0 is selected by control bit
C/T in the Special Function Register TMOD. In addition to the
“Timer” or “Counter” selection, Timer 0 and Timer 1 have four
operating modes, which are selected by bit-pairs (M1, M0) in TMOD.
Modes 0, 1, and 2 are the same for both Timers/Counters. Mode 3 is
different. The four operating modes are described in the following
text.
In the “Counter” function of Timer 0, the register is incremented in
response to a 1-to-0 transition at its corresponding external input
pin, T0. In this function, the external input is sampled once during
every machine cycle. When the samples of the pin state show a
TMOD
Address: 89h
Reset Value: 00h
Not Bit Addressable
7
6
5
4
3
2
1
0
–
–
M1
M0
GATE
C/T
M1
M0
T1
T0
BIT
TMOD.7, 6
TMOD.5, 4 M1, M0
SYMBOL
FUNCTION
–
Reserved. Must be written with zeros only.
Mode Select for Timer 1 (see table below).
TMOD.3
GATE
Gating control for Timer 0. When set, Timer/Counter is enabled only while the INT0 pin is high and
the TR0 control pin is set. When cleared, Timer 0 is enabled when the TR0 control bit is set.
TMOD.2
C/T
Timer or Counter Selector for Timer 0. Cleared for Timer operation (input from internal system clock.)
Set for Counter operation (input from T0 input pin).
TMOD.1, 0 M1, M0
Mode Select for Timer 0 (see table below).
M1, M0
0 0
Timer Mode
8048 Timer “TLn” serves as 5-bit prescaler.
0 1
16-bit Timer/Counter “THn” and “TLn” are cascaded; there is no prescaler.
8-bit auto-reload Timer/Counter. THn holds a value which is loaded into TLn when it overflows.
1 0
1 1
Timer 0 is a dual 8-bit Timer/Counter in this mode. TL0 is an 8-bit Timer/Counter controlled by the
standard Timer 0 control bits. TH0 is an 8-bit timer only, controlled by the Timer 1 control bits (see
text). Timer 1 in this mode is stopped.
SU01542
Figure 22. Timer/Counter Mode Control Register (TMOD)
27
2002 Mar 07
Philips Semiconductors
Preliminary data
Low power, low price, low pin count (14 pin)
microcontroller with 1 kbyte OTP
P87LPC760
Mode 0
measurements). TRn is a control bit in the Special Function Register
TCON (Figure 23). The GATE bit is in the TMOD register (TMOD.3).
Putting either Timer into Mode 0 makes it look like an 8048 Timer,
which is an 8-bit Counter with a divide-by-32 prescaler. Figures 24
and 25 show Mode 0 operation.
The 13-bit register consists of all 8 bits of THn and the lower 5 bits
of TLn. The upper 3 bits of TLn are indeterminate and should be
ignored. Setting the run flag (TRn) does not clear the registers.
In this mode, the Timer register is configured as a 13-bit register. As
the count rolls over from all 1s to all 0s, it sets the Timer interrupt
flag TFn. The count input is enabled to Timer 0 when TR0 = 1 and
either GATE = 0 or INT0 = 1. (Setting GATE = 1 allows the Timer to
be controlled by external input INT0, to facilitate pulse width
Mode 0 operation is slightly different for Timer 0 and Timer 1. See
Figures 24 and 25.
TCON
Address: 88h
Reset Value: 00h
Bit Addressable
7
6
5
4
3
2
1
0
TF1
TR1
TF0
TR0
–
–
IE0
IT0
BIT
SYMBOL
FUNCTION
TCON.7
TF1
Timer 1 overflow flag. Set by hardware on Timer/Counter overflow. Cleared by hardware when the
interrupt is processed, or by software.
TCON.6
TCON.5
TR1
TF0
Timer 1 Run control bit. Set/cleared by software to turn Timer/Counter 1 on/off.
Timer 0 overflow flag. Set by hardware on Timer/Counter overflow. Cleared by hardware when the
processor vectors to the interrupt routine, or by software.
TCON.4
TR0
–
Timer 0 Run control bit. Set/cleared by software to turn Timer/Counter 0 on/off.
Reserved (must be 0).
TCON.3, 2
TCON.1
IE0
Interrupt 0 Edge flag. Set by hardware when external interrupt 0 edge is detected. Cleared by
hardware when the interrupt is processed, or by software.
TCON.0
IT0
Interrupt 0 Type control bit. Set/cleared by software to specify falling edge/low level triggered
external interrupts.
SU01543
Figure 23. Timer/Counter Control Register (TCON)
OVERFLOW
OSC/6
OSC/12
OR
C/T = 0
TL0
(5 BITS)
TH0
(8 BITS)
TF0
INTERRUPT
T0 PIN
TR0
CONTROL
C/T = 1
TOGGLE
GATE
T0 PIN
INT0 PIN
T0OE
SU01544
Figure 24. Timer/Counter 0 in Mode 0 (13-Bit Timer/Counter)
28
2002 Mar 07
Philips Semiconductors
Preliminary data
Low power, low price, low pin count (14 pin)
microcontroller with 1 kbyte OTP
P87LPC760
OVERFLOW
OSC/6
OSC/12
OR
TL1
(5 BITS)
TH1
(8 BITS)
TF1
INTERRUPT
CONTROL
TR1
SU01553
Figure 25. Timer 1 in Mode 0 (13-Bit Timer)
Mode 1
Timer 0 in Mode 3 establishes TL0 and TH0 as two separate 8-bit
counters. The logic for Mode 3 on Timer 0 is shown in Figure 30.
TL0 uses the Timer 0 control bits: C/T, GATE, TR0, and TF0 as well
as the INT0 pin. TH0 is locked into a timer function (counting
machine cycles) and takes over the use of TR1 and TF1 from Timer
1. Thus, TH0 now controls the “Timer 1” interrupt.
Mode 1 is the same as Mode 0, except that all 16 bits of the timer
register (THn and TLn) are used. (See Figures 26 and 27)
Mode 2
Mode 2 configures the Timer register as an 8-bit Counter (TLn) with
automatic reload, as shown in Figures 28 and 29. Overflow from TLn
not only sets TFn, but also reloads TLn with the contents of THn,
which must be preset by software. The reload leaves THn
unchanged. Mode 2 operation is slightly different for Timer 0 and
Timer 1 (see Figures 28 and 29).
Mode 3 is provided for applications that require an extra 8-bit timer.
With Timer 0 in Mode 3, an P87LPC760 can look like it has three
Timer/Counters. When Timer 0 is in Mode 3, Timer 1 can be turned
on and off by switching it into and out of its own Mode 3. It can still
be used by the serial port as a baud rate generator, or in any
application not requiring an interrupt.
Mode 3
When Timer 1 is in Mode 3 it is stopped. The effect is the same as
setting TR1 = 0.
OVERFLOW
OSC/6
OSC/12
OR
C/T = 0
TL0
(8 BITS)
TH0
(8 BITS)
TF0
INTERRUPT
T0 PIN
CONTROL
C/T = 1
TR0
TOGGLE
GATE
T0 PIN
INT0 PIN
T0OE
SU01545
Figure 26. Timer/Counter 0 in Mode 1 (16-Bit Timer/Counter)
OVERFLOW
OSC/6
OSC/12
OR
TL1
(8 BITS)
TH1
(8 BITS)
TF1
INTERRUPT
CONTROL
TR1
SU01546
Figure 27. Timer 1 in Mode 1 (16-Bit Timer)
29
2002 Mar 07
Philips Semiconductors
Preliminary data
Low power, low price, low pin count (14 pin)
microcontroller with 1 kbyte OTP
P87LPC760
OSC/6
OSC/12
OR
C/T = 0
OVERFLOW
TL0
(8 BITS)
TF0
INTERRUPT
T0 PIN
CONTROL
C/T = 1
RELOAD
TR0
TOGGLE
GATE
T0 PIN
TH0
(8 BITS)
INT0 PIN
T0OE
SU01547
Figure 28. Timer/Counter 0 in Mode 2 (8-Bit Auto-Reload)
OSC/6
OSC/12
OR
OVERFLOW
TL1
(8 BITS)
TF1
INTERRUPT
CONTROL
RELOAD
TR1
TH1
(8 BITS)
SU01548
Figure 29. Timer 1 in Mode 2 (8-Bit Auto-Reload)
OSC/6
OSC/12
OR
C/T = 0
OVERFLOW
TL0
(8 BITS)
TF0
INTERRUPT
T0 PIN
CONTROL
C/T = 1
TR0
TOGGLE
GATE
T0 PIN
INT0 PIN
T0OE
TF1
OVERFLOW
TH0
(8 BITS)
OSC/6
OSC/12
OR
INTERRUPT
CONTROL
TR1
SU01549
Figure 30. Timer/Counter 0 Mode 3 (Two 8-Bit Timer/Counters)
30
2002 Mar 07
Philips Semiconductors
Preliminary data
Low power, low price, low pin count (14 pin)
microcontroller with 1 kbyte OTP
P87LPC760
Timer Overflow Toggle Output
Mode 2
Timer 0 can be configured to automatically toggle a port output
whenever a timer overflow occurs. The same device pins that is
used for the T0 count inputs are also used for the timer toggle
outputs. This function is enabled by control bit T0OE in the P2M1
register. The port outputs will be a logic 1 prior to the first timer
overflow when this mode is turned on.
11 bits are transmitted (through TxD) or received (through RxD):
start bit (logical 0), 8 data bits (LSB first), a programmable 9th data
bit, and a stop bit (logical 1). When data is transmitted, the 9th data
bit (TB8 in SCON) can be assigned the value of 0 or 1. Or, for
example, the parity bit (P, in the PSW) could be moved into TB8.
When data is received, the 9th data bit goes into RB8 in Special
Function Register SCON, while the stop bit is ignored. The baud
rate is programmable to either 1/16 or 1/32 of the CPU clock
frequency, as determined by the SMOD1 bit in PCON.
UART
The P87LPC760 includes an enhanced 80C51 UART. The baud rate
source for the UART is timer 1 for modes 1 and 3, while the rate is
fixed in modes 0 and 2. Because CPU clocking is different on the
P87LPC760 than on the standard 80C51, baud rate calculation is
somewhat different. Enhancements over the standard 80C51 UART
include Framing Error detection and automatic address recognition.
Mode 3
11 bits are transmitted (through TxD) or received (through RxD): a
start bit (logical 0), 8 data bits (LSB first), a programmable 9th data
bit, and a stop bit (logical 1). In fact, Mode 3 is the same as Mode 2
in all respects except baud rate. The baud rate in Mode 3 is variable
and is determined by the Timer 1 overflow rate.
The serial port is full duplex, meaning it can transmit and receive
simultaneously. It is also receive-buffered, meaning it can
In all four modes, transmission is initiated by any instruction that
uses SBUF as a destination register. Reception is initiated in Mode 0
by the condition RI = 0 and REN = 1. Reception is initiated in the
other modes by the incoming start bit if REN = 1
commence reception of a second byte before a previously received
byte has been read from the SBUF register. However, if the first byte
still hasn’t been read by the time reception of the second byte is
complete, the first byte will be lost. The serial port receive and
transmit registers are both accessed through Special Function
Register SBUF. Writing to SBUF loads the transmit register, and
reading SBUF accesses a physically separate receive register.
Serial Port Control Register (SCON)
The serial port control and status register is the Special Function
Register SCON, shown in Figure 31. This register contains not only
the mode selection bits, but also the 9th data bit for transmit and
receive (TB8 and RB8), and the serial port interrupt bits (TI and RI).
The serial port can be operated in 4 modes:
Mode 0
The Framing Error bit (FE) allows detection of missing stop bits in
the received data stream. The FE bit shares the bit position SCON.7
with the SM0 bit. Which bit appears in SCON at any particular time
is determined by the SMOD0 bit in the PCON register. If SMOD0 =
0, SCON.7 is the SM0 bit. If SMOD0 = 1, SCON.7 is the FE bit.
Once set, the FE bit remains set until it is cleared by software. This
allows detection of framing errors for a group of characters without
the need for monitoring it for every character individually.
Serial data enters and exits through RxD. TxD outputs the shift
clock. 8 bits are transmitted or received, LSB first. The baud rate is
fixed at 1/6 of the CPU clock frequency.
Mode 1
10 bits are transmitted (through TxD) or received (through RxD): a
start bit (logical 0), 8 data bits (LSB first), and a stop bit (logical 1).
When data is received, the stop bit is stored in RB8 in Special
Function Register SCON. The baud rate is variable and is
determined by the Timer 1 overflow rate.
31
2002 Mar 07
Philips Semiconductors
Preliminary data
Low power, low price, low pin count (14 pin)
microcontroller with 1 kbyte OTP
P87LPC760
SCON
Address: 98h
Reset Value: 00h
Bit Addressable
7
6
5
4
3
2
1
0
SM0/FE
SM1
SM2
REN
TB8
RB8
TI
RI
BIT
SYMBOL
FUNCTION
SCON.7
FE
Framing Error. This bit is set by the UART receiver when an invalid stop bit is detected. Must be
cleared by software. The SMOD0 bit in the PCON register must be 1 for this bit to be accessible.
See SM0 bit below.
SCON.7
SCON. 6
SM0
SM1
With SM1, defines the serial port mode. The SMOD0 bit in the PCON register must be 0 for this bit
to be accessible. See FE bit above.
With SM0, defines the serial port mode (see table below).
SM0, SM1 UART Mode
Baud Rate
0 0
0 1
0: shift register
1: 8-bit UART
2: 9-bit UART
3: 9-bit UART
CPU clock/6
Variable (see text)
CPU clock/32 or CPU clock/16
Variable (see text)
1 0
1 1
SCON.5
SM2
Enables the multiprocessor communication feature in Modes 2 and 3. In Mode 2 or 3, if SM2 is set
to 1, then Rl will not be activated if the received 9th data bit (RB8) is 0. In Mode 1, if SM2=1 then RI
will not be activated if a valid stop bit was not received. In Mode 0, SM2 should be 0.
SCON.4
SCON.3
SCON.2
REN
TB8
RB8
Enables serial reception. Set by software to enable reception. Clear by software to disable reception.
The 9th data bit that will be transmitted in Modes 2 and 3. Set or clear by software as desired.
In Modes 2 and 3, is the 9th data bit that was received. In Mode 1, it SM2=0, RB8 is the stop bit that
was received. In Mode 0, RB8 is not used.
SCON.1
SCON.0
TI
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
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.
SU01550
Figure 31. Serial Port Control Register (SCON)
Baud Rates
application. The Timer itself can be configured for either “timer” or
The baud rate in Mode 0 is fixed: Mode 0 Baud Rate = CPU clock/6.
The baud rate in Mode 2 depends on the value of bit SMOD1 in
Special Function Register PCON. If SMOD1 = 0 (which is the value
on reset), the baud rate is 1/32 of the CPU clock frequency. If
SMOD1 = 1, the baud rate is 1/16 of the CPU clock frequency.
“counter” operation, and in any of its 3 running modes. In the most
typical applications, it is configured for “timer” operation, in the
auto-reload mode (high nibble of TMOD = 0010b). In that case the
baud rate is given by the formula:
CPU clock frequencyń
192 (or 96 if SMOD1 + 1)
1 ) SMOD1
Mode 2 Baud Rate +
x CPU clock frequency
32
Mode 1, 3 Baud Rate +
256 * (TH1)
Using Timer 1 to Generate Baud Rates
When Timer 1 is used as the baud rate generator, the baud rates in
Modes 1 and 3 are determined by the Timer 1 overflow rate and the
value of SMOD1. The Timer 1 interrupt should be disabled in this
Tables 6 and 7 list various commonly used baud rates and how they
can be obtained using Timer 1 as the baud rate generator.
32
2002 Mar 07
Philips Semiconductors
Preliminary data
Low power, low price, low pin count (14 pin)
microcontroller with 1 kbyte OTP
P87LPC760
Table 9. Baud Rates, Timer Values, and CPU Clock Frequencies for SMOD1 = 0
Baud Rate
Timer Count
2400
0.4608
0.9216
1.3824
* 1.8432
2.3040
2.7648
3.2256
* 3.6864
4.1472
4.6080
4800
0.9216
1.8432
2.7648
* 3.6864
4.6080
5.5296
6.4512
* 7.3728
8.2944
9.2160
9600
19.2k
38.4k
57.6k
–1
–2
–3
–4
–5
–6
–7
–8
–9
–10
* 1.8432
* 3.6864
5.5296
* 3.6864
* 7.3728
* 11.0592
* 7.3728
* 14.7456
* 11.0592
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
* 7.3728
9.2160
* 14.7456
* 18.4320
* 11.0592
12.9024
* 14.7456
16.5888
* 18.4320
–
–
–
–
–
Table 10. Baud Rates, Timer Values, and CPU Clock Frequencies for SMOD1 = 1
Baud Rate
Timer Count
2400
0.2304
0.4608
0.6912
0.9216
1.1520
1.3824
1.6128
* 1.8432
2.0736
2.3040
2.5344
2.7648
2.9952
3.2256
3.4560
* 3.6864
3.9168
4.1472
4.3776
4.6080
4.8384
4800
0.4608
0.9216
1.3824
* 1.8432
2.3040
2.7648
3.2256
* 3.6864
4.1472
4.6080
5.0688
5.5296
5.9904
6.4512
6.9120
* 7.3728
7.8336
8.2944
8.7552
9.2160
9.6768
9600
0.9216
19.2 k
38.4 k
57.6 k
5.5296
115.2 k
–1
–2
* 1.8432
* 3.6864
* 11.0592
* 1.8432
2.7648
* 3.6864
* 7.3728
* 11.0592
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–3
5.5296
* 11.0592
16.5888
–4
* 3.6864
4.6080
* 7.3728
* 14.7456
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–5
9.2160
* 18.4320
–6
5.5296
* 11.0592
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–7
6.4512
12.9024
–8
* 7.3728
8.2944
* 14.7456
–9
16.5888
–10
–11
–12
–13
–14
–15
–16
–17
–18
–19
–20
–21
9.2160
* 18.4320
10.1376
* 11.0592
11.9808
12.9024
13.8240
* 14.7456
15.6672
16.5888
17.5104
* 18.4320
19.3536
–
–
–
–
–
–
–
–
–
–
–
NOTES TO TABLES 9 AND 10:
1. Tables 6 and 7 apply to UART modes 1 and 3 (variable rate modes), and show CPU clock rates in MHz for standard baud rates from 2400 to
115.2k baud.
2. Table 6 shows timer settings and CPU clock rates with the SMOD1 bit in the PCON register = 0 (the default after reset), while Table 7
reflects the SMOD1 bit = 1.
3. The tables show all potential CPU clock frequencies up to 20 MHz that may be used for baud rates from 9600 baud to 115.2 k baud. Other
CPU clock frequencies that would give only lower baud rates are not shown.
4. Table entries marked with an asterisk (*) indicate standard crystal and ceramic resonator frequencies that may be obtained from many
sources without special ordering.
33
2002 Mar 07
Philips Semiconductors
Preliminary data
Low power, low price, low pin count (14 pin)
microcontroller with 1 kbyte OTP
P87LPC760
More About UART Mode 0
More About UART Mode 1
Serial data enters and exits through RxD. TxD outputs the shift
clock. 8 bits are transmitted/received: 8 data bits (LSB first). The
baud rate is fixed at 1/6 the CPU clock frequency. Figure 32 shows
a simplified functional diagram of the serial port in Mode 0, and
associated timing.
Ten bits are transmitted (through TxD), or received (through RxD): a
start bit (0), 8 data bits (LSB first), and a stop bit (1). On receive, the
stop bit goes into RB8 in SCON. In the P87LPC760 the baud rate is
determined by the Timer 1 overflow rate. Figure 33 shows a
simplified functional diagram of the serial port in Mode 1, and
associated timings for transmit receive.
Transmission is initiated by any instruction that uses SBUF as a
destination register. The “write to SBUF” signal at S6P2 also loads a
1 into the 9th position of the transmit shift register and tells the TX
Control block to commence a transmission. The internal timing is
such that one full machine cycle will elapse between “write to SBUF”
and activation of SEND.
Transmission is initiated by any instruction that uses SBUF as a
destination register. The “write to SBUF” signal also loads a 1 into
the 9th bit position of the transmit shift register and flags the TX
Control unit that a transmission is requested. Transmission actually
commences at S1P1 of the machine cycle following the next rollover
in the divide-by-16 counter. (Thus, the bit times are synchronized to
the divide-by-16 counter, not to the “write to SBUF” signal.)
SEND enables the output of the shift register to the alternate output
function line of P1.1 and also enable SHIFT CLOCK to the alternate
output function line of P1.0. SHIFT CLOCK is low during S3, S4, and
S5 of every machine cycle, and high during S6, S1, and S2. At
S6P2 of every machine cycle in which SEND is active, the contents
of the transmit shift are shifted to the right one position.
The transmission begins with activation of SEND, which puts the
start bit at TxD. One bit time later, DATA is activated, which enables
the output bit of the transmit shift register to TxD. The first shift pulse
occurs one bit time after that.
As data bits shift out to the right, zeros come in from the left. When
the MSB of the data byte is at the output position of the shift register,
then the 1 that was initially loaded into the 9th position, is just to the
left of the MSB, and all positions to the left of that contain zeros.
This condition flags the TX Control block to do one last shift and
then deactivate SEND and set T1. Both of these actions occur at
S1P1 of the 10th machine cycle after “write to SBUF.” Reception is
initiated by the condition REN = 1 and R1 = 0. At S6P2 of the next
machine cycle, the RX Control unit writes the bits 11111110 t o the
receive shift register, and in the next clock phase activates
RECEIVE.
As data bits shift out to the right, zeros are clocked in from the left.
When the MSB of the data byte is at the output position of the shift
register, then the 1 that was initially loaded into the 9th position is
just to the left of the MSB, and all positions to the left of that contain
zeros. This condition flags the TX Control unit to do one last shift
and then deactivate SEND and set TI. This occurs at the 10th
divide-by-16 rollover after “write to SBUF.”
Reception is initiated by a detected 1-to-0 transition at RxD. For this
purpose RxD is sampled at a rate of 16 times whatever baud rate
has been established. When a transition is detected, the
divide-by-16 counter is immediately reset, and 1FFH is written into
the input shift register. Resetting the divide-by-16 counter aligns its
rollovers with the boundaries of the incoming bit times.
RECEIVE enable SHIFT CLOCK to the alternate output function line
of P1.0. SHIFT CLOCK makes transitions at S3P1 and S6P1 of
every machine cycle. At S6P2 of every machine cycle in which
RECEIVE is active, the contents of the receive shift register are
shifted to the left one position. The value that comes in from the right
is the value that was sampled at the P1.1 pin at S5P2 of the same
machine cycle.
The 16 states of the counter divide each bit time into 16ths. At the
7th, 8th, and 9th counter states of each bit time, the bit detector
samples the value of RxD. The value accepted is the value that was
seen in at least 2 of the 3 samples. This is done for noise rejection.
If the value accepted during the first bit time is not 0, the receive
circuits are reset and the unit goes back to looking for another 1-to-0
transition. This is to provide rejection of false start bits. If the start bit
proves valid, it is shifted into the input shift register, and reception of
the rest of the frame will proceed.
As data bits come in from the right, 1s shift out to the left. When the
0 that was initially loaded into the rightmost position arrives at the
leftmost position in the shift register, it flags the RX Control block to
do one last shift and load SBUF. At S1P1 of the 10th machine cycle
after the write to SCON that cleared RI, RECEIVE is cleared as RI is
set.
As data bits come in from the right, 1s shift out to the left. When the
start bit arrives at the leftmost position in the shift register (which in
mode 1 is a 9-bit register), it flags the RX Control block to do one
last shift, load SBUF and RB8, and set RI. The signal to load SBUF
and RB8, and to set RI, will be generated if, and only if, the following
conditions are met at the time the final shift pulse is generated: 1.
R1 = 0, and 2. Either SM2 = 0, or the received stop bit = 1.
If either of these two conditions is not met, the received frame is
irretrievably lost. If both conditions are met, the stop bit goes into
RB8, the 8 data bits go into SBUF, and RI is activated. At this time,
whether the above conditions are met or not, the unit goes back to
looking for a 1-to-0 transition in RxD.
34
2002 Mar 07
Philips Semiconductors
Preliminary data
Low power, low price, low pin count (14 pin)
microcontroller with 1 kbyte OTP
P87LPC760
80C51 INTERNAL BUS
WRITE
TO
SBUF
S
D
RxD
P1.1 ALT
OUTPUT
FUNCTION
SBUF
Q
CL
ZERO DETECTOR
START
SHIFT
SEND
TX CONTROL
TI
TxD
TX CLOCK
S6
P1.0 ALT
OUTPUT
FUNCTION
SERIAL PORT
INTERRUPT
SHIFT
CLOCK
RI
TX CLOCK
START
RECEIVE
SHIFT
RX CONTROL
REN
RI
1
1
1
1
1
1
1
0
RXD
P1.1 ALT
INPUT
INPUT SHIFT REGISTER
FUNCTION
LOAD
SBUF
SBUF
READ
SBUF
80C51 INTERNAL BUS
S1 ... S6 S1 ... S6 S1 ... S6 S1 ... S6 S1 ... S6 S1 ... S6 S1 ... S6 S1 ... S6 S1 ... S6 S1 ... S6 S1 ... S6 S1 ... S6 S1 ... S6
WRITE TO SBUF
SEND
SHIFT
TRANSMIT
D0
D1
D2
D3
D4
D5
D6
D7
RXD (DATA OUT)
TXD (SHIFT CLOCK)
TI
WRITE TO SCON (CLEAR RI)
RI
RECEIVE
RECEIVE
SU01178
SHIFT
RxD (DATA IN)
D0
D1
D2
D3
D4
D5
D6
D7
TxD (SHIFT CLOCK)
Figure 32. Serial Port Mode 0
35
2002 Mar 07
Philips Semiconductors
Preliminary data
Low power, low price, low pin count (14 pin)
microcontroller with 1 kbyte OTP
P87LPC760
80C51 INTERNAL BUS
TB8
S
WRITE
TO SBUF
D
TIMER 1
OVERFLOW
TxD
SBUF
Q
P1.0 ALT
OUTPUT
FUNCTION
CL
÷2
ZERO DETECTOR
SMOD1 = 0
SMOD1
= 1
START
SHIFT
DATA
SEND
TX CONTROL
TI
TX CLOCK
÷16
SERIAL PORT
INTERRUPT
÷16
RX
CLOCK
RI
LOAD SBUF
SHIFT
1-TO-0
TRANSITION
DETECTOR
RX CONTROL
START
1FFH
BIT
DETECTOR
INPUT SHIFT REGISTER
RxD
P1.1 ALT
INPUT
LOAD
SBUF
FUNCTION
SBUF
READ
SBUF
80C51 INTERNAL BUS
TX CLOCK
WRITE TO SBUF
SEND
DATA
TRANSMIT
SHIFT
TxD
START
BIT
D0
D1
D2
D3
D4
D5
D6
D7
STOP BIT
TI
RX CLOCK
RxD
START
BIT
÷ 16 RESET
D0
D1
D2
D3
D4
D5
D6
D7
STOP BIT
BIT DETECTOR SAMPLE TIMES
RECEIVE
SU01179
SHIFT
RI
Figure 33. Serial Port Mode 1
36
2002 Mar 07
Philips Semiconductors
Preliminary data
Low power, low price, low pin count (14 pin)
microcontroller with 1 kbyte OTP
P87LPC760
More About UART Modes 2 and 3
proves valid, it is shifted into the input shift register, and reception of
the rest of the frame will proceed.
Eleven bits are transmitted (through TxD), or received (through
RxD): a start bit (0), 8 data bits (LSB first), a programmable 9th data
bit, and a stop bit (1). On transmit, the 9th data bit (TB8) can be
assigned the value of 0 or 1. On receive, the 9the data bit goes into
RB8 in SCON. The baud rate is programmable to either 1/16 or 1/32
of the CPU clock frequency in Mode 2. Mode 3 may have a variable
baud rate generated from Timer 1.
As data bits come in from the right, 1s shift out to the left. When the
start bit arrives at the leftmost position in the shift register (which in
Modes 2 and 3 is a 9-bit register), it flags the RX Control block to do
one last shift, load SBUF and RB8, and set RI.
The signal to load SBUF and RB8, and to set RI, will be generated
if, and only if, the following conditions are met at the time the final
shift pulse is generated. 1. RI = 0, and 2. Either SM2 = 0, or the
received 9th data bit = 1.
Figures 34 and 35 show a functional diagram of the serial port in
Modes 2 and 3. The receive portion is exactly the same as in
Mode 1. The transmit portion differs from Mode 1 only in the 9th bit
of the transmit shift register.
If either of these conditions is not met, the received frame is
irretrievably lost, and RI is not set. If both conditions are met, the
received 9th data bit goes into RB8, and the first 8 data bits go into
SBUF. One bit time later, whether the above conditions were met
or not, the unit goes back to looking for a 1-to-0 transition at the
RxD input.
Transmission is initiated by any instruction that uses SBUF as a
destination register. The “write to SBUF” signal also loads TB8 into
the 9th bit position of the transmit shift register and flags the TX
Control unit that a transmission is requested. Transmission
commences at S1P1 of the machine cycle following the next rollover
in the divide-by-16 counter. (Thus, the bit times are synchronized to
the divide-by-16 counter, not to the “write to SBUF” signal.)
Multiprocessor Communications
UART modes 2 and 3 have a special provision for multiprocessor
communications. In these modes, 9 data bits are received or
transmitted. When data is received, the 9th bit is stored in RB8. The
UART can be programmed such that when the stop bit is received,
the serial port interrupt will be activated only if RB8 = 1. This feature
is enabled by setting bit SM2 in SCON. One way to use this feature
in multiprocessor systems is as follows:
The transmission begins with activation of SEND, which puts the
start bit at TxD. One bit time later, DATA is activated, which enables
the output bit of the transmit shift register to TxD. The first shift pulse
occurs one bit time after that. The first shift clocks a 1 (the stop bit)
into the 9th bit position of the shift register. Thereafter, only zeros
are clocked in. Thus, as data bits shift out to the right, zeros are
clocked in from the left. When TB8 is at the output position of the
shift register, then the stop bit is just to the left of TB8, and all
positions to the left of that contain zeros. This condition flags the TX
Control unit to do one last shift and then deactivate SEND and set
TI. This occurs at the 11th divide-by-16 rollover after “write to SBUF.”
When the master processor wants to transmit a block of data to one
of several slaves, it first sends out an address byte which identifies
the target slave. An address byte differs from a data byte in that the
9th bit is 1 in an address byte and 0 in a data byte. With SM2 = 1, no
slave will be interrupted by a data byte. An address byte, however,
will interrupt all slaves, so that each slave can examine the received
byte and see if it is being addressed. The addressed slave will clear
its SM2 bit and prepare to receive the data bytes that follow. The
slaves that weren’t being addressed leave their SM2 bits set and go
on about their business, ignoring the subsequent data bytes.
Reception is initiated by a detected 1-to-0 transition at RxD. For this
purpose RxD is sampled at a rate of 16 times whatever baud rate
has been established. When a transition is detected, the
divide-by-16 counter is immediately reset, and 1FFH is written to the
input shift register.
SM2 has no effect in Mode 0, and in Mode 1 can be used to check
the validity of the stop bit, although this is better done with the
Framing Error flag. In a Mode 1 reception, if SM2 = 1, the receive
interrupt will not be activated unless a valid stop bit is received.
At the 7th, 8th, and 9th counter states of each bit time, the bit
detector samples the value of R–D. The value accepted is the value
that was seen in at least 2 of the 3 samples. If the value accepted
during the first bit time is not 0, the receive circuits are reset and the
unit goes back to looking for another 1-to-0 transition. If the start bit
37
2002 Mar 07
Philips Semiconductors
Preliminary data
Low power, low price, low pin count (14 pin)
microcontroller with 1 kbyte OTP
P87LPC760
80C51 INTERNAL BUS
TB8
WRITE TO SBUF
PHASE 2 CLOCK
S
D
SBUF
Q
(1/2 f
)
TxD
OSC
CL
P1.0 ALT OUTPUT
FUNCTION
÷2
ZERO DETECTOR
SMOD1 = 0
SMOD1
= 1
STOP BIT GEN.
START
SHIFT
DATA
SEND
TX CONTROL
TX CLOCK
÷16
TI
÷16
SERIAL PORT INTERRUPT
RX
CLOCK
RI
LOAD SBUF
SHIFT
1-TO-0
TRANSITION
DETECTOR
RX CONTROL
START
1FFH
INPUT SHIFT REGISTER
BIT DETECTOR
RxD
P1.1 ALT
INPUT
LOAD
SBUF
FUNCTION
SBUF
READ
SBUF
80C51 INTERNAL BUS
TX CLOCK
WRITE TO SBUF
SEND
DATA
TRANSMIT
SHIFT
TxD
START
BIT
D0
D1
D2
D3
D4
D5
D6
D7
TB8
STOP BIT
TI
STOP BIT GEN.
RX CLOCK
RxD
START
BIT
÷ 16 RESET
D0
D1
D2
D3
D4
D5
D6
D7
RB8
STOP BIT
BIT DETECTOR SAMPLE TIMES
RECEIVE
SU01180
SHIFT
RI
Figure 34. Serial Port Mode 2
38
2002 Mar 07
Philips Semiconductors
Preliminary data
Low power, low price, low pin count (14 pin)
microcontroller with 1 kbyte OTP
P87LPC760
80C51 INTERNAL BUS
TB8
WRITE TO SBUF
S
D
TIMER 1
OVERFLOW
TxD
SBUF
Q
P1.0 ALT
OUTPUT
FUNCTION
CL
÷2
ZERO DETECTOR
SMOD1 = 0
SMOD1
= 1
START
SHIFT
DATA
SEND
TX CONTROL
TI
TX CLOCK
÷16
÷16
SERIAL PORT INTERRUPT
RX
CLOCK
RI
LOAD SBUF
SHIFT
1-TO-0
TRANSITION
DETECTOR
RX CONTROL
START
1FFH
BIT
DETECTOR
INPUT SHIFT REGISTER
RxD
P1.1 ALT
INPUT
LOAD
SBUF
FUNCTION
SBUF
READ
SBUF
80C51 INTERNAL BUS
TX CLOCK
WRITE TO SBUF
SEND
DATA
TRANSMIT
SHIFT
TxD
START
BIT
D0
D1
D2
D3
D4
D5
D6
D7
TB8
STOP BIT
TI
STOP BIT GEN.
RX CLOCK
RxD
START
BIT
÷ 16 RESET
D0
D1
D2
D3
D4
D5
D6
D7
RB8
STOP BIT
BIT DETECTOR SAMPLE TIMES
RECEIVE
SU01181
SHIFT
RI
Figure 35. Serial Port Mode 3
39
2002 Mar 07
Philips Semiconductors
Preliminary data
Low power, low price, low pin count (14 pin)
microcontroller with 1 kbyte OTP
P87LPC760
Automatic Address Recognition
Address for each slave is created by taking the logical OR of
Automatic Address Recognition is a feature which allows the UART
to recognize certain addresses in the serial bit stream by using
hardware to make the comparisons. This feature saves a great deal
of software overhead by eliminating the need for the software to
examine every serial address which passes by the serial port. This
feature is enabled by setting the SM2 bit in SCON. In the 9 bit UART
modes, mode 2 and mode 3, the Receive Interrupt flag (RI) will be
automatically set when the received byte contains either the “Given”
address or the “Broadcast” address. The 9 bit mode requires that
the 9th information bit is a 1 to indicate that the received information
is an address and not data.
SADDR and SADEN. Zeros in this result are treated as don’t-cares.
In most cases, interpreting the don’t-cares as ones, the broadcast
address will be FF hexadecimal. Upon reset SADDR and SADEN
are loaded with 0s. This produces a given address of all “don’t
cares” as well as a Broadcast address of all “don’t cares”. This
effectively disables the Automatic Addressing mode and allows the
microcontroller to use standard UART drivers which do not make
use of this feature.
Watchdog Timer
When enabled via the WDTE configuration bit, the watchdog timer is
operated from an independent, fully on-chip oscillator in order to
provide the greatest possible dependability. When the watchdog
feature is enabled, the timer must be fed regularly by software in
order to prevent it from resetting the CPU, and it cannot be turned
off. When disabled as a watchdog timer (via the WDTE bit in the
UCFG1 configuration register), it may be used as an interval timer
and may generate an interrupt. The watchdog timer is shown in
Figure 36.
Using the Automatic Address Recognition feature allows a master to
selectively communicate with one or more slaves by invoking the
Given slave address or addresses. All of the slaves may be
contacted by using the Broadcast address. Two special Function
Registers are used to define the slave’s address, SADDR, and the
address mask, SADEN. SADEN is used to define which bits in the
SADDR are to be used and which bits are “don’t care”. The SADEN
mask can be logically ANDed with the SADDR to create the “Given”
address which the master will use for addressing each of the slaves.
Use of the Given address allows multiple slaves to be recognized
while excluding others. The following examples will help to show the
versatility of this scheme:
The watchdog timeout time is selectable from one of eight values,
nominal times range from 25 milliseconds to 3.2 seconds. The
frequency tolerance of the independent watchdog RC oscillator is
±37%. The timeout selections and other control bits are shown in
Figure 35. When the watchdog function is enabled, the WDCON
register may be written once during chip initialization in order to set
the watchdog timeout time. The recommended method of initializing
the WDCON register is to first feed the watchdog, then write to
WDCON to configure the WDS2–0 bits. Using this method, the
watchdog initialization may be done any time within 10 milliseconds
after startup without a watchdog overflow occurring before the
initialization can be completed.
Slave 0 SADDR = 1100 0000
SADEN = 1111 1101
Given
= 1100 00X0
Slave 1 SADDR = 1100 0000
SADEN = 1111 1110
Given
= 1100 000X
In the above example SADDR is the same and the SADEN data is
used to differentiate between the two slaves. Slave 0 requires a 0 in
bit 0 and it ignores bit 1. Slave 1 requires a 0 in bit 1 and bit 0 is
ignored. A unique address for Slave 0 would be 1100 0010 since
slave 1 requires a 0 in bit 1. A unique address for slave 1 would be
1100 0001 since a 1 in bit 0 will exclude slave 0. Both slaves can be
selected at the same time by an address which has bit 0 = 0 (for
slave 0) and bit 1 = 0 (for slave 1). Thus, both could be addressed
with 1100 0000.
Since the watchdog timer oscillator is fully on-chip and independent
of any external oscillator circuit used by the CPU, it intrinsically
serves as an oscillator fail detection function. If the watchdog feature
is enabled and the CPU oscillator fails for any reason, the watchdog
timer will time out and reset the CPU.
When the watchdog function is enabled, the timer is deactivated
temporarily when a chip reset occurs from another source, such as
a power on reset, brownout reset, or external reset.
Watchdog Feed Sequence
In a more complex system the following could be used to select
slaves 1 and 2 while excluding slave 0:
If the watchdog timer is running, it must be fed before it times out in
order to prevent a chip reset from occurring. The watchdog feed
sequence consists of first writing the value 1Eh, then the value E1h
to the WDRST register. An example of a watchdog feed sequence is
shown below.
Slave 0 SADDR = 1100 0000
SADEN = 1111 1001
Given
= 1100 0XX0
Slave 1 SADDR = 1110 0000
SADEN = 1111 1010
WDFeed:
mov WDRST,#1eh ; First part of watchdog feed
sequence.
Given
= 1110 0X0X
mov WDRST,#0e1h ; Second part of watchdog feed
sequence.
Slave 2 SADDR = 1110 0000
SADEN = 1111 1100
The two writes to WDRST do not have to occur in consecutive
instructions. An incorrect watchdog feed sequence does not cause
any immediate response from the watchdog timer, which will still
time out at the originally scheduled time if a correct feed sequence
does not occur prior to that time.
Given
= 1110 00XX
In the above example the differentiation among the 3 slaves is in the
lower 3 address bits. Slave 0 requires that bit 0 = 0 and it can be
uniquely addressed by 1110 0110. Slave 1 requires that bit 1 = 0 and
it can be uniquely addressed by 1110 and 0101. Slave 2 requires
that bit 2 = 0 and its unique address is 1110 0011. To select Slaves 0
and 1 and exclude Slave 2 use address 1110 0100, since it is
necessary to make bit 2 = 1 to exclude slave 2. The Broadcast
After a chip reset, the user program has a limited time in which to
either feed the watchdog timer or change the timeout period. When
a low CPU clock frequency is used in the application, the number of
40
2002 Mar 07
Philips Semiconductors
Preliminary data
Low power, low price, low pin count (14 pin)
microcontroller with 1 kbyte OTP
P87LPC760
instructions that can be executed before the watchdog overflows
may be quite small.
code execution will begin immediately after that. If the processor
was in Power Down mode, the watchdog reset will start the
oscillator and code execution will resume after the oscillator is
stable.
Watchdog Reset
If a watchdog reset occurs, the internal reset is active for
approximately one microsecond. If the CPU clock was still running,
500 kHz
RC OSCILLATOR
CLOCK OUT
WDS2–0
(WDCON.2–0)
ENABLE
8 TO 1 MUX
WATCHDOG
RESET
WDCLK * WDTE
STATE CLOCK
8 MSBs
WATCHDOG
INTERRUPT
20-BIT COUNTER
CLEAR
WDTE + WDRUN
WDTE (UCFG1.7)
WATCHDOG
FEED DETECT
S
R
WDOVF
(WDCON.5)
Q
BOF (PCON.5)
POF (PCON.4)
SU01633
Figure 36. Block Diagram of the Watchdog Timer
WDCON Address: A7h
Reset Value: S 30h for a watchdog reset.
S 10h for other rest sources if the watchdog is enabled via the WDTE configuration bit.
S 00h for other reset sources if the watchdog is disabled via the WDTE configuration bit.
Not Bit Addressable
7
6
5
4
3
2
1
0
—
—
WDOVF WDRUN WDCLK WDS2
WDS1
WDS0
BIT
SYMBOL
—
FUNCTION
WDCON.7, 6
WDCON.5
Reserved for future use. Should not be set to 1 by user programs.
WDOVF
Watchdog timer overflow flag. Set when a watchdog reset or timer overflow occurs. Cleared when
the watchdog is fed.
WDCON.4
WDCON.3
WDRUN
WDCLK
Watchdog run control. The watchdog timer is started when WDRUN = 1 and stopped when
WDRUN = 0. This bit is forced to 1 (watchdog running) if the WDTE configuration bit = 1.
Watchdog clock select. The watchdog timer is clocked by CPU clock/6 when WDCLK = 1 and by
the watchdog RC oscillator when WDCLK = 0. This bit is forced to 0 (using the watchdog RC
oscillator) if the WDTE configuration bit = 1.
WDCON.2–0 WDS2–0
Watchdog rate select.
WDS2–0
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
Timeout Clocks
8,192
Minimum Time
10 ms
Nominal Time
16 ms
Maximum Time
23 ms
16,384
20 ms
32 ms
45 ms
32,768
41 ms
65 ms
90 ms
65,536
82 ms
131 ms
262 ms
524 ms
1.05 sec
2.1 sec
180 ms
360 ms
719 ms
1.44 sec
2.9 sec
131,072
262,144
524,288
1,048,576
165 ms
330 ms
660 ms
1.3 sec
SU01634
Figure 37. Watchdog Timer Control Register (WDCON)
41
2002 Mar 07
Philips Semiconductors
Preliminary data
Low power, low price, low pin count (14 pin)
microcontroller with 1 kbyte OTP
P87LPC760
Additional Features
• MOV DPTR, #data16 Load the Data Pointer with a 16-bit
The AUXR1 register contains several special purpose control bits
that relate to several chip features. AUXR1 is described in
Figure 38.
constant.
• MOVC A, @A+DPTR
• MOVX A, @DPTR
• MOVX @DPTR, A
Move code byte relative to DPTR to the
accumulator.
Software Reset
Move data byte the accumulator to data
memory relative to DPTR.
The SRST bit in AUXR1 allows software the opportunity to reset the
processor completely, as if an external reset or watchdog reset had
occurred. If a value is written to AUXR1 that contains a 1 at bit
position 3, all SFRs will be initialized and execution will resume at
program address 0000. Care should be taken when writing to
AUXR1 to avoid accidental software resets.
Move data byte from data memory
relative to DPTR to the accumulator.
Also, any instruction that reads or manipulates the DPH and DPL
registers (the upper and lower bytes of the current DPTR) will be
affected by the setting of DPS. The MOVX instructions have limited
application for the P87LPC760 since the part does not have an
external data bus. However, they may be used to access EPROM
configuration information (see EPROM Characteristics section).
Dual Data Pointers
The dual Data Pointer (DPTR) adds to the ways in which the
processor can specify the address used with certain instructions.
The DPS bit in the AUXR1 register selects one of the two Data
Pointers. The DPTR that is not currently selected is not accessible
to software unless the DPS bit is toggled.
Bit 2 of AUXR1 is permanently wired as a logic 0. This is so that the
DPS bit may be toggled (thereby switching Data Pointers) simply by
incrementing the AUXR1 register, without the possibility of
inadvertently altering other bits in the register.
Specific instructions affected by the Data Pointer selection are:
• INC
• JMP @A+DPTR
AUXR1 Address: A2h
DPTR
Increments the Data Pointer by 1.
Jump indirect relative to DPTR value.
Reset Value: 00h
Not Bit Addressable
7
6
5
4
3
2
1
0
KBF
BOD
BOI
LPEP
SRST
0
—
DPS
BIT
SYMBOL
FUNCTION
AUXR1.7
AUXR1.6
AUXR1.5
KBF
BOD
BOI
Keyboard Interrupt Flag. Set when any pin of port 0 that is enabled for the Keyboard Interrupt
function goes low. Must be cleared by software.
Brown Out Disable. When set, turns off brownout detection and saves power. See Power
Monitoring Functions section for details.
Brown Out Interrupt. When set, prevents brownout detection from causing a chip reset and allows
the brownout detect function to be used as an interrupt. See the Power Monitoring Functions
section for details.
AUXR1.4
LPEP
Low Power EPROM control bit. Allows power savings in low voltage systems. Set by software. Can
only be cleared by power-on or brownout reset. See the Power Reduction Modes section for details.
AUXR1.3
AUXR1.2
SRST
—
Software Reset. When set by software, resets the 87LPC760 as if a hardware reset occurred.
This bit contains a hard-wired 0. Allows toggling of the DPS bit by incrementing AUXR1, without
interfering with other bits in the register.
AUXR1.1
AUXR1.0
—
Reserved for future use. Should not be set to 1 by user programs.
DPS
Data Pointer Select. Chooses one of two Data Pointers for use by the program. See text for details.
SU01551
Figure 38. AUXR1 Register
42
2002 Mar 07
Philips Semiconductors
Preliminary data
Low power, low price, low pin count (14 pin)
microcontroller with 1 kbyte OTP
P87LPC760
32-Byte Customer Code Space
EPROM Characteristics
A small supplemental EPROM space is reserved for use by the
customer in order to identify code revisions, store checksums, add a
serial number to each device, or any other desired use. This area
exists in the code memory space from addresses FCE0h through
FCFFh. Code execution from this space is not supported, but it may
be read as data through the use of the MOVC instruction with the
appropriate addresses. The memory may be programmed at the
same time as the rest of the code memory and UCFG bytes are
programmed.
Programming of the EPROM on the P87LPC760 is accomplished
with a serial programming method. Commands, addresses, and data
are transmitted to and from the device on two pins after
programming mode is entered. Serial programming allows easy
implementation of In-System Programming of the P87LPC760 in an
application board. Details of In-System Programming can be found
in application note AN466.
The P87LPC760 contains three signature bytes that can be read
and used by an EPROM programming system to identify the device.
The signature bytes designate the device as an P87LPC760
manufactured by Philips. The signature bytes may be read by the
user program at addresses FC30h, FC31h and FC60h with the
MOVC instruction, using the DPTR register for addressing.
System Configuration Bytes
A number of user configurable features of the P87LPC760 must be
defined at power up and therefore cannot be set by the program
after start of execution. Those features are configured through the
use of two EPROM bytes that are programmed in the same manner
as the EPROM program space. The contents of the two
configuration bytes, UCFG1 and UCFG2, are shown in Figures 39
and 40. The values of these bytes may be read by the program
through the use of the MOVX instruction at the addresses shown in
the figure.
A special user data area is also available for access via the MOVC
instruction at addresses FCE0h through FCFFh. This “customer
code” space is programmed in the same manner as the main code
EPROM and may be used to store a serial number, manufacturing
date, or other application information.
UCFG1
Address: FD00h
Unprogrammed Value: FFh
7
6
5
4
3
2
1
0
WDTE RPD
PRHI
BOV
CLKR FOSC2 FOSC1 FOSC0
BIT
SYMBOL
FUNCTION
UCFG1.7
WDTE
Watchdog timer enable. When programmed (0), disables the watchdog timer. The timer may
still be used to generate an interrupt.
UCFG1.6
RPD
Reset pin disable. When 1 disables the reset function of pin P1.5, allowing it to be used as an
input only port pin.
UCFG1.5
UCFG1.4
PRHI
BOV
Port reset high. When 1, ports reset to a high state. When 0, ports reset to a low state.
Brownout voltage select. When 1, the brownout detect voltage is 2.5V. When 0, the brownout
detect voltage is 3.8V. This is described in the Power Monitoring Functions section.
UCFG1.3
CLKR
Clock rate select. When 0, the CPU clock rate is divided by 2. This results in machine cycles
taking 12 CPU clocks to complete as in the standard 80C51. For full backward compatibility,
this division applies to peripheral timing as well.
UCFG1.2–0 FOSC2–FSOC0
CPU oscillator type select. See Oscillator section for additional information. Combinations
other than those shown below should not be used. They are reserved for future use.
FOSC2–FOSC0
1 1 1
Oscillator Configuration
External clock input on X1 (default setting for an unprogrammed part).
Internal RC oscillator, 6 MHz. For tolerance, see AC Electrical Characteristics table.
Low frequency crystal, 20 kHz to 100 kHz.
0 1 1
0 1 0
0 0 1
Medium frequency crystal or resonator, 100 kHz to 4 MHz.
High frequency crystal or resonator, 4 MHz to 20 MHz.
SU01477
0 0 0
Figure 39. EPROM System Configuration Byte 1 (UCFG1)
43
2002 Mar 07
Philips Semiconductors
Preliminary data
Low power, low price, low pin count (14 pin)
microcontroller with 1 kbyte OTP
P87LPC760
UCFG2
Address: FD01h
Unprogrammed Value: FFh
7
6
5
4
3
2
1
0
SB2
SB1
—
—
—
—
—
—
BIT
SYMBOL
SB2, SB1
—
FUNCTION
UCFG2.7, 6
UCFG2.5–0
EPROM security bits. See table entitled, “EPROM Security Bits” for details.
Reserved for future use.
SU01186
Figure 40. EPROM System Configuration Byte 2 (UCFG2)
Security Bits
further programming of the EPROM is disabled. At that point, only
security bit 2 may still be programmed. When both security bits are
programmed, EPROM verify is also disabled.
When neither of the security bits are programmed, the code in the
EPROM can be verified. When only security bit 1 is programmed, all
Table 11. EPROM Security Bits
SB2
SB1
Protection Description
1
1
0
0
1
0
1
0
Both security bits unprogrammed. No program security features enabled. EPROM is programmable and verifiable.
Only security bit 1 programmed. Further EPROM programming is disabled. Security bit 2 may still be programmed.
Only security bit 2 programmed. This combination is not supported.
Both security bits programmed. All EPROM verification and programming are disabled.
44
2002 Mar 07
Philips Semiconductors
Preliminary data
Low power, low price, low pin count (14 pin)
microcontroller with 1 kbyte OTP
P87LPC760
ABSOLUTE MAXIMUM RATINGS
PARAMETER
RATING
UNIT
Operating temperature under bias
Storage temperature range
–55 to +125
–65 to +150
0 to +11.0
°C
°C
V
Voltage on RST/V pin to V
PP
SS
Voltage on any other pin to V
–0.5 to V +0.5V
V
SS
DD
Maximum I per I/O pin
20
mA
W
OL
Power dissipation (based on package heat transfer, not device power consumption)
1.5
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 are not implied.
2. This product includes circuitry specifically designed for the protection of its internal devices from the damaging effects of excessive static
charge. Nonetheless, it is suggested that conventional precautions be taken to avoid applying greater than the rated maximum.
3. Parameters are valid over operating temperature range unless otherwise specified. All voltages are with respect to VSS unless otherwise noted.
45
2002 Mar 07
Philips Semiconductors
Preliminary data
Low power, low price, low pin count (14 pin)
microcontroller with 1 kbyte OTP
P87LPC760
DC ELECTRICAL CHARACTERISTICS
V
= 2.7 V to 6.0 V unless otherwise specified; T
= 0 °C to +70 °C, unless otherwise specified.
DD
amb
LIMITS
SYMBOL
PARAMETER
TEST CONDITIONS
MIN
UNIT
MAX
1,2
TYP
11
5.0 V, 20 MHz
3.0 V, 10 MHz
–
–
15
4
4
2
6
2
1
1
–
–
–
–
–
–
25
7
mA
mA
mA
mA
mA
mA
µA
µA
V
I
Power supply current, operating
Power supply current, operating RC Osc.
Power supply current, Idle mode
DD
RC
11
11
5.0 V, 6 MHz
3.0 V, 6 MHz
5.0 V, 20 MHz
3.0 V, 10 MHz
–
–
I
11
–
–
11
11
–
10
4
I
ID
–
11
5.0 V
–
10
5
I
Power supply current, Power Down mode
RAM keep-alive voltage
PD
11
3.0 V
–
V
RAM
1.5
–0.5
–0.5
–0.5
–
4.0 V < V < 6.0 V
0.2 V –0.1
V
DD
DD
V
IL
Input low voltage (TTL input)
2.7 V < V < 4.0 V
0.7
V
DD
V
Negative going threshold (Schmitt input)
Input high voltage (TTL input)
Positive going threshold (Schmitt input)
Hysteresis voltage
0.3 V
V
IL1
DD
V
0.2 V +0.9
V
V
+0.5
+0.5
V
IH
DD
DD
DD
V
IH1
0.7V
V
DD
HYS
–
–
–
0.2 V
–
V
DD
5, 9
V
Output low voltage all ports
I
I
I
I
I
= 3.2 mA, V = 2.7 V
–
–
–
–
–
–
–
–
–
–
–
–
–
0.4
1.0
–
V
OL
OL
OL
OH
OH
OH
DD
5, 9
V
OL1
Output low voltage all ports
= 20 mA, V = 2.7 V
V
DD
= –20 µA, V = 2.7 V
V
V
V
–0.7
–0.7
–0.7
V
DD
DD
DD
DD
3
V
OH
Output high voltage, all ports
= –30 µA, V = 4.5 V
–
V
DD
4
V
OH1
Output high voltage, all ports
= –1.0 mA, V = 2.7 V
–
V
DD
10
C
Input/Output pin capacitance
–
15
pF
µA
µA
µA
µA
kΩ
V
IO
IL
8
I
I
Logical 0 input current, all ports
V
V
V
V
= 0.4 V
–
–50
±2
IN
IN
IN
IN
7
Input leakage current, all ports
= V or V
IH
–
LI
IL
= 1.5 V at V = 3.0 V
–30
–150
40
–250
–650
225
2.69
3.99
1.41
DD
3, 6
I
TL
Logical 1 to 0 transition current, all ports
= 2.0 V at V = 5.5 V
DD
R
Internal reset pull-up resistor
RST
12
V
Brownout trip voltage with BOV = 1
2.35
3.45
1.11
BOLOW
V
BOHI
Brownout trip voltage with BOV = 0
Reference voltage
V
V
REF
1.26
V
NOTES:
1. Typical ratings are not guaranteed. The values listed are at room temperature, 5 V.
2. See other Figures for details.
3. Ports in quasi-bidirectional mode with weak pull-up (applies to all port pins with pull-ups). Does not apply to open drain pins.
4. Ports in PUSH-PULL mode. Does not apply to open drain pins.
5. In all output modes except high impedance mode.
6. Port pins source a transition current when used in quasi-bidirectional mode and externally driven from 1 to 0. This current is highest when
V
IN
is approximately 2 V.
7. Measured with port in high impedance mode. Parameter is guaranteed but not tested at cold temperature.
8. Measured with port in quasi-bidirectional mode.
9. Under steady state (non-transient) conditions, I must be externally limited as follows:
OL
Maximum I per port pin:
20 mA
80 mA
5 mA
OL
Maximum total I for all outputs:
OL
Maximum total I for all outputs:
OH
If I exceeds the test condition, V may exceed the related specification. Pins are not guaranteed to sink current greater than the listed
OL
OL
test conditions.
10.Pin capacitance is characterized but not tested.
11. The I , I , and I specifications are measured using an external clock with the following functions disabled: comparators, brownout
DD ID
PD
detect, and watchdog timer. For V = 3 V, LPEP = 1. Refer to the appropriate figures on the following pages for additional current drawn by
DD
each of these functions and detailed graphs for other frequency and voltage combinations.
12.Devices initially operating at V = 2.7 V or above, and at f
= 10 MHz or less, are guaranteed to continue to execute instructions
DD
OSC
correctly at the brownout trip point. Initial power-on operation below V = 2.7 V is not guaranteed.
DD
13.Devices initially operating at V = 4.0 V or above and at f
= 20 MHz or less are guaranteed to continue to execute instructions correctly
DD
OSC
at the brownout trip point. Initial power-on operation below V = 4.0 V and f
> 10 MHz is not guaranteed.
DD
OSC
46
2002 Mar 07
Philips Semiconductors
Preliminary data
Low power, low price, low pin count (14 pin)
microcontroller with 1 kbyte OTP
P87LPC760
COMPARATOR ELECTRICAL CHARACTERISTICS
V
DD
= 3.0 V to 6.0 V unless otherwise specified; T
= 0 °C to +70 °C, unless otherwise specified.
amb
LIMITS
SYMBOL
PARAMETER
TEST CONDITIONS
MIN
UNIT
MAX
TYP
–
1
V
IO
Offset voltage comparator inputs
–
0
–
–
–
±10
–0.3
DD
mV
V
V
CR
Common mode range comparator inputs
–
V
1
CMRR
Common mode rejection ratio
–
–50
500
10
dB
ns
µs
µA
Response time
250
–
Comparator enable to output valid
Input leakage current, comparator
I
IL
0 < V < V
DD
–
–
±10
IN
NOTE:
1. This parameter is guaranteed by characterization, but not tested in production.
AC ELECTRICAL CHARACTERISTICS
1, 2, 3
T
= 0 °C to +70 °C, V = 2.7 V to 6.0 V unless otherwise specified; V = 0 V
amb
DD SS
LIMITS
SYMBOL
FIGURE
PARAMETER
UNIT
MIN
MAX
External Clock
f
f
t
42
42
42
42
42
42
42
Oscillator frequency (V = 4.0 V to 6.0 V)
0
0
20
10
–
MHz
MHz
ns
C
C
C
DD
Oscillator frequency (V = 2.7 V to 6.0 V)
DD
Clock period and CPU timing cycle
1/f
C
1
f
f
Clock low-time
f
f
f
f
= 20 MHz
20
–
ns
CLCX
CLCX
CHCX
CHCX
OSC
OSC
OSC
OSC
= 10 MHz
= 20 MHz
= 10 MHz
40
20
40
–
ns
1
f
f
Clock high-time
–
ns
–
ns
Internal RC Oscillator
2
f
On-chip RC oscillator calibration
f
f
f
= 6 MHz
= 6 MHz
= 6 MHz
–1
+1
%
%
%
CCAL
RCOSC
RCOSC
RCOSC
3,4
f
f
On-chip RC oscillator, 0 °C to +50 °C tol.
–2.5
+2.5
+2.5
CTOL
3
5
On-chip RC oscillator, 0 °C to +70 °C tol.
–5
CTOL
Shift Register
t
41
41
41
41
41
Serial port clock cycle time
6t
–
–
–
ns
ns
ns
ns
ns
XLXL
C
t
t
Output data setup to clock rising edge
Output data hold after clock rising edge
Input data setup to clock rising edge
Input data hold after clock rising edge
5t – 133
C
QVXH
XHQX
1t – 80
C
t
t
–
0
5t – 133
XHDV
C
–
XHDX
NOTES:
1. Applies only to an external clock source, not when a crystal is connected to the X1 and X2 pins.
2. Tested at V = 5.0 V and room temperature.
DD
3. These parameters are characterized but not tested.
4. +/– 2.5% accuracy enables serial communication over the UART with the internal Oscillator.
5. Min frequency at hot temperature.
47
2002 Mar 07
Philips Semiconductors
Preliminary data
Low power, low price, low pin count (14 pin)
microcontroller with 1 kbyte OTP
P87LPC760
t
XLXL
CLOCK
t
XHQX
t
QVXH
OUTPUT DATA
0
1
2
3
4
5
6
7
WRITE TO SBUF
t
XHDX
t
SET TI
XHDV
INPUT DATA
CLEAR RI
VALID
VALID
VALID
VALID
VALID
VALID
VALID
VALID
SET RI
SU01187
Figure 41. Shift Register Mode Timing
V
– 0.5
DD
0.2V + 0.9
DD
0.2 V – 0.1
DD
0.45V
t
CHCX
t
t
t
CLCH
CHCL
CLCX
t
C
SU01188
Figure 42. External Clock Timing
100
10
1
1000
6.0 V
5.0 V
6.0 V
5.0 V
100
4.0 V
3.3 V
2.7 V
4.0 V
3.3 V
2.7 V
10
10
100
100
1,000
Frequency (kHz)
10,000
Frequency (kHz)
SU01202
SU01203
Figure 43. Typical Idd versus frequency (low frequency
Figure 44. Typical Idd versus frequency (medium frequency
oscillator, 25 °C)
oscillator, 25 °C)
48
2002 Mar 07
Philips Semiconductors
Preliminary data
Low power, low price, low pin count (14 pin)
microcontroller with 1 kbyte OTP
P87LPC760
10,000
10,000
4.0 V
3.3 V
6.0 V
5.0 V
1,000
100
2.7 V
1,000
4.0 V
3.3 V
2.7 V
10
1
100
10
100
1,000
Frequency (kHz)
10,000
1
10
100
Frequency (MHz)
SU01207
SU01204
Figure 45. Typical Idd versus frequency (high frequency
Figure 48. Typical Idle Idd versus frequency (external clock,
oscillator, 25 °C)
25 °C, LPEP=1)
100,000
10,000
5.0 V
5.0 V
6.0 V
4.0 V
6.0 V
4.0 V
10,000
1,000
3.3 V
3.3 V
2.7 V
1,000
2.7 V
100
100
10
10
10
100
1,000
10,000
100,000
10
100
1,000
10,000
100,000
Frequency (kHz)
Frequency (kHz)
SU01205
SU01208
Figure 46. Typical Active Idd versus frequency (external clock,
Figure 49. Typical Idle Idd versus frequency (external clock,
25 °C, LPEP=0)
25 °C, LPEP=0)
4.0 V
10,000
1,000
100
3.3 V
2.7 V
10
1
10
100
1,000
10,000
Frequency (kHz)
SU01206
Figure 47. Typical Active Idd versus frequency (external clock,
25 °C, LPEP=1)
49
2002 Mar 07
Philips Semiconductors
Preliminary data
Low power, low price, low pin count (14 pin)
microcontroller with 1 kbyte OTP
P87LPC760
TSSOP14: plastic thin shrink small outline package; 14 leads; body width 4.4 mm
SOT402-1
50
2002 Mar 07
Philips Semiconductors
Preliminary data
Low power, low price, low pin count (14 pin)
microcontroller with 1 kbyte OTP
P87LPC760
DIP14: plastic dual in-line package; 14 leads (300 mil)
SOT27-1
51
2002 Mar 07
Philips Semiconductors
Preliminary data
Low power, low price, low pin count (14 pin)
microcontroller with 1 kbyte OTP
P87LPC760
REVISION HISTORY
Date
CPCN
Description
2002 Mar 07
9397 750 09532
Initial release
52
2002 Mar 07
Philips Semiconductors
Preliminary data
Low power, low price, low pin count (14 pin)
microcontroller with 1 kbyte OTP
P87LPC760
2
2
Purchase of Philips I C components conveys a license under the Philips’ I C patent
2
to use the components in the I C system provided the system conforms to the
I C specifications defined by Philips. This specification can be ordered using the
2
code 9398 393 40011.
Data sheet status
Product
status
Definitions
[1]
Data sheet status
[2]
Objective data
Development
This data sheet contains data from the objective specification for product development.
Philips Semiconductors reserves the right to change the specification in any manner without notice.
Preliminary data
Qualification
Production
This data sheet contains data from the preliminary specification. Supplementary data will be
published at a later date. Philips Semiconductors reserves the right to change the specification
without notice, in order to improve the design and supply the best possible product.
Product data
This data sheet contains data from the product specification. Philips Semiconductors reserves the
right to make changes at any time in order to improve the design, manufacturing and supply.
Changes will be communicated according to the Customer Product/Process Change Notification
(CPCN) procedure SNW-SQ-650A.
[1] Please consult the most recently issued data sheet before initiating or completing a design.
[2] The product status of the device(s) described in this data sheet may have changed since this data sheet was published. The latest information is available on the Internet at URL
http://www.semiconductors.philips.com.
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 60134). 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.
Righttomakechanges—PhilipsSemiconductorsreservestherighttomakechanges, withoutnotice, intheproducts, includingcircuits,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.
Koninklijke Philips Electronics N.V. 2002
Contact information
All rights reserved. Printed in U.S.A.
For additional information please visit
http://www.semiconductors.philips.com.
Fax: +31 40 27 24825
Date of release: 03-02
9397 750 09532
For sales offices addresses send e-mail to:
sales.addresses@www.semiconductors.philips.com.
Document order number:
Philips
Semiconductors
相关型号:
P87LPC761BDH,112
P87LPC761 - Low power, low price, low pin count (16 pin) microcontroller with 2 kbyte OTP TSSOP 16-Pin
NXP
P87LPC761BDH,129
P87LPC761 - Low power, low price, low pin count (16 pin) microcontroller with 2 kbyte OTP TSSOP 16-Pin
NXP
P87LPC761BN,112
P87LPC761 - Low power, low price, low pin count (16 pin) microcontroller with 2 kbyte OTP DIP 16-Pin
NXP
P87LPC762BD,112
87LPC762 - Low power, low price, low pin count (20 pin) microcontroller with 2 kbyte OTP SOP 20-Pin
NXP
P87LPC762BD,529
87LPC762 - Low power, low price, low pin count (20 pin) microcontroller with 2 kbyte OTP SOP 20-Pin
NXP
P87LPC762BD-T
IC 8-BIT, OTPROM, 20 MHz, MICROCONTROLLER, PDSO20, 7.50 MM, PLASTIC, SO-20, Microcontroller
NXP
©2020 ICPDF网 联系我们和版权申明