P87C51X2BBD NXP Semiconductors, P87C51X2BBD Datasheet - Page 35
![no-image](/images/manufacturer_photos/0/4/487/nxp_semiconductors_sml.jpg)
P87C51X2BBD
Manufacturer Part Number
P87C51X2BBD
Description
MCU 8-Bit 87C 80C51 CISC 4KB EPROM 5V 44-Pin LQFP Tray
Manufacturer
NXP Semiconductors
Datasheet
1.P87C52X2BN112.pdf
(62 pages)
Specifications of P87C51X2BBD
Package
44LQFP
Device Core
80C51
Family Name
87C
Maximum Speed
33 MHz
Ram Size
128 Byte
Program Memory Size
4 KB
Operating Supply Voltage
5 V
Data Bus Width
8 Bit
Program Memory Type
EPROM
Number Of Programmable I/os
32
Interface Type
UART
Operating Temperature
0 to 70 °C
Number Of Timers
3
Available stocks
Company
Part Number
Manufacturer
Quantity
Price
Company:
Part Number:
P87C51X2BBD
Manufacturer:
ENE
Quantity:
14
Company:
Part Number:
P87C51X2BBD,157
Manufacturer:
NXP Semiconductors
Quantity:
10 000
Company:
Part Number:
P87C51X2BBDЈ¬157
Manufacturer:
NXP
Quantity:
10
some cases it also clears the flag that generated the interrupt, and in
Philips Semiconductors
The polling cycle/LCALL sequence is illustrated in Figure 25.
Note that if an interrupt of higher priority level goes active prior to
S5P2 of the machine cycle labeled C3 in Figure 25, then in
accordance with the above rules it will be vectored to during C5 and
C6, without any instruction of the lower priority routine having been
executed.
Thus the processor acknowledges an interrupt request by executing
a hardware-generated LCALL to the appropriate servicing routine. In
other cases it doesn’t. It never clears the Serial Port flag. This has to
be done in the user’s software. It clears an external interrupt flag
(IE0 or IE1) only if it was transition-activated. The
hardware-generated LCALL pushes the contents of the Program
Counter on to the stack (but it does not save the PSW) and reloads
the PC with an address that depends on the source of the interrupt
being vectored to, as shown in Table 8.
Execution proceeds from that location until the RETI instruction is
encountered. The RETI instruction informs the processor that this
interrupt routine is no longer in progress, then pops the top two
bytes from the stack and reloads the Program Counter. Execution of
the interrupted program continues from where it left off.
Note that a simple RET instruction would also have returned
execution to the interrupted program, but it would have left the
interrupt control system thinking an interrupt was still in progress,
making future interrupts impossible.
External Interrupts
The external sources can be programmed to be level-activated or
transition-activated by setting or clearing bit IT1 or IT0 in Register
TCON. If ITx = 0, external interrupt x is triggered by a detected low
at the INTx pin. If ITx = 1, external interrupt x is edge triggered. In
this mode if successive samples of the INTx pin show a high in one
cycle and a low in the next cycle, interrupt request flag IEx in TCON
is set. Flag bit IEx then requests the interrupt.
Since the external interrupt pins are sampled once each machine
cycle, an input high or low should hold for at least 12 oscillator
periods to ensure sampling. If the external interrupt is
transition-activated, the external source has to hold the request pin
high for at least one cycle, and then hold it low for at least one cycle.
This is done to ensure that the transition is seen so that interrupt
request flag IEx will be set. IEx will be automatically cleared by the
CPU when the service routine is called.
If the external interrupt is level-activated, the external source has to
hold the request active until the requested interrupt is actually
generated. Then it has to deactivate the request before the interrupt
2003 Jan 24
80C51 8-bit microcontroller family
4K/8K/16K/32K ROM/OTP, low voltage (2.7 to 5.5 V),
low power, high speed (30/33 MHz)
Interrupt
Active
Goes
. . . . . . . . .
. . . . . . . . .
Interrupt
Latched
S5P2
This is the fastest possible response when C2 is the final cycle of an instruction other than RETI or an access to IE or IP.
C1
S6
Figure 25. Interrupt Response Timing Diagram
Are Polled
Interrupts
C2
C3
35
priority level is already in progress, the additional wait time obviously
service routine is completed, or else another interrupt will be
generated.
Response Time
The INT0 and INT1 levels are inverted and latched into IE0 and IE1
at S5P2 of every machine cycle. The values are not actually polled
by the circuitry until the next machine cycle. If a request is active
and conditions are right for it to be acknowledged, a hardware
subroutine call to the requested service routine will be the next
instruction to be executed. The call itself takes two cycles. Thus, a
minimum of three complete machine cycles elapse between
activation of an external interrupt request and the beginning of
execution of the first instruction of the service routine. Figure 25
shows interrupt response timings.
A longer response time would result if the request is blocked by one
of the 3 previously listed conditions. If an interrupt of equal or higher
depends on the nature of the other interrupt’s service routine. If the
instruction in progress is not in its final cycle, the additional wait time
cannot be more the 3 cycles, since the longest instructions (MUL
and DIV) are only 4 cycles long, and if the instruction in progress is
RETI or an access to IE or IP, the additional wait time cannot be
more than 5 cycles (a maximum of one more cycle to complete the
instruction in progress, plus 4 cycles to complete the next instruction
if the instruction is MUL or DIV).
Thus, in a single-interrupt system, the response time is always more
than 3 cycles and less than 9 cycles.
As previously mentioned, the derivatives described in this data
sheet have a four-level interrupt structure. The corresponding
registers are IE, IP and IPH. (See Figures 22, 23, and 24.) The IPH
(Interrupt Priority High) register makes the four-level interrupt
structure possible.
The function of the IPH SFR is simple and when combined with the
IP SFR determines the priority of each interrupt. The priority of each
interrupt is determined as shown in the following table:
Vector Address
IPH.x
Long Call to
PRIORITY BITS
Interrupt
0
0
1
1
C4
IP.x
0
1
0
1
P80C3xX2; P80C5xX2;
Level 0 (lowest priority)
Level 1
Level 2
Level 3 (highest priority)
INTERRUPT PRIORITY LEVEL
INTERRUPT PRIORITY LEVEL
Interrupt Routine
C5
P87C5xX2
SU00546
Product data
. . . .
. . . .
. . . .