P87C552SBAA NXP Semiconductors, P87C552SBAA Datasheet - Page 49

no-image

P87C552SBAA

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

Specifications of P87C552SBAA

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

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
P87C552SBAA
Manufacturer:
SILICON
Quantity:
1 001
Part Number:
P87C552SBAA
Manufacturer:
PHILIPS
Quantity:
8
Part Number:
P87C552SBAA
Manufacturer:
NXPL
Quantity:
5 510
Part Number:
P87C552SBAA
Manufacturer:
NXP
Quantity:
1 135
Part Number:
P87C552SBAA
Manufacturer:
PHILIPS
Quantity:
11
Part Number:
P87C552SBAA,512
Manufacturer:
NXP Semiconductors
Quantity:
10 000
Part Number:
P87C552SBAAЈ¬512
Manufacturer:
NXP
Quantity:
1 062
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 46. 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 Apr 01
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
8K/256 OTP, 8 channel 10 bit A/D, I
capture/compare, high I/O, low voltage (2.7 V to 5.5 V), low power
– 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 45. Recovering from a Bus Obstruction Caused by a Low Level on SDA
(1)
2
C bus for its own
2
C, PWM,
(1)
49
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
P87C552
Product data

Related parts for P87C552SBAA