P87C554SBAA NXP Semiconductors, P87C554SBAA Datasheet - Page 50

no-image

P87C554SBAA

Manufacturer Part Number
P87C554SBAA
Description
MCU 8-Bit 87C 80C51 CISC 16KB EPROM 5V 68-Pin PLCC Tube
Manufacturer
NXP Semiconductors
Datasheet

Specifications of P87C554SBAA

Package
68PLCC
Device Core
80C51
Family Name
87C
Maximum Speed
16 MHz
Ram Size
512 Byte
Program Memory Size
16 KB
Operating Supply Voltage
5 V
Data Bus Width
8 Bit
Program Memory Type
EPROM
Number Of Programmable I/os
40
Interface Type
I2C/UART
On-chip Adc
7-chx10-bit
Operating Temperature
0 to 70 °C
Number Of Timers
3

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Company:
Part Number:
P87C554SBAA
Quantity:
160
Part Number:
P87C554SBAA,512
Manufacturer:
NXP Semiconductors
Quantity:
10 000
Part Number:
P87C554SBAAЈ¬512
Manufacturer:
NXP
Quantity:
188
Philips Semiconductors
Software Examples of SIO1 Service Routines: This section
consists of a software example for:
– Initialization of SIO1 after a RESET
– Entering the SIO1 interrupt routine
– The 26 state service routines for the
I
In the initialization routine, SIO1 is enabled for both master and
slave modes. For each mode, a number of bytes of internal data
RAM are allocated to the SIO to act as either a transmission or
reception buffer. In this example, 8 bytes of internal data RAM are
reserved for different purposes. The data memory map is shown in
Figure 47. The initialization routine performs the following functions:
– S1ADR is loaded with the part’s own slave address and the
– P1.6 and P1.7 bit latches are loaded with logic 1s
– RAM location HADD is loaded with the high-order address byte of
– The SIO1 interrupt enable and interrupt priority bits are set
– The slave mode is enabled by simultaneously setting the ENS1
The SIO1 hardware now begins checking the I
slave address and general call. If the general call or the own slave
address is detected, an interrupt is requested and S1STA is loaded
with the appropriate state information. The following text describes a
fast method of branching to the appropriate service routine.
2003 Jan 28
NITIALIZATION
general call bit (GC)
the service routines
and AA bits in S1CON and the serial clock frequency (for master
modes) is defined by loading CR0 and CR1 in S1CON. The
master routines must be started in the main program.
80C51 8-bit microcontroller – 6-clock operation
16K/512 OTP/ROMless, 7 channel 10 bit A/D, I
high I/O, 64L LQFP
– Master transmitter mode
– Master receiver mode
– Slave receiver mode
– Slave transmitter mode
(1) Unsuccessful attempt to send a Start condition
(2) SDA line released
(3) Successful attempt to send a Start condition; state 08H is entered
STA FLAG
SDA LINE
SCL LINE
Figure 46. Recovering from a Bus Obstruction Caused by a Low Level on SDA
(1)
2
C bus for its own
(1)
2
C, PWM, capture/compare,
50
The state service routines are located in a 256-byte page of program
SIO
When the SIO1 interrupt is entered, the PSW is first pushed on the
stack. Then S1STA and HADD (loaded with the high-order address
byte of the 26 service routines by the initialization routine) are
pushed on to the stack. S1STA contains a status code which is the
lower byte of one of the 26 service routines. The next instruction is
RET, which is the return from subroutine instruction. When this
instruction is executed, the high and low order address bytes are
popped from stack and loaded into the program counter.
The next instruction to be executed is the first instruction of the state
service routine. Seven bytes of program code (which execute in
eight machine cycles) are required to branch to one of the 26 state
service routines.
SI
memory. The location of this page is defined in the initialization
routine. The page can be located anywhere in program memory by
loading data RAM register HADD with the page number. Page 01 is
chosen in this example, and the service routines are located
between addresses 0100H and 01FFH.
T
The state service routines are located 8 bytes from each other. Eight
bytes of code are sufficient for most of the service routines. A few of
the routines require more than 8 bytes and have to jump to other
locations to obtain more bytes of code. Each state routine is part of
the SIO1 interrupt routine and handles one of the 26 states. It ends
with a RETI instruction which causes a return to the main program.
HE
1
S
I
TATE
NTERRUPT
PUSH PSW
PUSH S1STA
PUSH HADD
RET
S
(2)
ERVICE
START CONDITION
R
OUTINE
R
OUTINES
(3)
Save PSW
Push status code
(low order address byte)
Push high order address byte
Jump to state service routine
SU00977
80C554/87C554
Product data

Related parts for P87C554SBAA