Philips Semiconductors
Preliminary data
P89C51RB2/P89C51RC2/
P89C51RD2
80C51 8-bit Flash microcontroller family
16KB/32KB/64KB ISP/IAP Flash with 512B/512B/1KB RAM
2001 Jun 27
44
RECORD TYPE
COMMAND/DATA FUNCTION
03
Miscellaneous Write Functions
:nnxxxx03ffssddcc
Where:
nn
= number of bytes (hex) in record
xxxx
= required field, but value is a “don’t care”
03
= Write Function
ff
= subfunction code
ss
= selection code
dd
= data input (as needed)
cc
= checksum
Subfunction Code = 01 (Erase Blocks)
ff = 01
ss = block code as shown below:
block 0,
0k to
8k, 00H
block 1,
8k to 16k, 20H
block 2, 16k to 32k, 40H
block 3, 32k to 48k, 80H
block 4, 48k to 64k, C0H
Example:
:0200000301C03A
erase block 4
Subfunction Code = 04 (Erase Boot Vector and Status Byte)
ff = 04
ss = don’t care
Example:
:020000030400F7
erase boot vector and status byte
Subfunction Code = 05 (Program Security Bits)
ff = 05
ss = 00 program security bit 1
(inhibit writing to Flash)
01 program security bit 2
(inhibit Flash verify)
02 program security bit 3
(disable external memory)
Example:
:020000030501F5
program security bit 2
Subfunction Code = 06 (Program Status Byte or Boot Vector)
ff = 06
ss = 00 program status byte
01 program boot vector
Example:
:030000030601FCF7
program boot vector with 0FCH
Subfunction Code = 07 (Full Chip Erase)
Erases all blocks, security bits, and sets status and boot vector to default values
ff = 07
ss = don’t care
dd = don’t care
Example:
:0100000307F5 full chip erase
04
Display Device Data or Blank Check – Record type 04 causes the contents of the entire Flash array to be sent out
the serial port in a formatted display. This display consists of an address and the contents of 16 bytes starting with that
address. No display of the device contents will occur if security bit 2 has been programmed. Data to the serial port is
initiated by the reception of any character and terminated by the reception of any character.
General Format of Function 04
:05xxxx04sssseeeeffcc
Where:
05
= number of bytes (hex) in record
xxxx
= required field, but value is a “don’t care”
04
= “Display Device Data or Blank Check” function code
ssss
= starting address
eeee
= ending address
ff
= subfunction
00 = display data
01 = blank check
cc
= checksum
Example:
:0500000440004FFF0069
display 4000–4FFF