program mem
program mem
These are:
1.Program memory
2.Data memory.
Each block has its own bus, so that access to
each block can occur during the same oscillator
cycle.
The data memory can further be broken down
into:
1.General purpose RAM or Registers (GPR)
2.Special Function Registers (SFRs)
The PIC16F818/819 devices have a 13-bit
program counter capable of addressing an 8K x
14 program memory space.
For the PIC16F818, the first 1K x 14 (0000h-
03FFh) is physically implemented.
For the PIC16F819, the first 2K x 14 is located at
0000h-07FFh. Accessing a location above the
physically implemented address will cause a
wraparound. For example, the same instruction
will be accessed at locations 020h, 420h, 820h,
C20h, 1020h, 1420h, 1820h and 1C20h.
The Reset vector is at 0000h and the interrupt
vector is at 0004h.
The data memory is partitioned into multiple banks that
contain:
The General Purpose Registers
The Special Function Registers.
Bits RP1 (Status<6>) and RP0 (Status<5>) are the bank
select bits.
Each bank extends up to 7Fh (128 bytes).
The lower locations of each bank are reserved for the
Special Function Registers.
Above the Special Function Registers are the General
Purpose Registers, implemented as static RAM.
All implemented banks contain SFRs.