Philips Semiconductors
P89LPC9401
8-bit two-clock 80C51 microcontroller with 32 segment × 4 LCD driver
P89LPC9401_1 © Koninklijke Philips Electronics N.V. 2005. All rights reserved.
Preliminary data sheet Rev. 01 — 5 September 2005 58 of 59
continued >>
20. Contents
1 General description . . . . . . . . . . . . . . . . . . . . . . 1
2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
2.1 Principal features . . . . . . . . . . . . . . . . . . . . . . . 1
2.2 Additional features . . . . . . . . . . . . . . . . . . . . . . 1
3 Ordering information. . . . . . . . . . . . . . . . . . . . . 3
3.1 Ordering options . . . . . . . . . . . . . . . . . . . . . . . . 3
4 Block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . 4
5 Functional diagram . . . . . . . . . . . . . . . . . . . . . . 6
6 Pinning information. . . . . . . . . . . . . . . . . . . . . . 7
6.1 Pinning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
6.2 Pin description . . . . . . . . . . . . . . . . . . . . . . . . . 7
7 Functional description . . . . . . . . . . . . . . . . . . 11
7.1 Special function registers . . . . . . . . . . . . . . . . 11
7.2 Enhanced CPU. . . . . . . . . . . . . . . . . . . . . . . . 16
7.3 Clocks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
7.3.1 Clock definitions . . . . . . . . . . . . . . . . . . . . . . . 16
7.3.2 CPU clock (OSCCLK). . . . . . . . . . . . . . . . . . . 16
7.3.3 Low speed oscillator option . . . . . . . . . . . . . . 16
7.3.4 Medium speed oscillator option . . . . . . . . . . . 16
7.3.5 High speed oscillator option . . . . . . . . . . . . . . 16
7.3.6 Clock output . . . . . . . . . . . . . . . . . . . . . . . . . . 17
7.4 On-chip RC oscillator option. . . . . . . . . . . . . . 17
7.5 Watchdog oscillator option . . . . . . . . . . . . . . . 17
7.6 External clock input option . . . . . . . . . . . . . . . 17
7.7 CPU Clock (CCLK) wake-up delay . . . . . . . . . 19
7.8 CCLK modification: DIVM register . . . . . . . . . 19
7.9 Low power select . . . . . . . . . . . . . . . . . . . . . . 19
7.10 Memory organization . . . . . . . . . . . . . . . . . . . 19
7.11 Data RAM arrangement . . . . . . . . . . . . . . . . . 20
7.12 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
7.12.1 External interrupt inputs . . . . . . . . . . . . . . . . . 20
7.13 I/O ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
7.13.1 Port configurations . . . . . . . . . . . . . . . . . . . . . 21
7.13.1.1 Quasi-bidirectional output configuration . . . . . 22
7.13.1.2 Open-drain output configuration . . . . . . . . . . . 22
7.13.1.3 Input-only configuration . . . . . . . . . . . . . . . . . 22
7.13.1.4 Push-pull output configuration . . . . . . . . . . . . 22
7.13.2 Port 0 analog functions. . . . . . . . . . . . . . . . . . 22
7.13.3 Additional port features. . . . . . . . . . . . . . . . . . 23
7.14 Power monitoring functions. . . . . . . . . . . . . . . 23
7.14.1 Brownout detection. . . . . . . . . . . . . . . . . . . . . 23
7.14.2 Power-on detection. . . . . . . . . . . . . . . . . . . . . 23
7.15 Power reduction modes . . . . . . . . . . . . . . . . . 23
7.15.1 Idle mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
7.15.2 Power-down mode . . . . . . . . . . . . . . . . . . . . . 24
7.15.3 Total Power-down mode . . . . . . . . . . . . . . . . . 24
7.16 Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
7.16.1 Reset vector. . . . . . . . . . . . . . . . . . . . . . . . . . 25
7.17 Timers/counters 0 and 1 . . . . . . . . . . . . . . . . 25
7.17.1 Mode 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
7.17.2 Mode 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
7.17.3 Mode 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
7.17.4 Mode 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
7.17.5 Mode 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
7.17.6 Timer overflow toggle output . . . . . . . . . . . . . 26
7.18 RTC/system timer. . . . . . . . . . . . . . . . . . . . . . 26
7.19 UART . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
7.19.1 Mode 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
7.19.2 Mode 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
7.19.3 Mode 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
7.19.4 Mode 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
7.19.5 Baud rate generator and selection. . . . . . . . . 27
7.19.6 Framing error . . . . . . . . . . . . . . . . . . . . . . . . . 27
7.19.7 Break detect. . . . . . . . . . . . . . . . . . . . . . . . . . 27
7.19.8 Double buffering. . . . . . . . . . . . . . . . . . . . . . . 27
7.19.9 Transmit interrupts with double buffering
enabled (modes 1, 2 and 3) . . . . . . . . . . . . . . 28
7.19.10 The 9
th
bit (bit 8) in double buffering
(modes 1, 2 and 3). . . . . . . . . . . . . . . . . . . . . 28
7.20 I
2
C-bus serial interface. . . . . . . . . . . . . . . . . . 29
7.21 SPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
7.21.1 Typical SPI configurations . . . . . . . . . . . . . . . 32
7.22 Analog comparators. . . . . . . . . . . . . . . . . . . . 34
7.22.1 Internal reference voltage. . . . . . . . . . . . . . . . 34
7.22.2 Comparator interrupt . . . . . . . . . . . . . . . . . . . 34
7.22.3 Comparators and power reduction modes. . . 34
7.23 Keypad interrupt. . . . . . . . . . . . . . . . . . . . . . . 35
7.24 Watchdog timer . . . . . . . . . . . . . . . . . . . . . . . 36
7.25 Additional features . . . . . . . . . . . . . . . . . . . . . 36
7.25.1 Software reset . . . . . . . . . . . . . . . . . . . . . . . . 36
7.25.2 Dual data pointers . . . . . . . . . . . . . . . . . . . . . 36
7.26 LCD driver . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
7.26.1 General description . . . . . . . . . . . . . . . . . . . . 37
7.26.2 Functional description . . . . . . . . . . . . . . . . . . 37
7.26.3 LCD bias voltages . . . . . . . . . . . . . . . . . . . . . 37
7.26.4 Oscillator . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
7.26.4.1 Internal clock . . . . . . . . . . . . . . . . . . . . . . . . . 38
7.26.5 Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
7.26.6 Display register. . . . . . . . . . . . . . . . . . . . . . . . 38
7.26.7 Segment outputs . . . . . . . . . . . . . . . . . . . . . . 38
7.26.8 Backplane outputs . . . . . . . . . . . . . . . . . . . . . 38
7.26.9 Display RAM. . . . . . . . . . . . . . . . . . . . . . . . . . 38
7.26.10 Data pointer . . . . . . . . . . . . . . . . . . . . . . . . . . 38
7.26.11 Output bank selector . . . . . . . . . . . . . . . . . . . 39
7.26.12 Input bank selector. . . . . . . . . . . . . . . . . . . . . 39