P89LPC9102/9103/9107: 1. General Description
P89LPC9102/9103/9107: 1. General Description
P89LPC9102/9103/9107: 1. General Description
1. General description
The P89LPC9102/9103/9107 are single-chip microcontrollers in low-cost 10-pin and
14-pin packages based on a high performance processor architecture that executes
instructions in two to four clocks, six times the rate of standard 80C51 devices. Many
system-level functions have been incorporated into the P89LPC9102/9103/9107 in order
to reduce component count, board space, and system cost.
2. Features
n In-Application Programming (IAP-Lite) and byte erase allows code memory to be used
for non-volatile data storage.
n Serial flash ICP allows simple production coding with commercial EPROM
programmers. Flash security bits prevent reading of sensitive application programs.
n Watchdog timer with separate on-chip oscillator, requiring no external components.
The watchdog prescaler is selectable from eight values.
n Low voltage reset (Brownout detect) allows a graceful system shutdown when power
fails. May optionally be configured as an interrupt.
n Idle mode and two different reduced power Power-down modes. Improved wake-up
from Power-down mode (a LOW interrupt input starts execution). Typical Power-down
mode current is less than 1 µA (total Power-down mode with voltage comparators
disabled).
n Active-LOW reset. On-chip power-on reset allows operation without external reset
components. A reset counter and reset glitch suppression circuitry prevent spurious
and incomplete resets. A software reset function is also available.
n Programmable port output configuration options: quasi-bidirectional, open drain,
push-pull, input-only.
n Port ‘input pattern match’ detect. Port 0 may generate an interrupt when the value of
the pins match or do not match a programmable pattern.
n LED drive capability (20 mA) on all port pins. A maximum limit is specified for the
entire chip.
n Controlled slew rate port outputs to reduce EMI. Outputs have approximately 10 ns
minimum ramp times.
n Only power and ground connections are required to operate the
P89LPC9102/9103/9107 when internal reset option is selected.
n Four interrupt priority levels.
n Two keypad interrupt inputs.
n Second data pointer.
n External clock input.
n Clock output (P89LPC9102/9107).
n Schmitt trigger port inputs.
n Emulation support.
4. Ordering information
Table 2. Ordering information
Type number Package
Name Description Version
P89LPC9102FTK HVSON10 plastic thermal enhanced very thin small outline package; no leads; SOT650-1
P89LPC9103FTK 10 terminals; body 3 × 3 × 0.85 mm
P89LPC9107FDH TSSOP14 plastic thin shrink small outline package; 14 leads; body width SOT402-1
4.4 mm
P89LPC9107FN DIP14 plastic dual in-line package; 14 leads (300 mil) SOT27-1
P89LPC9107FDH
P89LPC9107FN
5. Block diagram
P89LPC9102
ACCELERATED 2-CLOCK 80C51 CPU
1 kB 128 BYTE
FLASH RAM
internal
bus
AD10
PORT 1 AD11
P1.2, P1.5
CONFIGURABLE I/Os ADC1/DAC1 AD12
AD13
DAC1
KBI1 T0
KEYPAD TIMER 0
KBI2 INTERRUPT TIMER 1
T1
CIN1A
WATCHDOG TIMER ANALOG
AND OSCILLATOR COMPARATORS CIN1B
PROGRAMMABLE
CPU clock
OSCILLATOR DIVIDER
002aaa967
1 kB TXD
UART
FLASH RXD
internal
bus
PORT 1 128 BYTE
P1.0, P1.1, P1.5
CONFIGURABLE I/Os RAM
AD10
PORT 0 AD11
P0[1:5] ADC1/DAC1 AD12
CONFIGURABLE I/Os AD13
DAC1
002aaa968
TXD
1 kB
UART
FLASH
internal bus RXD
PORT 0 AD10
P0[1:5], P0.7 AD11
CONFIGURABLE I/Os ADC1/DAC1 AD12
AD13
DAC1
KBI1
KEYPAD
INTERRUPT REAL-TIME CLOCK/
KBI2 SYSTEM TIMER
WATCHDOG TIMER T0
TIMER 0
AND OSCILLATOR
TIMER 1 T1
ANALOG CIN1A
PROGRAMMABLE CPU
OSCILLATOR DIVIDER COMPARATORS
clock CIN1B
002aab100
6. Functional diagram
VDD VSS
002aaa971
VDD VSS
002aaa972
VDD VSS
7. Pinning information
7.1 Pinning
terminal 1
index area
P0.2/KBI2/AD11 1 10 P0.3/CIN1B/AD12
P1.5/RST 2 9 P0.4/CIN1A/AD13/DAC1
P0.1/KBI1/AD10 4 7 VDD
P1.2/T0 5 6 P0.7/T1/CLKOUT
002aaa969
terminal 1
index area
P0.2/KBI2/AD11 1 10 P0.3/CIN1B/AD12
P1.5/RST 2 9 P0.4/CIN1A/AD13/DAC1
P0.1/KBI1/AD10 4 7 VDD
P1.0/TXD 5 6 P1.1/RXD
002aaa970
P0.2/KBI2/AD11 1 14 P0.3/CIN1B/AD12
n.c. 2 13 n.c.
P1.5/RST 3 12 P0.4/CIN1A/AD13/DAC1
VSS 4 LPC9107 11 P0.5/CMPREF/CLKIN
P0.1/KBI1/AD10 5 10 VDD
P1.0/TXD 6 9 P1.1/RXD
P1.2/T0 7 8 P0.7/T1/CLKOUT
002aab083
P0.2/KBI2/AD11 1 14 P0.3/CIN1B/AD12
n.c. 2 13 n.c.
P1.5/RST 3 12 P0.4/CIN1A/AD13/DAC1
P0.1/KBI1/AD10 5 10 VDD
P1.0/TXD 6 9 P1.1/RXD
P1.2/T0 7 8 P0.7/T1/CLKOUT
002aac987
8. Functional description
Remark: Please refer to the P89LPC9102/9103/9107 User manual UM10112 for a more
detailed functional description.
• User must not attempt to access any SFR locations not defined.
• Accesses to any defined SFR locations must be strictly for the functions for the SFRs.
• SFR bits labeled ‘-’, ‘0’ or ‘1’ can only be written and read as follows:
– ‘-’ Unless otherwise specified, must be written with ‘0’, but can return any value
when read (even if it was written with ‘0’). It is a reserved bit and may be used in
future derivatives.
– ‘0’ must be written with ‘0’, and will return a ‘0’ when read.
– ‘1’ must be written with ‘1’, and will return a ‘1’ when read.
NXP Semiconductors
Table 7. P89LPC9102 special function registers
* indicates SFRs that are bit addressable.
Name Description SFR Bit functions and addresses Reset value
addr. MSB LSB Hex Binary
Bit address E7 E6 E5 E4 E3 E2 E1 E0
ACC* Accumulator E0H 00 0000 0000
ADCON1 A/D control register 1 97H ENBI1 ENADCI TMM1 - ADCI1 ENADC1 ADCS11 ADCS10 00 0000 0000
1
ADINS A/D input select A3H AD13 AD12 AD11 AD10 - - - - 00 0000 0000
ADMODA A/D mode register A C0H BNDI1 BURST1 SCC1 SCAN1 - - - - 00 0000 0000
ADMODB A/D mode register B A1H CLK2 CLK1 CLK0 - ENDAC1 - BSA1 - 00 000x 0000
AD1BH A/D_1 boundary high register C4H FF 1111 1111
AD1BL A/D_1 boundary low register BCH 00 0000 0000
AD1DAT0 A/D_1 data register 0 D5H 00 0000 0000
AD1DAT1 A/D_1 data register 1 D6H 00 0000 0000
Rev. 03 — 10 July 2007
P89LPC9102/9103/9107
B* B register F0H 00 0000 0000
CMP1 Comparator 1 control register ACH - - CE1 CP1 CN1 - CO1 CMF1 00 xx00 0000
DIVM CPU clock divide-by-M 95H 00 0000 0000
control
DPTR Data pointer (2 bytes)
DPH Data pointer high 83H 00 0000 0000
DPL Data pointer low 82H 00 0000 0000
FMADRH Program flash address high E7H 00 0000 0000
FMADRL Program flash address low E6H 00 0000 0000
FMCON Program flash Control (Read) E4H BUSY - - - HVA HVE SV OI 70 0111 0000
© NXP B.V. 2007. All rights reserved.
Program flash Control (Write) FMCMD. FMCMD. FMCMD. FMCMD. FMCMD. FMCMD. FMCMD. FMCMD.
7 6 5 4 3 2 1 0
FMDATA Program flash data E5H 00 0000 0000
00[1]
16 of 61
IEN0* Interrupt enable 0 A8H EA EWDRT EBO - ET1 - ET0 - 0000 0000
xxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxx x x x xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxx xx xx
xxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxx xxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxx x x
xxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxx xxx
Product data sheet Table 7. P89LPC9102 special function registers …continued
P89LPC9102_9103_9107_3
NXP Semiconductors
* indicates SFRs that are bit addressable.
Name Description SFR Bit functions and addresses Reset value
addr. MSB LSB Hex Binary
Bit address EF EE ED EC EB EA E9 E8
IEN1* Interrupt enable 1 E8H EAD - - - - EC EKBI - 00[1] 00x0 0000
Bit address BF BE BD BC BB BA B9 B8
IP0* Interrupt priority 0 B8H - PWDRT PBO - PT1 - PT0 - 00[1] x000 0000
IP0H Interrupt priority 0 high B7H - PWDRT PBOH - PT1H - PT0H - 00[1] x000 0000
H
Bit address FF FE FD FC FB FA F9 F8
IP1* Interrupt priority 1 F8H PAD - - - - PC PKBI - 00[1] 00x0 0000
IP1H Interrupt priority 1 high F7H PADH - - - - PCH PKBIH - 00[1] 00x0 0000
KBCON Keypad control register 94H - - - - - - PATN KBIF 00[1] xxxx xx00
_SEL
Rev. 03 — 10 July 2007
P89LPC9102/9103/9107
P0* Port 0 80H CLKOUT/ - CMPREF CIN1A CIN1B CIN2A KBI1 - [2]
T1 /CLKIN /KBI2
Bit address 97 96 95 94 93 92 91 90
P1* Port 1 90H - - RST - - T0 - -
P0M1 Port 0 output mode 1 84H (P0M1.7) - (P0M1.5) (P0M1.4) (P0M1.3) (P0M1.2) (P0M1.1) - FF 1111 1111
P0M2 Port 0 output mode 2 85H (P0M2.7) - (P0M2.5) (P0M2.4) (P0M2.3) (P0M2.2) (P0M2.1) - 00 0000 0000
P1M1 Port 1 output mode 1 91H - - - - - (P1M1.2) - - FF[1] 1111 1111
P1M2 Port 1 output mode 2 92H - - - - - (P1M2.2) - - 00[1] 0000 0000
PCON Power control register 87H - - BOPD BOI GF1 GF0 PMOD1 PMOD0 00 0000 0000
PCONA Power control register A B5H RTCPD VCPD ADPD - - 00[1] 0000 0000
© NXP B.V. 2007. All rights reserved.
NXP Semiconductors
* indicates SFRs that are bit addressable.
Name Description SFR Bit functions and addresses Reset value
addr. MSB LSB Hex Binary
RSTSRC Reset source register DFH - - BOF POF - R_WD R_SF R_EX [3]
RTCCON Real-time clock control D1H RTCF RTCS1 RTCS0 - - - ERTC RTCEN 60[4] 011x xx00
RTCH Real-time clock register high D2H 00[4] 0000 0000
RTCL Real-time clock register low D3H 00[4] 0000 0000
SP Stack pointer 81H 07 0000 0111
TAMOD Timer 0 and 1 auxiliary mode 8FH - - - T1M2 - - - T0M2 00 xxx0 xxx0
Bit address 8F 8E 8D 8C 8B 8A 89 88
TCON* Timer 0 and 1 control 88H TF1 TR1 TF0 TR0 - - - - 00 0000 0000
TH0 Timer 0 high 8CH 00 0000 0000
TH1 Timer 1 high 8DH 00 0000 0000
Rev. 03 — 10 July 2007
WDCON Watchdog control register A7H PRE2 PRE1 PRE0 - - WDRUN WDTOF WDCLK [4][6]
P89LPC9102/9103/9107
WDL Watchdog load C1H FF 1111 1111
WFEED1 Watchdog feed 1 C2H
WFEED2 Watchdog feed 2 C3H
[1] Unimplemented bits in SFRs (labeled ’-’) are X (unknown) at all times. Unless otherwise specified, ones should not be written to these bits since they may be used for other
purposes in future derivatives. The reset values shown for these bits are logic 0s although they are unknown when read.
[2] All ports are in input-only (high-impedance) state after power-up.
[3] The RSTSRC register reflects the cause of the P89LPC9102/9103/9107 reset. Upon a power-up reset, all reset source flags are cleared except POF and BOF; the power-on reset
value is xx11 0000.
[4] The only reset source that affects these SFRs is power-on reset.
[5] On power-on reset, the TRIM SFR is initialized with a factory preprogrammed value. Other resets will not cause initialization of the TRIM register.
© NXP B.V. 2007. All rights reserved.
[6] After reset, the value is 1110 01x1, i.e., PRE2 to PRE0 are all logic 1s, WDRUN = 1 and WDCLK = 1. WDTOF bit is logic 1 after watchdog timer reset and is logic 0 after power-on
reset. Other resets will not affect WDTOF.
18 of 61
xxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxx x x x xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxx xx xx
xxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxx xxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxx x x
xxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxx xxx
Product data sheet
P89LPC9102_9103_9107_3
NXP Semiconductors
Table 8. P89LPC9103 special function registers
* indicates SFRs that are bit addressable.
Name Description SFR Bit functions and addresses Reset value
addr. MSB LSB Hex Binary
Bit address E7 E6 E5 E4 E3 E2 E1 E0
ACC* Accumulator E0H 00 0000 0000
ADCON1 A/D control register 1 97H ENBI1 ENADCI TMM1 - ADCI1 ENADC1 ADCS11 ADCS10 00 0000 0000
1
ADINS A/D input select A3H AD13 AD12 AD11 AD10 - - - - 00 0000 0000
ADMODA A/D mode register A C0H BNDI1 BURST1 SCC1 SCAN1 - - - - 00 0000 0000
ADMODB A/D mode register B A1H CLK2 CLK1 CLK0 - ENDAC1 - BSA1 - 00 000x 0000
AD1BH A/D_1 boundary high register C4H FF 1111 1111
AD1BL A/D_1 boundary low register BCH 00 0000 0000
AD1DAT0 A/D_1 data register 0 D5H 00 0000 0000
AD1DAT1 A/D_1 data register 1 D6H 00 0000 0000
Rev. 03 — 10 July 2007
P89LPC9102/9103/9107
B* B register F0H 00 0000 0000
BRGR0[2] Baud rate generator rate low BEH 00 0000 0000
BRGR1[2] Baud rate generator rate high BFH 00 0000 0000
BRGCON Baud rate generator control BDH - - - - - - SBRGS BRGEN 00[2] xxxx xx00
CMP1 Comparator 1 control register ACH - - CE1 CP1 CN1 - CO1 CMF1 00[1] xx00 0000
DIVM CPU clock divide-by-M 95H 00 0000 0000
control
DPTR Data pointer (2 bytes)
DPH Data pointer high 83H 00 0000 0000
DPL Data pointer low 82H 00 0000 0000
© NXP B.V. 2007. All rights reserved.
Program flash Control (Write) FMCMD. FMCMD. FMCMD. FMCMD. FMCMD. FMCMD. FMCMD. FMCMD.
7 6 5 4 3 2 1 0
xxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxx x x x xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxx xx xx
xxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxx xxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxx x x
xxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxx xxx
Product data sheet Table 8. P89LPC9103 special function registers …continued
P89LPC9102_9103_9107_3
NXP Semiconductors
* indicates SFRs that are bit addressable.
Name Description SFR Bit functions and addresses Reset value
addr. MSB LSB Hex Binary
FMDATA Program flash data E5H 00 0000 0000
IEN0* Interrupt enable 0 A8H EA EWDRT EBO ES/ESR ET1 - ET0 - 00 0000 0000
Bit address EF EE ED EC EB EA E9 E8
IEN1* Interrupt enable 1 E8H EAD EST - - - EC EKBI - 00[1] 00x0 0000
Bit address BF BE BD BC BB BA B9 B8
IP0* Interrupt priority 0 B8H - PWDRT PBO PS/PSR PT1 - PT0 - 00[1] x000 0000
IP0H Interrupt priority 0 high B7H - PWDRT PBOH PSH PT1H - PT0H - 00[1] x000 0000
H /PSRH
Bit address FF FE FD FC FB FA F9 F8
IP1* Interrupt priority 1 F8H PAD PST - - - PC PKBI - 00[1] 00x0 0000
IP1H Interrupt priority 1 high F7H PADH PSTH - - - PCH PKBIH - 00[1] 00x0 0000
Rev. 03 — 10 July 2007
P89LPC9102/9103/9107
2 1
Bit address 87 86 85 84 83 82 81 80
P0* Port 0 80H - - CMPREF CIN1A CIN1B KBI2 KBI1 - [3]
/CLKIN
Bit address 97 96 95 94 93 92 91 90
P1* Port 1 90H - - RST - - - RXD TXD
P0M1 Port 0 output mode 1 84H - - (P0M1.5) (P0M1.4) (P0M1.3) (P0M1.2) (P0M1.1) - FF 1111 1111
P0M2 Port 0 output mode 2 85H - - (P0M2.5) (P0M2.4) (P0M2.3) (P0M2.2) (P0M2.1) - 00 0000 0000
P1M1 Port 1 output mode 1 91H - - - - - - (P1M1.1) (P1M1.0) FF[1] 1111 1111
P1M2 Port 1 output mode 2 92H - - - - - - (P1M2.1) (P1M2.0) 00[1] 0000 0000
© NXP B.V. 2007. All rights reserved.
PCON Power control register 87H SMOD1 SMOD0 BOPD BOI GF1 GF0 PMOD1 PMOD0 00 0000 0000
PCONA Power control register A B5H RTCPD VCPD ADPD - SPD 00[1] 0000 0000
PCONB reserved for Power control B6H - - - - - - - - 00[1] xxxx xxxx
20 of 61
register B
xxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxx x x x xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxx xx xx
xxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxx xxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxx x x
xxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxx xxx
Product data sheet Table 8. P89LPC9103 special function registers …continued
P89LPC9102_9103_9107_3
NXP Semiconductors
* indicates SFRs that are bit addressable.
Name Description SFR Bit functions and addresses Reset value
addr. MSB LSB Hex Binary
Bit address D7 D6 D5 D4 D3 D2 D1 D0
PSW* Program status word D0H CY AC F0 RS1 RS0 OV F1 P 00 0000 0000
PT0AD Port 0 digital input disable F6H - - PT0AD.5 PT0AD.4 PT0AD.3 PT0AD.2 PT0AD.1 - 00 xx00 000x
RSTSRC Reset source register DFH - - BOF POF R_BK R_WD R_SF R_EX [4]
RTCCON Real-time clock control D1H RTCF RTCS1 RTCS0 - - - ERTC RTCEN 60[5] 011x xx00
RTCH Real-time clock register high D2H 00[5] 0000 0000
RTCL Real-time clock register low D3H 00[5] 0000 0000
SADDR Serial port address register A9H 00 0000 0000
SADEN Serial port address enable B9H 00 0000 0000
SBUF Serial port data buffer register 99H xx xxxx xxxx
Rev. 03 — 10 July 2007
Bit address 9F 9E 9D 9C 9B 9A 99 98
P89LPC9102/9103/9107
Bit address 8F 8E 8D 8C 8B 8A 89 88
TCON* Timer 0 and 1 control 88H TF1 TR1 TF0 TR0 - - - - 00 0000 0000
TH0 Timer 0 high 8CH 00 0000 0000
TH1 Timer 1 high 8DH 00 0000 0000
TL0 Timer 0 low 8AH 00 0000 0000
TL1 Timer 1 low 8BH 00 0000 0000
TMOD Timer 0 and 1 mode 89H - - T1M1 T1M0 - - T0M1 T0M0 00 0000 0000
TRIM Internal oscillator trim register 96H RCCLK - TRIM.5 TRIM.4 TRIM.3 TRIM.2 TRIM.1 TRIM.0 [5][6]
WDCON Watchdog control register A7H PRE2 PRE1 PRE0 - - WDRUN WDTOF WDCLK [5][7]
[1] Unimplemented bits in SFRs (labeled ’-’) are X (unknown) at all times. Unless otherwise specified, ones should not be written to these bits since they may be used for other
21 of 61
purposes in future derivatives. The reset values shown for these bits are logic 0s although they are unknown when read.
[2] BRGR1 and BRGR0 must only be written if BRGEN in BRGCON SFR is logic 0. If any are written while BRGEN = 1, the result is unpredictable.
xxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxx x x x xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxx xx xx
xxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxx xxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxx x x
xxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxx xxx
Product data sheet [3] All ports are in input-only (high-impedance) state after power-up.
P89LPC9102_9103_9107_3
NXP Semiconductors
[4] The RSTSRC register reflects the cause of the P89LPC9102/9103/9107 reset. Upon a power-up reset, all reset source flags are cleared except POF and BOF; the power-on reset
value is xx11 0000.
[5] The only reset source that affects these SFRs is power-on reset.
[6] On power-on reset, the TRIM SFR is initialized with a factory preprogrammed value. Other resets will not cause initialization of the TRIM register.
[7] After reset, the value is 1110 01x1, i.e., PRE2 to PRE0 are all logic 1s, WDRUN = 1 and WDCLK = 1. WDTOF bit is logic 1 after watchdog timer reset and is logic 0 after power-on
reset. Other resets will not affect WDTOF.
Rev. 03 — 10 July 2007
NXP Semiconductors
Table 9. P89LPC9107 special function registers
* indicates SFRs that are bit addressable.
Name Description SFR Bit functions and addresses Reset value
addr. MSB LSB Hex Binary
Bit address E7 E6 E5 E4 E3 E2 E1 E0
ACC* Accumulator E0H 00 0000 0000
ADCON1 A/D control register 1 97H ENBI1 ENADCI TMM1 - ADCI1 ENADC1 ADCS11 ADCS10 00 0000 0000
1
ADINS A/D input select A3H AD13 AD12 AD11 AD10 - - - - 00 0000 0000
ADMODA A/D mode register A C0H BNDI1 BURST1 SCC1 SCAN1 - - - - 00 0000 0000
ADMODB A/D mode register B A1H CLK2 CLK1 CLK0 - ENDAC1 - BSA1 - 00 000x 0000
AD1BH A/D_1 boundary high register C4H FF 1111 1111
AD1BL A/D_1 boundary low register BCH 00 0000 0000
AD1DAT0 A/D_1 data register 0 D5H 00 0000 0000
AD1DAT1 A/D_1 data register 1 D6H 00 0000 0000
Rev. 03 — 10 July 2007
P89LPC9102/9103/9107
B* B register F0H 00 0000 0000
BRGR0[2] Baud rate generator rate low BEH 00 0000 0000
BRGR1[2] Baud rate generator rate high BFH 00 0000 0000
BRGCON Baud rate generator control BDH - - - - - - SBRGS BRGEN 00[2] xxxx xx00
CMP1 Comparator 1 control register ACH - - CE1 CP1 CN1 - CO1 CMF1 00[1] xx00 0000
DIVM CPU clock divide-by-M 95H 00 0000 0000
control
DPTR Data pointer (2 bytes)
DPH Data pointer high 83H 00 0000 0000
DPL Data pointer low 82H 00 0000 0000
© NXP B.V. 2007. All rights reserved.
Program flash Control (Write) FMCMD. FMCMD. FMCMD. FMCMD. FMCMD. FMCMD. FMCMD. FMCMD.
7 6 5 4 3 2 1 0
xxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxx x x x xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxx xx xx
xxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxx xxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxx x x
xxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxx xxx
Product data sheet Table 9. P89LPC9107 special function registers …continued
P89LPC9102_9103_9107_3
NXP Semiconductors
* indicates SFRs that are bit addressable.
Name Description SFR Bit functions and addresses Reset value
addr. MSB LSB Hex Binary
FMDATA Program flash data E5H 00 0000 0000
IEN0* Interrupt enable 0 A8H EA EWDRT EBO ES/ESR ET1 - ET0 - 00 0000 0000
Bit address EF EE ED EC EB EA E9 E8
IEN1* Interrupt enable 1 E8H EAD EST - - - EC EKBI - 00[1] 00x0 0000
Bit address BF BE BD BC BB BA B9 B8
IP0* Interrupt priority 0 B8H - PWDRT PBO PS/PSR PT1 - PT0 - 00[1] x000 0000
IP0H Interrupt priority 0 high B7H - PWDRT PBOH PSH PT1H - PT0H - 00[1] x000 0000
H /PSRH
Bit address FF FE FD FC FB FA F9 F8
IP1* Interrupt priority 1 F8H PAD PST - - - PC PKBI - 00[1] 00x0 0000
IP1H Interrupt priority 1 high F7H PADH PSTH - - - PCH PKBIH - 00[1] 00x0 0000
Rev. 03 — 10 July 2007
P89LPC9102/9103/9107
2 1
Bit address 87 86 85 84 83 82 81 80
P0* Port 0 80H - - CMPREF CIN1A CIN1B KBI2 KBI1 - [3]
/CLKIN
Bit address 97 96 95 94 93 92 91 90
P1* Port 1 90H - - RST - - - RXD TXD
P0M1 Port 0 output mode 1 84H - - (P0M1.5) (P0M1.4) (P0M1.3) (P0M1.2) (P0M1.1) - FF 1111 1111
P0M2 Port 0 output mode 2 85H - - (P0M2.5) (P0M2.4) (P0M2.3) (P0M2.2) (P0M2.1) - 00 0000 0000
P1M1 Port 1 output mode 1 91H - - - - - - (P1M1.1) (P1M1.0) FF[1] 1111 1111
P1M2 Port 1 output mode 2 92H - - - - - - (P1M2.1) (P1M2.0) 00[1] 0000 0000
© NXP B.V. 2007. All rights reserved.
PCON Power control register 87H SMOD1 SMOD0 BOPD BOI GF1 GF0 PMOD1 PMOD0 00 0000 0000
PCONA Power control register A B5H RTCPD VCPD ADPD - SPD 00[1] 0000 0000
PCONB reserved for Power control B6H - - - - - - - - 00[1] xxxx xxxx
24 of 61
register B
xxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxx x x x xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxx xx xx
xxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxx xxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxx x x
xxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxx xxx
Product data sheet Table 9. P89LPC9107 special function registers …continued
P89LPC9102_9103_9107_3
NXP Semiconductors
* indicates SFRs that are bit addressable.
Name Description SFR Bit functions and addresses Reset value
addr. MSB LSB Hex Binary
Bit address D7 D6 D5 D4 D3 D2 D1 D0
PSW* Program status word D0H CY AC F0 RS1 RS0 OV F1 P 00 0000 0000
PT0AD Port 0 digital input disable F6H - - PT0AD.5 PT0AD.4 PT0AD.3 PT0AD.2 PT0AD.1 - 00 xx00 000x
RSTSRC Reset source register DFH - - BOF POF R_BK R_WD R_SF R_EX [4]
RTCCON Real-time clock control D1H RTCF RTCS1 RTCS0 - - - ERTC RTCEN 60[5] 011x xx00
RTCH Real-time clock register high D2H 00[5] 0000 0000
RTCL Real-time clock register low D3H 00[5] 0000 0000
SADDR Serial port address register A9H 00 0000 0000
SADEN Serial port address enable B9H 00 0000 0000
SBUF Serial port data buffer register 99H xx xxxx xxxx
Rev. 03 — 10 July 2007
Bit address 9F 9E 9D 9C 9B 9A 99 98
P89LPC9102/9103/9107
© NXP B.V. 2007. All rights reserved.
25 of 61
xxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxx x x x xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxx xx xx
xxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxx xxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxx x x
xxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxx xxx
Product data sheet Table 9. P89LPC9107 special function registers …continued
P89LPC9102_9103_9107_3
NXP Semiconductors
* indicates SFRs that are bit addressable.
Name Description SFR Bit functions and addresses Reset value
addr. MSB LSB Hex Binary
Bit address 8F 8E 8D 8C 8B 8A 89 88
TCON* Timer 0 and 1 control 88H TF1 TR1 TF0 TR0 - - - - 00 0000 0000
TH0 Timer 0 high 8CH 00 0000 0000
TH1 Timer 1 high 8DH 00 0000 0000
TL0 Timer 0 low 8AH 00 0000 0000
TL1 Timer 1 low 8BH 00 0000 0000
TMOD Timer 0 and 1 mode 89H - - T1M1 T1M0 - - T0M1 T0M0 00 0000 0000
TRIM Internal oscillator trim register 96H RCCLK ENCLK TRIM.5 TRIM.4 TRIM.3 TRIM.2 TRIM.1 TRIM.0 [5][6]
WDCON Watchdog control register A7H PRE2 PRE1 PRE0 - - WDRUN WDTOF WDCLK [5][7]
[1] Unimplemented bits in SFRs (labeled ’-’) are X (unknown) at all times. Unless otherwise specified, ones should not be written to these bits since they may be used for other
purposes in future derivatives. The reset values shown for these bits are logic 0s although they are unknown when read.
[2] BRGR1 and BRGR0 must only be written if BRGEN in BRGCON SFR is logic 0. If any are written while BRGEN = 1, the result is unpredictable.
P89LPC9102/9103/9107
[3] All ports are in input-only (high-impedance) state after power-up.
[4] The RSTSRC register reflects the cause of the P89LPC9102/9103/9107 reset. Upon a power-up reset, all reset source flags are cleared except POF and BOF; the power-on reset
value is xx11 0000.
[5] The only reset source that affects these SFRs is power-on reset.
[6] On power-on reset, the TRIM SFR is initialized with a factory preprogrammed value. Other resets will not cause initialization of the TRIM register.
[7] After reset, the value is 1110 01x1, i.e., PRE2 to PRE0 are all logic 1s, WDRUN = 1 and WDCLK = 1. WDTOF bit is logic 1 after watchdog timer reset and is logic 0 after power-on
reset. Other resets will not affect WDTOF.
© NXP B.V. 2007. All rights reserved.
26 of 61
NXP Semiconductors P89LPC9102/9103/9107
8-bit microcontrollers with two-clock accelerated 80C51 core
8.3 Clocks
OSCCLK — Input to the DIVM clock divider. OSCCLK is selected from one of the clock
sources (see Figure 11 “Block diagram of P89LPC9102 oscillator control”) and can also
be optionally divided to a slower frequency (see Section 8.8 “CCLK modification: DIVM
register”).
The RCCLK bit (TRIM.7) can be used to switch between the clock source selected by
UCFG1 and the internal RC oscillator. This allows a low frequency source such as the
WDT or low speed external source to clock the device in order to save power and then
switch to the higher speed internal RC oscillator to perform processing.
RTC
ADC1/
CLKIN DAC1
RC OSCILLATOR OSCCLK CCLK
WITH CLOCK DIVM CPU
DOUBLER OPTION
(7.3728 MHz or ÷2
14.7456 MHz)
WATCHDOG WDT
OSCILLATOR
(400 kHz) PCLK TIMER 0
TIMER 1
002aaa973
RTC
ADC1/
CLKIN DAC1
RC OSCILLATOR OSCCLK CCLK
WITH CLOCK DIVM CPU
DOUBLER OPTION
(7.3728 MHz or ÷2
14.7456 MHz)
WATCHDOG WDT
OSCILLATOR
(400 kHz) PCLK TIMER 0
TIMER 1
BAUD RATE
UART
GENERATOR
002aaa974
• DATA
128 bytes of internal data memory space (00H:7FH) accessed via direct or indirect
addressing, using instruction other than MOVX and MOVC. All or part of the stack
may be in this area.
• SFR
Special Function Registers. Selected CPU registers and peripheral control and status
registers, accessible only via direct addressing.
• CODE
1 kB of Code memory space, accessed as part of program execution and via the
MOVC instruction.
8.11 Interrupts
The P89LPC9102 supports nine interrupt sources: timers 0 and 1, brownout detect,
watchdog timer/RTC, keyboard, comparator 1, and the A/D converter.
The P89LPC9103/9107 support nine interrupt sources: timers 0 and 1, serial port Tx,
serial port Rx, combined serial port Rx/Tx, brownout detect, watchdog timer/RTC,
keyboard, comparator, and the A/D converter.
Each interrupt source can be individually enabled or disabled by setting or clearing a bit in
the interrupt enable registers IEN0 or IEN1. The IEN0 register also contains a global
disable bit, EA, which disables all interrupts.
Each interrupt source can be individually programmed to one of four priority levels by
setting or clearing bits in the interrupt priority registers IP0, IP0H, IP1, and IP1H. An
interrupt service routine in progress can be interrupted by a higher priority interrupt, but
not by another interrupt of the same or lower priority. The highest priority interrupt service
cannot be interrupted by any other interrupt source. If two requests of different priority
levels are pending at the start of an instruction, the request of higher priority level is
serviced.
If requests of the same priority level are pending at the start of an instruction, 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 pending requests of the
same priority level.
If enabled when the P89LPC9102/9103/9107 is put into Power-down mode or Idle mode,
the interrupt will cause the processor to wake-up and resume operation. Refer to Section
8.14 “Power reduction modes” for details.
BOF
EBO
RTCF KBIF wake-up
ERTC EKBI (if in power-down)
(RTCCON.1)
WDOVF
EWDRT
CMF
EC
EA (IE0.7)
TF1
interrupt
ET1 to CPU
TF0
ET0
ENADCI1
ADCI1
ENBI1
BNDI1
EAD
002aaa976
Fig 13. Interrupt sources, interrupt enables, and power-down wake-up sources (P89LPC9102)
BOF
EBO
RTCF KBIF wake-up
ERTC EKBI (if in power-down)
(RTCCON.1)
WDOVF
EWDRT
CMF
EC
EA (IE0.7)
TF1
ET1
TI and RI/RI
ES/ESR
TI interrupt
to CPU
EST
TF0
ET0
ENADCI1
ADCI1
ENBI1
BNDI1
EAD 002aaa977
Fig 14. Interrupt sources, interrupt enables, and power-down wake-up sources (P89LPC9103/9107)
A quasi-bidirectional port pin has a Schmitt triggered input that also has a glitch
suppression circuit.
An open-drain port pin has a Schmitt triggered input that also has a glitch suppression
circuit.
Digital outputs are disabled by putting the port output into the Input-only (high-impedance)
mode as described in Section 8.12.4 “Input-only configuration”.
Digital inputs on Port 0 may be disabled through the use of the PT0AD register. On any
reset, the PT0AD bits default to logic 0s to enable digital functions.
• After power-up all I/O pins, except P1.5, may be configured by software.
• Pin P1.5 is input-only.
Every output on the P89LPC9102/9103/9107 has been designed to sink typical LED drive
current. However, there is a maximum total output current for all ports which must not be
exceeded. Please refer to Table 12 “Static characteristics” for detailed specifications.
All ports pins that can function as an output have slew rate controlled outputs to limit noise
generated by quickly switching output signals. The slew rate is factory-set to
approximately 10 ns rise and fall times.
If Brownout detection is enabled, the brownout condition occurs when VDD falls below the
brownout trip voltage, Vbo (see Table 12 “Static characteristics”), and is negated when VDD
rises above Vbo. If the P89LPC9102/9103/9107 device is to operate with a power supply
that can be below 2.7 V, Brownout detect Enable (BOE) should be left in the
unprogrammed state so that the device can operate at 2.4 V, otherwise continuous
brownout reset may prevent the device from operating.
For correct activation of Brownout detect, the VDD rise and fall times must be observed.
Please see Table 12 “Static characteristics” for specifications.
Some chip functions continue to operate and draw power during Power-down mode,
increasing the total power used during Power-down mode. These include: Brownout
detect, watchdog timer, comparators (note that comparator can be powered-down
separately), and RTC/system timer. The internal RC oscillator is disabled unless both the
RC oscillator has been selected as the system clock and the RTC is enabled.
8.15 Reset
The P1.5/RST pin can function as either an active-LOW reset input or as a digital input,
P1.5. The RPE (Reset Pin Enable) bit in UCFG1, when set to logic 1, enables the external
reset input function on P1.5. When cleared, P1.5 may be used as an input pin.
Remark: During a power-up sequence, the RPE selection is overridden and this pin will
always function as a reset input. An external circuit connected to this pin should not
hold this pin LOW during a power-on sequence as this will keep the device in reset.
After power-up this input will function either as an external reset input or as a digital input
as defined by the RPE bit. Only a power-up reset will temporarily override the selection
defined by RPE bit. Other sources of reset will not override the RPE bit.
Remark: During a power cycle, VDD must fall below VPOR (see Table 12 “Static
characteristics”) before power is reapplied, in order to ensure a power-on reset.
• Power-on detect
• Brownout detect
• Watchdog timer
• Software reset
• UART break character detect reset (P89LPC9103/9107).
For every reset source, there is a flag in the Reset Register, RSTSRC. The user can read
this register to determine the most recent reset source. These flag bits can be cleared in
software by writing a logic 0 to the corresponding bit. More than one flag bit may be set:
• During a power-on reset, both POF and BOF are set but the other flag bits are
cleared.
• For any other reset, previously set flag bits that have not been cleared will remain set.
The P89LPC9103/9107 has two general purpose timers which are similar to the standard
80C51 Timer 0 and Timer 1. These timers have four operating modes (modes 0, 1, 2, and
3). Modes 0, 1, and 2 are the same for both Timers. Mode 3 is different.
8.16.1 Mode 0
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. In this mode, the Timer register is configured as a
13-bit register. Mode 0 operation is the same for Timer 0 and Timer 1.
8.16.2 Mode 1
Mode 1 is the same as Mode 0, except that all 16 bits of the timer register are used.
8.16.3 Mode 2
Mode 2 configures the Timer register as an 8-bit counter with automatic reload. Mode 2
operation is the same for Timer 0 and Timer 1.
8.16.4 Mode 3
When Timer 1 is in Mode 3 it is stopped. Timer 0 in Mode 3 forms two separate 8-bit
counters and is provided for applications that require an extra 8-bit timer. When Timer 1 is
in Mode 3 it can still be used by the serial port as a baud rate generator.
8.18.1 Mode 0
Serial data enters and exits through RXD. TXD outputs the shift clock. Eight bits are
transmitted or received, LSB first. The baud rate is fixed at 1⁄16 of the CPU clock
frequency.
8.18.2 Mode 1
10 bits are transmitted (through TXD) or received (through RXD): a start bit (logic 0),
8 data bits (LSB first), and a stop bit (logic 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 or the Baud Rate Generator (described in Section 8.18.5
“Baud rate generator and selection”).
8.18.3 Mode 2
11 bits are transmitted (through TXD) or received (through RXD): start bit (logic 0), 8 data
bits (LSB first), a programmable 9th data bit, and a stop bit (logic 1). When data is
transmitted, the 9th data bit (TB8 in SCON) can be assigned the value of logic 0 or logic 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 not saved. 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.
8.18.4 Mode 3
11 bits are transmitted (through TXD) or received (through RXD): a start bit (logic 0), 8
data bits (LSB first), a programmable 9th data bit, and a stop bit (logic 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 or the Baud Rate Generator (described in
section Section 8.18.5 “Baud rate generator and selection”).
The UART can use either Timer 1 or the baud rate generator output (see Figure 15). Note
that Timer T1 is further divided by 2 if the SMOD1 bit (PCON.7) is cleared. The
independent Baud Rate Generator uses CCLK.
SMOD1 = 1
timer 1 overflow
(PCLK-based) SBRGS = 0
÷2 baud rate modes 1 and 3
SMOD1 = 0
baud rate generator SBRGS = 1
(CCLK-based) 002aaa978
Double buffering can be disabled. If disabled (DBMOD, i.e., SSTAT.7 = 0), the UART is
compatible with the conventional 80C51 UART. If enabled, the UART allows writing to
SnBUF while the previous data is being shifted out. Double buffering is only allowed in
Modes 1, 2 and 3. When operated in Mode 0, double buffering must be disabled
(DBMOD = 0).
If double buffering is enabled, TB8 must be updated before SBUF is written, as TB8 will
be double-buffered together with SBUF data.
The connections to the comparator are shown in Figure 16. The comparator functions to
VDD = 2.4 V.
When the comparator is first enabled, the comparator’s interrupt flag is 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.
When a comparator is disabled the comparator’s output, COx, goes HIGH. If the
comparator output was LOW and then is disabled, the resulting transition of the
comparator output from a LOW to HIGH state will set the comparator flag, CMFx. This will
cause an interrupt if the comparator interrupt is enabled. The user should therefore
disable the comparator interrupt prior to disabling the comparator. Additionally, the user
should clear the comparator flag, CMFx, after disabling the comparator.
CP1
comparator
(P0.4) CIN1A change detect
(P0.3) CIN1B CO1
CMF1 interrupt
(P0.5) CMPREF
VREF EC
CN1
002aaa979
If the comparator interrupt is enabled (except in Total Power-down mode), a change of the
comparator output state will generate an interrupt and 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.
The comparator consumes power in Power-down mode and Idle mode, as well as in the
normal operating mode. This fact should be taken into account when system power
consumption is an issue. To minimize power consumption, the user can disable the
comparator via PCONA.5 or put the device in Total Power-down mode.
The Keypad Interrupt Mask Register (KBMASK) is used to define which input pins
connected to Port 0 can trigger the interrupt. The Keypad Pattern Register (KBPATN) is
used to define a pattern that is compared to the value of Port 0. The Keypad Interrupt Flag
(KBIF) in the Keypad Interrupt Control Register (KBCON) is set when the condition is
matched while the Keypad Interrupt function is active. An interrupt will be generated if
enabled. The PATN_SEL bit in the Keypad Interrupt Control Register (KBCON) is used to
define equal or not-equal for the comparison.
In order to use the Keypad Interrupt as an original KBI function like in 87LPC76x series,
the user needs to set KBPATN = 0FFH and PATN_SEL = 1 (not equal), then any key
connected to Port 0 which is enabled by the KBMASK register will cause the hardware to
set KBIF and generate an interrupt if it has been enabled. The interrupt may be used to
wake-up the CPU from Idle mode or Power-down mode. 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.
In order to set the flag and cause an interrupt, the pattern on Port 0 must be held longer
than six CCLKs.
taken from the prescaler. The clock source for the prescaler is either the PCLK or the
nominal 400 kHz watchdog oscillator. The watchdog timer can only be reset by a
power-on reset. When the watchdog timer feature is disabled, it can be used as an interval
timer and may generate an interrupt. Figure 17 shows the watchdog timer in Watchdog
mode. Feeding the watchdog timer requires a two-byte sequence. If PCLK is selected as
the watchdog timer clock and the CPU is powered-down, the watchdog timer is disabled.
The watchdog timer has a time-out period that ranges from a few µs to a few seconds.
Please refer to the P89LPC9102/9103/9107 User manual UM10112 for more details.
WDL (C1H)
watchdog
oscillator 8-BIT DOWN
÷32 PRESCALER reset (1)
PCLK COUNTER
SHADOW REGISTER
002aaa980
(1) Watchdog timer reset can also be caused by an invalid feed sequence, or by writing to WDCON not immediately followed by
a feed sequence.
Fig 17. Watchdog timer in Watchdog mode (WDTE = 1)
8.26.2 Features
• Programming and erase over the full operating voltage range.
• Byte-erase allowing code memory to be used for data storage.
• Read/Programming/Erase using ICP.
• Any flash program/erase operation in 2 ms.
• Programming with industry-standard commercial programmers.
• Programmable security for the code in the flash for each sector.
• More than 400000 minimum erase/program cycles for each byte.
• 20-year minimum data retention.
9. A/D Converter
9.2 Features
n 8-bit, 4-channel multiplexed input, successive approximation A/D converter
n Four result registers
n Six operating modes
u Fixed channel, single conversion mode
u Fixed channel, continuous conversion mode
u Auto scan, single conversion mode
u Auto scan, continuous conversion mode
u Dual channel, continuous conversion mode
u Single step mode
n Two conversion start modes
u Timer triggered start
u Start immediately
n 8-bit conversion time of ≥ 3.9 µs at an ADC clock of 3.3 MHz
n Interrupt or polled operation
n Boundary limits interrupt
n DAC output to a port pin with high output impedance
n Clock divider
n Power-down mode
comp
+
INPUT SAR
MUX –
CONTROL
LOGIC
8
DAC1
CCLK
002aaa975
[1] Typical ratings are not guaranteed. The values listed are at room temperature, 3 V.
[2] The IDD(oper), IDD(idle), and IDD(pd) specifications are measured using an external clock with the following functions disabled: comparators,
real-time clock, and watchdog timer.
[3] The IDD(oper) and IDD(idle) specifications are measured using with the following functions disabled: comparators, real-time clock, and
watchdog timer.
[4] The IDD(tpd) specification is measured using an external clock with the following functions disabled: comparators, real-time clock,
brownout detect, and watchdog timer.
[5] Applies to all ports, in all modes except Hi-Z.
[6] Pin capacitance is characterized but not tested.
[7] Measured with port in quasi-bidirectional mode.
[8] Measured with port in high-impedance mode.
[9] Ports in quasi-bidirectional mode with weak pull-up (applies to all port pins with pull-ups)
[10] Port pins source a transition current when used in quasi-bidirectional mode and externally driven from logic 1 to logic 0. This current is
highest when VI is approximately 2 V.
[1] Parameters are valid over operating temperature range unless otherwise specified. Parts are tested to 2 MHz, but are guaranteed to
operate down to 0 Hz.
[1] Parameters are valid over operating temperature range unless otherwise specified. Parts are tested to 2 MHz, but are guaranteed to
operate down to 0 Hz.
12.1 Waveforms
TXLXL
clock
tXHQX
tQVXH
output data
0 1 2 3 4 5 6 7
write to SBUF
tXHDX
tXHDV set TI
input data
valid valid valid valid valid valid valid valid
clear RI
set RI
002aaa906
VDD − 0.5 V
0.2VDD + 0.9 V
0.2VDD − 0.1 V
0.45 V
tCHCX
tCHCL tCLCX tCLCH
Tcy(clk)
002aaa907
HVSON10: plastic thermal enhanced very thin small outline package; no leads;
10 terminals; body 3 x 3 x 0.85 mm SOT650-1
0 1 2 mm
scale
D B A
A
A1
E
c
terminal 1 detail X
index area
C
e1
terminal 1
index area e b v M C A B y1 C y
1 5 w M C
L
Eh
10 6
Dh
Note
1. Plastic or metal protrusions of 0.075 mm maximum per side are not included.
01-01-22
SOT650-1 --- MO-229 ---
02-02-08
TSSOP14: plastic thin shrink small outline package; 14 leads; body width 4.4 mm SOT402-1
D E A
X
y HE v M A
14 8
Q
A2 (A 3)
A
A1
pin 1 index
θ
Lp
L
1 7
detail X
w M
e bp
0 2.5 5 mm
scale
Notes
1. Plastic or metal protrusions of 0.15 mm maximum per side are not included.
2. Plastic interlead protrusions of 0.25 mm maximum per side are not included.
99-12-27
SOT402-1 MO-153
03-02-18
D ME
seating plane
A2 A
L A1
c
Z e w M
b1
(e 1)
b
14 8 MH
pin 1 index
E
1 7
0 5 10 mm
scale
UNIT
A A1 A2
b b1 c D (1) E (1) e e1 L ME MH w Z (1)
max. min. max. max.
1.73 0.53 0.36 19.50 6.48 3.60 8.25 10.0
mm 4.2 0.51 3.2 2.54 7.62 0.254 2.2
1.13 0.38 0.23 18.55 6.20 3.05 7.80 8.3
0.068 0.021 0.014 0.77 0.26 0.14 0.32 0.39
inches 0.17 0.02 0.13 0.1 0.3 0.01 0.087
0.044 0.015 0.009 0.73 0.24 0.12 0.31 0.33
Note
1. Plastic or metal protrusions of 0.25 mm (0.01 inch) maximum per side are not included.
99-12-27
SOT27-1 050G04 MO-001 SC-501-14
03-02-13
15. Abbreviations
Table 17. Acronym list
Acronym Description
A/D Analog-to-Digital
BOE Brownout Enable
CMRR Common-Mode Rejection Ratio
DAC Digital-to-Analog Converter
EMI Electromagnetic Interference
IAP In-Application Programming
ICP In-Circuit Programming
LSB Least Significant Bit
MSB Most Significant Bit
PWM Pulse Width Modulator
RTC Real-Time Clock
SAR Successive Approximation Register
UART Universal Asynchronous Receiver/Transmitter
[1] Please consult the most recently issued document before initiating or completing a design.
[2] The term ‘short data sheet’ is explained in section “Definitions”.
[3] The product status of device(s) described in this document may have changed since this document was published and may differ in case of multiple devices. The latest product status
information is available on the Internet at URL http://www.nxp.com.
19. Contents
1 General description . . . . . . . . . . . . . . . . . . . . . . 1 8.16.2 Mode 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 8.16.3 Mode 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.1 Principal features . . . . . . . . . . . . . . . . . . . . . . . 1 8.16.4 Mode 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.2 Additional features . . . . . . . . . . . . . . . . . . . . . . 1 8.16.5 Mode 6 (P89LPC9102/9107) . . . . . . . . . . . . . 35
8.16.6 Timer overflow toggle output
3 Product comparison overview . . . . . . . . . . . . . 2
(P89LPC9102/9107) . . . . . . . . . . . . . . . . . . . 36
4 Ordering information . . . . . . . . . . . . . . . . . . . . . 3 8.17 RTC/system timer. . . . . . . . . . . . . . . . . . . . . . 36
4.1 Ordering options . . . . . . . . . . . . . . . . . . . . . . . . 3 8.18 UART (P89LPC9103/9107) . . . . . . . . . . . . . . 36
5 Block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . 4 8.18.1 Mode 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
6 Functional diagram . . . . . . . . . . . . . . . . . . . . . . 6 8.18.2 Mode 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
7 Pinning information . . . . . . . . . . . . . . . . . . . . . . 8 8.18.3 Mode 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
7.1 Pinning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 8.18.4 Mode 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
7.2 Pin description . . . . . . . . . . . . . . . . . . . . . . . . 10 8.18.5 Baud rate generator and selection . . . . . . . . . 37
8.18.6 Framing error . . . . . . . . . . . . . . . . . . . . . . . . . 37
8 Functional description . . . . . . . . . . . . . . . . . . 15
8.18.7 Break detect . . . . . . . . . . . . . . . . . . . . . . . . . . 37
8.1 Special function registers . . . . . . . . . . . . . . . . 15 8.18.8 Double buffering . . . . . . . . . . . . . . . . . . . . . . . 37
8.2 Enhanced CPU . . . . . . . . . . . . . . . . . . . . . . . . 27 8.18.9 Transmit interrupts with double buffering
8.3 Clocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 enabled (Modes 1, 2 and 3) . . . . . . . . . . . . . . 38
8.3.1 Clock definitions . . . . . . . . . . . . . . . . . . . . . . . 27 8.18.10 The 9th bit (bit 8) in double buffering
8.3.2 CPU clock (CCLK) . . . . . . . . . . . . . . . . . . . . . 27 (Modes 1, 2 and 3) . . . . . . . . . . . . . . . . . . . . . 38
8.4 On-chip RC oscillator option . . . . . . . . . . . . . . 27 8.19 Analog comparators . . . . . . . . . . . . . . . . . . . . 38
8.5 Watchdog oscillator option . . . . . . . . . . . . . . . 28 8.20 Internal reference voltage. . . . . . . . . . . . . . . . 38
8.6 External clock input option . . . . . . . . . . . . . . . 28 8.21 Comparator interrupt . . . . . . . . . . . . . . . . . . . 39
8.7 CCLK wake-up delay . . . . . . . . . . . . . . . . . . . 29 8.22 Comparator and power reduction modes . . . . 39
8.8 CCLK modification: DIVM register . . . . . . . . . 29 8.23 Keypad interrupt (KBI) . . . . . . . . . . . . . . . . . . 39
8.9 Low power select . . . . . . . . . . . . . . . . . . . . . . 29 8.24 Watchdog timer . . . . . . . . . . . . . . . . . . . . . . . 39
8.10 Memory organization . . . . . . . . . . . . . . . . . . . 29 8.25 Additional features . . . . . . . . . . . . . . . . . . . . . 40
8.11 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 8.25.1 Software reset . . . . . . . . . . . . . . . . . . . . . . . . 40
8.11.1 External interrupt inputs . . . . . . . . . . . . . . . . . 30 8.25.2 Dual data pointers . . . . . . . . . . . . . . . . . . . . . 40
8.12 I/O ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 8.26 Flash program memory . . . . . . . . . . . . . . . . . 41
8.12.1 Port configurations . . . . . . . . . . . . . . . . . . . . . 31 8.26.1 General description . . . . . . . . . . . . . . . . . . . . 41
8.12.2 Quasi-bidirectional output configuration . . . . . 32 8.26.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
8.12.3 Open-drain output configuration . . . . . . . . . . . 32 8.26.3 Flash organization . . . . . . . . . . . . . . . . . . . . . 41
8.12.4 Input-only configuration . . . . . . . . . . . . . . . . . 32 8.26.4 Flash programming and erasing. . . . . . . . . . . 41
8.12.5 Push-pull output configuration . . . . . . . . . . . . 32 8.26.5 In-circuit programming . . . . . . . . . . . . . . . . . . 42
8.12.6 Port 0 analog functions . . . . . . . . . . . . . . . . . . 32 8.26.6 In-application programming (IAP-Lite) . . . . . . 42
8.12.7 Additional port features. . . . . . . . . . . . . . . . . . 32 8.26.7 Using flash as data storage . . . . . . . . . . . . . . 42
8.13 Power monitoring functions. . . . . . . . . . . . . . . 33 8.26.8 User configuration bytes. . . . . . . . . . . . . . . . . 42
8.13.1 Brownout detection . . . . . . . . . . . . . . . . . . . . . 33 8.26.9 User sector security bytes . . . . . . . . . . . . . . . 42
8.13.2 Power-on detection . . . . . . . . . . . . . . . . . . . . . 33
9 A/D Converter . . . . . . . . . . . . . . . . . . . . . . . . . 43
8.14 Power reduction modes . . . . . . . . . . . . . . . . . 33
8.14.1 Idle mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 9.1 General description . . . . . . . . . . . . . . . . . . . . 43
8.14.2 Slow-down mode using the DIVM register . . . 34 9.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
8.14.3 Power-down mode . . . . . . . . . . . . . . . . . . . . . 34 9.3 Block diagram. . . . . . . . . . . . . . . . . . . . . . . . . 44
8.14.4 Total Power-down mode . . . . . . . . . . . . . . . . . 34 9.4 A/D operating modes . . . . . . . . . . . . . . . . . . . 44
8.15 Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 9.4.1 Fixed channel, single conversion mode . . . . . 44
8.16 Timers 0 and 1 . . . . . . . . . . . . . . . . . . . . . . . . 35 9.4.2 Fixed channel, continuous conversion mode . 44
8.16.1 Mode 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 9.4.3 Auto scan, single conversion mode . . . . . . . . 44
9.4.4 Auto scan, continuous conversion mode . . . . 44
continued >>
Please be aware that important notices concerning this document and the product(s)
described herein, have been included in section ‘Legal information’.
www.DatasheetCatalog.com