English
Language : 

TB025 Datasheet, PDF (1/8 Pages) Microchip Technology – Microcontrollers
M
TB025
Downloading HEX Files to PIC16F87X PICmicro® Microcontrollers
Author: Rodger Richey
Microchip Technology Inc.
INTRODUCTION
The release of the PIC16F87X devices introduces the
first mid-range family of devices from Microchip Tech-
nology that has the capability to read and write to inter-
nal program memory. This family has FLASH-based
program memory, SRAM data memory and EEPROM
data memory. The FLASH program memory allows for
a truly reprogrammable system. Table 1 shows the fea-
tures of the PIC16F87X family of devices.
TABLE 1
PIC16F87X FAMILY FEATURES
ACCESSING MEMORY
The read and write operations are controlled by a set of
Special Function Registers (SFRs). There are six
SFRs required to access the FLASH program memory:
• EECON1
• EECON2
• EEDATA
• EEDATH
• EEADR
• EEADRH
The registers EEADRH:EEADR holds the 12-bit address
required to access a location in the 8K words of pro-
gram memory. The registers EEDATH:EEDATA are used
to hold the data values. When reading program mem-
ory, the EEPGD bit (EECON1<7>) must be set to indicate
to the microcontroller that the operation is going to be
on program memory. If the bit is cleared, the operation
will be performed on data memory at the address
pointed to by EEADR. The EEDATA register will hold the
data. The EECON1 register also has bits for write enable
and to initiate the read or write operation. There is also
a bit to indicate a write error has occurred, possibly due
to a reset condition happening while a write operation
is in progress. Figure 1 shows the register map for
EECON1.
The EECON2 register is not a physical register. Reading
it will result in all '0's. This register is used exclusively
in the EEPROM and FLASH write sequences. Listing 1
shows the code snippet to initiate a write operation on
the PIC16F87X devices.
Key Features
Operating Frequency
Resets
Flash Prog Memory (14-bit words)
Data Memory (bytes)
EEPROM Data Memory
Interrupts
I/O Ports
Timers
Capture/Compare/PWM modules
Serial Communications
Parallel Communications
10-bit Analog-to-Digital Module
PIC16F873
DC - 20 MHz
POR, BOR
4K
192
128
13
Ports A,B,C
3
2
MSSP, USART
—
5 input channels
PIC16F874
DC - 20 MHz
POR, BOR
4K
192
128
14
Ports A,B,C,D,E
3
2
MSSP, USART
PSP
8 input channels
PIC16F876
DC - 20 MHz
POR, BOR
8K
368
256
13
Ports A,B,C
3
2
MSSP, USART
—
5 input channels
PIC16F877
DC - 20 MHz
POR, BOR
8K
368
256
14
Ports A,B,C,D,E
3
2
MSSP, USART
PSP
8 input channels
© 1998 Microchip Technology Inc.
DS91025A-page 1