UM10147_2
© NXP B.V. 2008. All rights reserved.
User manual
Rev. 02 — 28 April 2008
133 of 134
NXP Semiconductors
UM10147
P89LPC952/954 User manual
22. Contents
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Pin configuration . . . . . . . . . . . . . . . . . . . . . . . . 3
Pin description . . . . . . . . . . . . . . . . . . . . . . . . . 5
Special function registers . . . . . . . . . . . . . . . . 11
Memory organization . . . . . . . . . . . . . . . . . . . 20
Clocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Enhanced CPU . . . . . . . . . . . . . . . . . . . . . . . . 22
Clock definitions . . . . . . . . . . . . . . . . . . . . . . . 22
Oscillator Clock (OSCCLK). . . . . . . . . . . . . . . 22
Low speed oscillator option . . . . . . . . . . . . . . 22
Medium speed oscillator option . . . . . . . . . . . 22
High speed oscillator option . . . . . . . . . . . . . . 22
Clock output . . . . . . . . . . . . . . . . . . . . . . . . . . 23
On-chip RC oscillator option . . . . . . . . . . . . . . 23
Watchdog oscillator option . . . . . . . . . . . . . . . 24
External clock input option . . . . . . . . . . . . . . . 24
Oscillator Clock (OSCCLK) wake-up delay . . 25
CPU Clock (CCLK) modification: DIVM register . .
26
Low power select . . . . . . . . . . . . . . . . . . . . . . 26
A/D converter . . . . . . . . . . . . . . . . . . . . . . . . . . 26
General description . . . . . . . . . . . . . . . . . . . . 26
A/D features . . . . . . . . . . . . . . . . . . . . . . . . . . 26
A/D operating modes . . . . . . . . . . . . . . . . . . . 27
Fixed channel, single conversion mode . . . . . 27
Fixed channel, continuous conversion mode . 27
Auto scan, single conversion mode . . . . . . . . 28
Auto scan, continuous conversion mode . . . . 28
Dual channel, continuous conversion mode . . 28
Single step mode . . . . . . . . . . . . . . . . . . . . . . 29
Conversion mode selection bits . . . . . . . . . . . 29
Conversion start modes . . . . . . . . . . . . . . . . . 30
Timer triggered start . . . . . . . . . . . . . . . . . . . . 30
Start immediately . . . . . . . . . . . . . . . . . . . . . . 30
Edge triggered . . . . . . . . . . . . . . . . . . . . . . . . 30
Stopping and restarting conversions. . . . . . . . 30
Boundary limits interrupt . . . . . . . . . . . . . . . . . 30
Clock divider . . . . . . . . . . . . . . . . . . . . . . . . . . 30
I/O pins used with ADC functions . . . . . . . . . . 31
Power-down and Idle mode . . . . . . . . . . . . . . 31
Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Interrupt priority structure . . . . . . . . . . . . . . . . 34
External Interrupt pin glitch suppression. . . . . 35
I/O ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Port configurations . . . . . . . . . . . . . . . . . . . . . 37
Quasi-bidirectional output configuration . . . . . 37
Open drain output configuration . . . . . . . . . . . 38
Input-only configuration . . . . . . . . . . . . . . . . . 39
Push-pull output configuration . . . . . . . . . . . . 39
Port 0 and Analog Comparator functions . . . . 40
Additional port features. . . . . . . . . . . . . . . . . . 40
Power monitoring functions . . . . . . . . . . . . . . 42
Brownout detection . . . . . . . . . . . . . . . . . . . . . 42
Power-on detection. . . . . . . . . . . . . . . . . . . . . 43
Power reduction modes . . . . . . . . . . . . . . . . . 43
Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Reset vector. . . . . . . . . . . . . . . . . . . . . . . . . . 48
Timers 0 and 1 . . . . . . . . . . . . . . . . . . . . . . . . . 48
Mode 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Mode 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Mode 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Mode 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Mode 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Timer overflow toggle output . . . . . . . . . . . . . 52
Real-time clock system timer. . . . . . . . . . . . . 53
Real-time clock source. . . . . . . . . . . . . . . . . . 54
Changing RTCS1/RTCS0 . . . . . . . . . . . . . . . 54
Real-time clock interrupt/wake-up . . . . . . . . . 54
Reset sources affecting the Real-time clock . 54
UARTs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Mode 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Mode 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Mode 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Mode 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
SFR space . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Baud Rate generator and selection . . . . . . . . 57
Updating the BRGR1 and BRGR0 SFRs . . . . 58
Framing error . . . . . . . . . . . . . . . . . . . . . . . . . 59
Break detect. . . . . . . . . . . . . . . . . . . . . . . . . . 59
More about UART Mode 0 . . . . . . . . . . . . . . . 62
More about UART Mode 1 . . . . . . . . . . . . . . . 63
More about UART Modes 2 and 3 . . . . . . . . . 64
Break detect. . . . . . . . . . . . . . . . . . . . . . . . . . 65
Double buffering. . . . . . . . . . . . . . . . . . . . . . . 65
Double buffering in different modes . . . . . . . . 65
Multiprocessor communications. . . . . . . . . . . 67
Automatic address recognition. . . . . . . . . . . . 68
2
C interface . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
2
C data register . . . . . . . . . . . . . . . . . . . . . . . 70
C slave address register. . . . . . . . . . . . . . . 70
2
C control register . . . . . . . . . . . . . . . . . . . . . 71
2
C Status register . . . . . . . . . . . . . . . . . . . . . 72
2
C SCL duty cycle registers I2SCLH and I2SCLL
72
2
C operation modes . . . . . . . . . . . . . . . . . . . 73
Master Transmitter mode . . . . . . . . . . . . . . . . 73
Master Receiver mode. . . . . . . . . . . . . . . . . . 74
Slave Receiver mode. . . . . . . . . . . . . . . . . . . 75
Slave Transmitter mode . . . . . . . . . . . . . . . . . 76
Serial Peripheral Interface (SPI). . . . . . . . . . . 83
Configuring the SPI . . . . . . . . . . . . . . . . . . . . 87