13.07.2015 Views

P89C51RB2/P89C51RC2/P89C51RD2 80C51 8-bit Flash ...

P89C51RB2/P89C51RC2/P89C51RD2 80C51 8-bit Flash ...

P89C51RB2/P89C51RC2/P89C51RD2 80C51 8-bit Flash ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Philips Semiconductors<strong>80C51</strong> 8-<strong>bit</strong> <strong>Flash</strong> microcontroller family16KB/32KB/64KB ISP/IAP <strong>Flash</strong> with 512B/512B/1KB RAMPreliminary specification<strong>P89C51RB2</strong>/<strong>P89C51RC2</strong>/<strong>P89C51RD2</strong>FFFFBLOCK 416 kBBOOT ROM(1 kB)FFFFFC0089C51RD2C000BLOCK 3PROGRAMADDRESS16 kB800089C51RC289C51RB240002000BLOCK 216 kBBLOCK 18 kBBLOCK 000008 kBSU01298Figure 43. <strong>Flash</strong> Memory ConfigurationsPower-On Reset Code ExecutionThe <strong>P89C51RB2</strong>/RC2/RD2 contains two special <strong>Flash</strong> registers: theBOOT VECTOR and the STATUS BYTE. At the falling edge of reset,the <strong>P89C51RB2</strong>/RC2/RD2 examines the contents of the StatusByte. If the Status Byte is set to zero, power-up execution starts atlocation 0000H, which is the normal start address of the user’sapplication code. When the Status Byte is set to a value other thanzero, the contents of the Boot Vector is used as the high byte of theexecution address and the low byte is set to 00H. The factorydefault setting is 0FCH, corresponds to the address 0FC00H for thefactory masked-ROM ISP boot loader. A custom boot loader can bewritten with the Boot Vector set to the custom boot loader.NOTE: When erasing the Status Byte or Boot Vector,both bytes are erased at the same time. It is necessaryto reprogram the Boot Vector after erasing andupdating the Status Byte.Hardware Activation of the Boot LoaderThe boot loader can also be executed by holding PSEN LOW,EA greater than V IH (such as +5 V), and ALE HIGH (or not connected)at the falling edge of RESET. This is the same effect as having anon-zero status byte. This allows an application to be built that willnormally execute the end user’s code but can be manually forcedinto ISP operation.If the factory default setting for the Boot Vector (0FCH) is changed, itwill no longer point to the ISP masked-ROM boot loader code. If thishappens, the only way it is possible to change the contents of theBoot Vector is through the parallel programming method, providedthat the end user application does not contain a customized loaderthat provides for erasing and reprogramming of the Boot Vector andStatus Byte.After programming the <strong>Flash</strong>, the status byte should be programmedto zero in order to allow execution of the user’s application codebeginning at address 0000H.1999 Nov 22 40

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!