English
Language : 

80C554 Datasheet, PDF (54/76 Pages) NXP Semiconductors – 80C51 8-bit microcontroller . 6 clock operation 16K/512 OTP/ROM/ROMless, 7 channel 10 bit A/D, I2C, PWM, capture/compare, high I/O, 64L LQFP
Philips Semiconductors
80C51 8-bit microcontroller – 6 clock operation
16K/512 OTP/ROM/ROMless, 7 channel 10 bit A/D, I2C, PWM,
capture/compare, high I/O, 64L LQFP
Preliminary specification
80C554/83C554/87C554
0000 4100
0200 75DB31
0203
0205
0207
020A
020D
020F
D296
D297
755001
43A8A0
C2BD
75D8C5
0212
0215
0218
755204
7551C0
D2DD
021A
021D
0220
755204
7551C1
D2DD
002B
002D
002F
0031
C0D0
C0D9
C050
22
0100
0103
0105
75D8D5
D0D0
32
2000 Nov 10
!********************************************************************************************************
! INITIALIZATION ROUTINE
! Example to initialize IIC Interface as slave receiver or slave transmitter and
! start a MASTER TRANSMIT or a MASTER RECEIVE function. 4 bytes will be transmitted or received.
!********************************************************************************************************
.sect
strt
.base
0x00
ajmp INIT
! RESET
.sect
.base
INIT:
initial
0x200
mov S1ADR,#OWNSLA
! Load own SLA + enable
! general call recognition
setb P1(6)
! P1.6 High level.
setb P1(7)
! P1.7 High level.
mov HADD,#PAG1
orl IEN0,#ENSI01
! Enable SI01 interrupt
clr SI01HP
! SI01 interrupt low priority
mov S1CON, #ENS1_NOTSTA_NOTSTO_NOTSI_AA_CR0
! Initialize SLV funct.
!********************************************************************************************************
!– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
! START MASTER TRANSMIT FUNCTION
!– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
mov NUMBYTMST,#0x4
mov SLA,#SLAW
setb STA
! Transmit 4 bytes.
! SLA+W, Transmit funct.
! set STA in S1CON
!– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
! START MASTER RECEIVE FUNCTION
!– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
mov NUMBYTMST,#0x4
! Receive 4 bytes.
mov SLA,#SLAR
! SLA+R, Receive funct.
setb STA
! set STA in S1CON
!********************************************************************************************************
! SI01 INTERRUPT ROUTINE
!********************************************************************************************************
.sect
intvec
! SI01 interrupt vector
.base
0x00
! S1STA and HADD are pushed onto the stack.
! They serve as return address for the RET instruction.
! The RET instruction sets the Program Counter to address HADD,
! S1STA and jumps to the right subroutine.
push psw
push S1STA
push HADD
ret
! save psw
! JMP to address HADD,S1STA.
!– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
! STATE : 00, Bus error.
! ACTION : Enter not addressed SLV mode and release bus. STO reset.
!– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
.sect
st0
.base
0x100
mov S1CON,#ENS1_NOTSTA_STO_NOTSI_AA_CR0 ! clr SI
! set STO,AA
pop psw
reti
54