Philips Semiconductors
P89LPC920/921/922/9221
8-bit microcontrollers with two-clock 80C51 core
Product data Rev. 08 — 15 December 2004 16 of 46
9397 750 14469
© Koninklijke Philips Electronics N.V. 2004. All rights reserved.
Fig 5. Block diagram of oscillator control.
÷2
002aaa424
RTC
CPU
WDT
BAUD RATE
GENERATOR
DIVM
CCLK
UART
OSCCLK
I
2
C
PCLK
TIMER 0 and
TIMER 1
High freq.
Med. freq.
Low freq.
XTAL1
XTAL2
RC
OSCILLATOR
WATCHDOG
OSCILLATOR
(7.3728 MHz)
(400 kHz)
Philips Semiconductors
P89LPC920/921/922/9221
8-bit microcontrollers with two-clock 80C51 core
Product data Rev. 08 — 15 December 2004 17 of 46
9397 750 14469
© Koninklijke Philips Electronics N.V. 2004. All rights reserved.
8.6 CPU Clock (CCLK) wake-up delay
The P89LPC920/921/922/9221 has an internal wake-up timer that delays the clock
until it stabilizes depending to the clock source used. If the clock source is any of the
three crystal selections (low, medium and high frequencies) the delay is
992 OSCCLK cycles plus 60 to 100 µs. If the clock source is either the internal RC
oscillator, watchdog oscillator, or external clock, the delay is 224 OSCCLK cycles plus
60 to 100 µs.
8.7 CPU Clock (CCLK) modification: DIVM register
The OSCCLK frequency can be divided down up to 510 times by configuring a
dividing register, DIVM, to generate CCLK. This feature makes it possible to
temporarily run the CPU at a lower rate, reducing power consumption. By dividing the
clock, the CPU can retain the ability to respond to events that would not exit Idle
mode by executing its normal program at a lower rate. This can also allow bypassing
the oscillator start-up 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.
8.8 Low power select
The P89LPC920/921/922/9221 is designed to run at 18 MHz (CCLK) maximum.
However, if CCLK is 8 MHz or slower, the CLKLP SFR bit (AUXR1.7) can be set to ‘1’
to lower the power consumption further. On any reset, CLKLP is ‘0’ allowing highest
performance access. This bit can then be set in software if CCLK is running at 8 MHz
or slower.
8.9 Memory organization
The various P89LPC920/921/922/9221 memory spaces are as follows:
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.
IDATA
Indirect Data. 256 bytes of internal data memory space (00h:FFh) accessed via
indirect addressing using instructions other than MOVX and MOVC. All or part of
the Stack may be in this area. This area includes the DATA area and the 128 bytes
immediately above it.
SFR
Special Function Registers. Selected CPU registers and peripheral control and
status registers, accessible only via direct addressing.
CODE
64 kB of Code memory space, accessed as part of program execution and via the
MOVC instruction. The P89LPC920/921/922/9221 has 2 kB/4 kB/8 kB of on-chip
Code memory.
Philips Semiconductors
P89LPC920/921/922/9221
8-bit microcontrollers with two-clock 80C51 core
Product data Rev. 08 — 15 December 2004 18 of 46
9397 750 14469
© Koninklijke Philips Electronics N.V. 2004. All rights reserved.
8.10 Data RAM arrangement
The 256 bytes of on-chip RAM are organized as shown in Table 5.
8.11 Interrupts
The P89LPC920/921/922/9221 uses a four priority level interrupt structure. This
allows great flexibility in controlling the handling of the many interrupt sources. The
P89LPC920/921/922/9221 supports 12 interrupt sources: external interrupts 0 and 1,
timers 0 and 1, serial port Tx, serial port Rx, combined serial port Rx/Tx, brownout
detect, watchdog/real-time clock, I
2
C, keyboard, and comparators 1 and 2.
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.
8.11.1 External interrupt inputs
The P89LPC920/921/922/9221 has two external interrupt inputs as well as the
Keypad Interrupt function. The two interrupt inputs are identical to those present on
the standard 80C51 microcontrollers.
These external interrupts can be programmed to be level-triggered or edge-triggered
by setting or clearing bit IT1 or IT0 in Register TCON.
In edge-triggered mode if successive samples of the INTn pin show a HIGH in one
cycle and a LOW in the next cycle, the interrupt request flag IEn in TCON is set,
causing an interrupt request.
If an external interrupt is enabled when the P89LPC920/921/922/9221 is put into
Power-down 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.
Table 5: On-chip data memory usages
Type Data RAM Size (bytes)
DATA Memory that can be addressed directly and indirectly 128
IDATA Memory that can be addressed indirectly 256

P89LPC921FDH,518

Mfr. #:
Manufacturer:
NXP Semiconductors
Description:
Microcontrollers - MCU 8-bit Microcontrollers - MCU 8B MCU 80C51 2/4/8KB 3V FL 256B RAM
Lifecycle:
New from this manufacturer.
Delivery:
DHL FedEx Ups TNT EMS
Payment:
T/T Paypal Visa MoneyGram Western Union