English
Language : 

PIC16F87X_02 Datasheet, PDF (6/22 Pages) Microchip Technology – EEPROM Memory Programming Specification
PIC16F87X
2.4.2.3 Load Data for Data Memory
After receiving this command, the chip will load in a
14-bit “data word” when 16 cycles are applied. How-
ever, the data memory is only 8-bits wide, and thus,
only the first 8-bits of data after the START bit will be
programmed into the data memory. It is still necessary
to cycle the clock the full 16 cycles in order to allow the
internal circuitry to reset properly. The data memory
contains up to 256 bytes. If the device is code pro-
tected, the data is read as all zeros.
2.4.2.4 Read Data from Program Memory
After receiving this command, the chip will transmit
data bits out of the program memory (user or configu-
ration) currently accessed, starting with the second ris-
ing edge of the clock input. The RB7 pin will go into
Output mode on the second rising clock edge, and it
will revert back to Input mode (hi-impedance) after the
16th rising edge. A timing diagram of this command is
shown in Figure 6-2.
2.4.2.5 Read Data from Data Memory
After receiving this command, the chip will transmit
data bits out of the data memory starting with the sec-
ond rising edge of the clock input. The RB7 pin will go
into Output mode on the second rising edge, and it will
revert back to Input mode (hi-impedance) after the 16th
rising edge. As previously stated, the data memory is
8-bits wide, and therefore, only the first 8-bits that are
output are actual data.
2.4.2.6 Increment Address
The PC is incremented when this command is
received. A timing diagram of this command is shown
in Figure 6-3.
2.4.2.7 Begin Erase/Program Cycle
A load command must be given before every begin
programming command. Programming of the appro-
priate memory (test program memory, user program
memory or data memory) will begin after this command
is received and decoded. An internal timing mechanism
executes an erase before write. The user must allow for
both erase and programming cycle times for program-
ming to complete. No “end programming” command is
required.
2.4.2.8 Begin Programming
Note: The Begin Program operation must take
place at 4.5 to 5.5 VDD range.
A load command must be given before every begin
programming command. Programming of the appro-
priate memory (test program memory, user program
memory or data memory) will begin after this command
is received and decoded. An internal timing mechanism
executes a write. The user must allow for program
cycle time for programming to complete. No “end pro-
gramming” command is required.
This command is similar to the ERASE/PROGRAM
CYCLE command, except that a word erase is not
done. It is recommended that a bulk erase be per-
formed before starting a series of programming only
cycles.
TABLE 2-2: COMMAND MAPPING FOR PIC16F87X
Command
Mapping (MSB … LSB)
Load Configuration
X
X
0
0
0
Load Data for Program Memory
X
X
0
0
1
Read Data from Program Memory X
X
0
1
0
Increment Address
X
X
0
1
1
Begin Erase Programming Cycle
0
0
1
0
0
Begin Programming Only Cycle
0
1
1
0
0
Load Data for Data Memory
X
X
0
0
1
Read Data from Data Memory
X
X
0
1
0
Bulk Erase Setup1
0
0
0
0
0
Bulk Erase Setup2
0
0
0
1
1
Data
Voltage
Range
0 0, data (14), 0 2.2V - 5.5V
0 0, data (14), 0 2.2V - 5.5V
0 0, data (14), 0 2.2V - 5.5V
0
2.2V - 5.5V
0
2.2V - 5.5V
0
4.5V - 5.5V
1 0, data (14), 0 2.2V - 5.5V
1 0, data (14), 0 2.2V - 5.5V
1
4.5V - 5.5V
1
4.5V - 5.5V
DS39025F-page 6
 2002 Microchip Technology Inc.