English
Language : 

PIC18F87J11_12 Datasheet, PDF (69/466 Pages) Microchip Technology – 64/80-Pin, High-Performance, 1-Mbit Flash Microcontrollers
PIC18F87J11 FAMILY
6.1.3
PIC18F8XJ11/8XJ16 PROGRAM
MEMORY MODES
The 80-pin devices in this family can address up to a
total of 2 Mbytes of program memory. This is achieved
through the External Memory Bus (EMB). There are two
distinct operating modes available to the controllers:
• Microcontroller (MC)
• Extended Microcontroller (EMC)
The program memory mode is determined by setting
the EMBx Configuration bits (CONFIG3L<5:4>), as
shown in Register 6-1. (See also Section 25.1
“Configuration Bits” for additional details on the
device Configuration bits.)
The program memory modes operate as follows:
• The Microcontroller Mode accesses only on-chip
Flash memory. Attempts to read above the top of
on-chip memory causes a read of all ‘0’s (a NOP
instruction).
The Microcontroller mode is also the only operating
mode available to 64-pin devices.
• The Extended Microcontroller Mode allows
access to both internal and external program
memories as a single block. The device can
access its entire on-chip program memory; above
this, the device accesses external program
memory up to the 2-Mbyte program space limit.
Execution automatically switches between the
two memories as required.
The setting of the EMBx Configuration bits also con-
trols the address bus width of the External Memory
Bus. This is covered in more detail in Section 8.0
“External Memory Bus”.
In all modes, the microcontroller has complete access
to data RAM.
Figure 6-3 compares the memory maps of the different
program memory modes. The differences between
on-chip and external memory access limitations are
more fully explained in Table 6-2.
REGISTER 6-1: CONFIG3L: CONFIGURATION REGISTER 3 LOW
R/WO-1
R/WO-1
R/WO-1
R/WO-1
R/WO-1
U-0
WAIT(1)
BW(1)
EMB1(1)
EMB0(1) EASHFT(1)
—
bit 7
U-0
U-0
—
—
bit 0
Legend:
R = Readable bit
-n = Value at POR
WO = Write-Once bit
W = Writable bit
‘1’ = Bit is set
U = Unimplemented bit, read as ‘0’
‘0’ = Bit is cleared
x = Bit is unknown
bit 7
bit 6
bit 5-4
bit 3
bit 2-0
WAIT: External Bus Wait Enable bit(1)
1 = Wait states on the external bus are disabled
0 = Wait states on the external bus are enabled and selected by MEMCON<5:4>
BW: Data Bus Width Select bit(1)
1 = 16-Bit Data Width modes
0 = 8-Bit Data Width modes
EMB1:EMB0: External Memory Bus Configuration bits(1)
11 = Microcontroller mode, external bus disabled
10 = Extended Microcontroller mode, 12-bit address width for external bus
01 = Extended Microcontroller mode, 16-bit address width for external bus
00 = Extended Microcontroller mode, 20-bit address width for external bus
EASHFT: External Address Bus Shift Enable bit(1)
1 = Address shifting is enabled – external address bus is shifted to start at 000000h
0 = Address shifting is disabled – external address bus reflects the PC value
Unimplemented: Read as ‘0’
Note 1: These bits are implemented only on 80-pin devices.
 2007-2012 Microchip Technology Inc.
DS39778E-page 69