Datasheet

20
1921D–MICRO–6/08
AT89C55WD
19. Program Memory Lock Bits
The AT89C55WD has three lock bits that can be left unprogrammed (U) or can be programmed
(P) to obtain the additional features listed in the following table.
When lock bit 1 is programmed, the logic level at the EA
pin is sampled and latched during reset.
If the device is powered up without a reset, the latch initializes to a random value and holds that
value until reset is activated. The latched value of EA
must agree with the current logic level at
that pin in order for the device to function properly.
20. Programming the Flash
The AT89C55WD is shipped with the on-chip Flash memory array ready to be programmed. The
programming interface needs a high-voltage (12-volt) program enable signal and is compatible
with conventional third-party Flash or EPROM programmers.
The AT89C55WD code memory array is programmed byte-by-byte.
Programming Algorithm: Before programming the AT89C55WD, the address, data, and con-
trol signals should be set up according to the Flash programming mode table and Figures 21-1
and 21-2. To program the AT89C55WD, take the following steps:
1. Input the desired memory location on the address lines.
2. Input the appropriate data byte on the data lines.
3. Activate the correct combination of control signals.
4. Raise EA
/V
PP
to 12V.
5. Pulse ALE/PROG
once to program a byte in the Flash array or the lock bits. The byte-
write cycle is self-timed and typically takes no more than 50 µs. Repeat steps 1
through 5, changing the address and data for the entire array or until the end of the
object file is reached.
Table 19-1. Lock Bit Protection Modes
Program Lock Bits
Protection TypeLB1 LB2 LB3
1 U U U No program lock features.
2PUU
MOVC instructions executed from external program memory are
disabled from fetching code bytes from internal memory, EA
is
sampled and latched on reset, and further programming of the Flash
memory is disabled.
3 P P U Same as mode 2, but verify is also disabled.
4 P P P Same as mode 3, but external execution is also disabled.