
Philips Semiconductors
Product data
P89C660/P89C662/P89C664/
P89C668
80C51 8-bit Flash microcontroller family
16KB/32KB/64KB ISP/IAP Flash with 512B/1KB/2KB/8KB RAM
2002 Oct 28
72
IAP CALL
PARAMETER
READ MANUFACTURER ID
Input Parameters:
R0 = osc freq (integer)
R1 = 00h
R1 = 80h (WDT feed, Rx2 & 66x only)
DPH = 00h
DPL = 00h (manufacturer ID)
Return Parameter
ACC = value of byte read
Sample routine:
;*****reads the Manufacturer ID (MID) *****
;***** MID returned in ACC (should be 15h for Philips)
RDMID:
MOV
AUXR1,#20H
MOV
R0,#11
MOV
R1,#00H
MOV
DPTR,#0000H
CALL
PGM_MTP
RET
;set the ENBOOT bit
;FOSC
;read misc function
;specify MID
;execute the function
READ DEVICE ID # 1
Input Parameters:
R0 = osc freq (integer)
R1 = 00h
R1 = 80h (WDT feed, Rx2 & 66x only)
DPH = 00h
DPL = 01h (device ID # 1)
Return Parameter
ACC = value of byte read
Sample routine:
;*****reads the Device ID 1 (DID1) *****
;***** DID1 returned in ACC
RDDID1:
MOV
AUXR1,#20H
MOV
R0,#11
MOV
R1,#00H
MOV
DPTR,#0001H
CALL
PGM_MTP
RET
;set the ENBOOT bit
;FOSC
;read misc function
;specify device id 1
;execute the function
READ DEVICE ID # 2
Input Parameters:
R0 = osc freq (integer)
R1 = 00h
R1 = 80h (WDT feed, Rx2 & 66x only)
DPH = 00h
DPL = 02h (device ID # 2)
Return Parameter
ACC = value of byte read
Sample routine:
;*****reads the Device ID 2 (DID2) *****
;***** DID2 returned in ACC
RDDID2:
MOV
AUXR1,#20H
MOV
R0,#11
MOV
R1,#00H
MOV
DPTR,#0002H
CALL
PGM_MTP
RET
;set the ENBOOT bit
;FOSC
;read misc function
;specify device id 2
;execute the function