Specifications

Chapter 2 - Microcontroller PIC16F84
Previous page Table of contents Chapter overview Next page
2.5 Memory organization
PIC16F84 has two separate memory blocks, one for data and the other for program. EEPROM
memory and GPR registers in RAM memory make up a data block, and FLASH memory makes up a
program block.
Program memory
Program memory has been realized in FLASH technology which makes it possible to program a
microcontroller many times before it's installed into a device, and even after its installment if
eventual changes in program or process parameters should occur. The size of program memory is
1024 locations with 14 bits width where locations zero and four are reserved for reset and
interrupt vector.
Data memory
Data memory consists of EEPROM and RAM memories. EEPROM memory consists of 64 eight bit
locations whose contents is not lost during loosing of power supply. EEPROM is not directly
addressible, but is accessed indirectly through EEADR and EEDATA registers. As EEPROM memory
usually serves for storing important parameters (for example, of a given temperature in
temperature regulators) , there is a strict procedure for writing in EEPROM which must be followed
in order to avoid accidental writing. RAM memory for data occupies space on a memory map from
location 0x0C to 0x4F which comes to 68 locations. Locations of RAM memory are also called GPR
registers which is an abbreviation for General Purpose Registers. GPR registers can be accessed
regardless of which bank is selected at the moment.
SFR registers
Registers which take up first 12 locations in banks 0 and 1 are registers of specialized function
assigned with certain blocks of the microcontroller. These are called Special Function Registers.
http://www.mikroelektronika.co.yu/english/product/books/PICbook/2_06Poglavlje.htm (1 of 5) [4/2/2003 16:17:50]