Professional Documents
Culture Documents
Manual Microchip
Manual Microchip
DEVICE OVERVIEW
PIC18F2580
PIC18F4480
PIC18F2321
PIC18F2585
PIC18F4510
PIC18F2410
PIC18F2610
PIC18F4515
PIC18F2420
PIC18F2620
PIC18F4520
PIC18F2423
PIC18F2680
PIC18F4523
PIC18F2450
PIC18F2682
PIC18F4525
PIC18F2455
PIC18F2685
PIC18F4550
PIC18F2458
PIC18F4221
PIC18F4553
PIC18F2480
PIC18F4321
PIC18F4580
PIC18F2510
PIC18F4410
PIC18F4585
PIC18F2515
PIC18F4420
PIC18F4610
PIC18F2520
PIC18F4423
PIC18F4620
PIC18F2523
PIC18F4450
PIC18F4680
PIC18F2525
PIC18F4455
PIC18F4682
PIC18F2550
PIC18F4458
PIC18F4685
2.1
2.1.1
PROGRAMMING OVERVIEW
PIC18F2XXX/4XXX
family devices can be
programmed using either the high-voltage In-Circuit
Serial Programming (ICSP) method or the
low-voltage ICSP method. Both methods can be done
with the device in the users system. The low-voltage
TABLE 2-1:
LOW-VOLTAGE ICSP
PROGRAMMING
PIC18F2553
2.0
Hardware Requirements
2.2
Pin Diagrams
Pin Name
Pin Name
Pin Type
MCLR/VPP/RE3
VPP
Programming Enable
VDD(2)
VDD
Power Supply
VSS(2)
VSS
Ground
RB5
PGM
RB6
PGC
Serial Clock
RB7
PGD
I/O
Serial Data
Legend:
Note 1:
2:
Pin Description
DS39622L-page 1
PIC18F2XXX/4XXX FAMILY
FIGURE 2-1:
PIC18F2321
PIC18F2525
PIC18F2410
PIC18F2550
PIC18F2420
PIC18F2553
PIC18F2423
PIC18F2580
PIC18F2450
PIC18F2585
PIC18F2455
PIC18F2610
PIC18F2458
PIC18F2620
PIC18F2480
PIC18F2680
PIC18F2510
PIC18F2682
PIC18F2515
PIC18F2685
MCLR/VPP/RE3
RA0
RA1
RA2
RA3
RA4
RA5
VSS
OSC1
OSC2
RC0
RC1
RC2
RC3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
28
27
26
25
24
23
22
21
20
19
18
17
16
15
PIC18F2XXX
PIC18F2221
RB7/PGD
RB6/PGC
RB5/PGM
RB4
RB3
RB2
RB1
RB0
VDD
VSS
RC7
RC6
RC5
RC4
PIC18F2221
MCLR/VPP/RE3
RB7/PGD
RB6/PGC
RB5/PGM
RB4
PIC18F2520
28-Pin QFN
The following devices are included in
28-pin QFN parts:
PIC18F2221
PIC18F2510
PIC18F2321
PIC18F2520
PIC18F2410
PIC18F2523
PIC18F2420
PIC18F2580
PIC18F2423
PIC18F2682
PIC18F2450
PIC18F2685
28 27 26 25 24 23 22
RA2
RA3
RA4
RA5
VSS
OSC1
OSC2
1
2
3
4
5
6
7
21
20
19
18
17
16
15
PIC18F2XXX
RB3
RB2
RB1
RB0
VDD
VSS
RC7
8 9 10 11 12 13 14
RC0
RC1
RC2
RC3
RC4
RC5
RC6
PIC18F2480
PIC18F4523
PIC18F4321
PIC18F4525
PIC18F4410
PIC18F4550
PIC18F4420
PIC18F4553
PIC18F4423
PIC18F4580
PIC18F4450
PIC18F4585
PIC18F4455
PIC18F4610
PIC18F4458
PIC18F4620
PIC18F4480
PIC18F4680
PIC18F4510
PIC18F4682
PIC18F4515
PIC18F4520
DS39622L-page 2
PIC18F4685
MCLR/VPP/RE3
RA0
RA1
RA2
RA3
RA4
RA5
RE0
RE1
RE2
VDD
VSS
OSC1
OSC2
RC0
RC1
RC2
RC3
RD0
RD1
40
39
3
4
38
37
36
6
7
35
34
8
9
10
11
12
13
14
15
PIC18F4XXX
40-Pin PDIP
33
32
31
30
29
28
27
26
16
17
25
18
23
19
20
22
21
24
RB7/PGD
RB6/PGC
RB5/PGM
RB4
RB3
RB2
RB1
RB0
VDD
VSS
RD7
RD6
RD5
RD4
RC7
RC6
RC5
RC4
RD3
RD2
PIC18F2XXX/4XXX FAMILY
RC6
RC5
RC4
RD3
RD2
RD1
RD0
RC3
RC2
RC1
NC(1)/ICPORTS
44-Pin TQFP
PIC18F4221
PIC18F4523
PIC18F4321
PIC18F4525
PIC18F4410
PIC18F4550
PIC18F4420
PIC18F4553
PIC18F4423
PIC18F4580
PIC18F4450
PIC18F4585
PIC18F4455
PIC18F4610
PIC18F4458
PIC18F4620
PIC18F4480
PIC18F4680
PIC18F4510
PIC18F4682
PIC18F4520
PIC18F4685
44
43
42
41
40
39
38
37
36
35
34
RC7
RD4
RD5
RD6
RD7
VSS
VDD
RB0
RB1
RB2
RB3
1
2
3
4
5
6
7
8
9
10
11
33
32
31
30
29
28
27
26
25
24
23
PIC18F4XXX
12
13
14
15
16
17
18
19
20
21
22
FIGURE 2-2:
NC(1)/ICVPP
RC0
OSC2
OSC1
VSS
VDD
RE2
RE1
RE0
RA5
RA4
PIC18F4515
RC6
D+/VP
D-/VM
RD3
RD2
RD1
RD0
VUSB
RC2
RC1
RC0
NC(1)/ICPGC
NC(1)/ICPGD
RB4
RB5/PGM
RB6/PGC
RB7/PGD
MCLR/VPP/RE3
RA0
RA1
RA2
RA3
44-Pin QFN
PIC18F4523
PIC18F4321
PIC18F4525
PIC18F4410
PIC18F4550
PIC18F4420
PIC18F4553
PIC18F4423
PIC18F4580
PIC18F4450
PIC18F4585
PIC18F4455
PIC18F4610
PIC18F4458
PIC18F4620
PIC18F4480
PIC18F4680
PIC18F4510
PIC18F4682
PIC18F4520
PIC18F4685
PIC18F4515
RC7
RD4
RD5
RD6
RD7
VSS
AVDD
VDD
RB0
RB1
RB2
1
2
3
4
5
6
7
8
9
10
11
PIC18F4XXX
33
32
31
30
29
28
27
26
25
24
23
OSC2
OSC1
VSS
AVSS
VDD
AVDD
RE2
RE1
RE0
RA5
RA4
12
13
14
15
16
17
18
19
20
21
22
PIC18F4221
44
43
42
41
40
39
38
37
36
35
34
RB3
NC
RB4
RB5/PGM
RB6/PGC
RB7/PGD
MCLR/VPP/RE3
RA0
RA1
RA2
RA3
Note 1:
DS39622L-page 3
PIC18F2XXX/4XXX FAMILY
2.3
TABLE 2-2:
Memory Maps
IMPLEMENTATION OF CODE
MEMORY
Device
PIC18F2515
PIC18F2525
PIC18F2585
000000h-00BFFFh (48K)
PIC18F4515
PIC18F4525
PIC18F4585
PIC18F2610
PIC18F2620
PIC18F2680
000000h-00FFFFh (64K)
PIC18F4610
PIC18F4620
PIC18F4680
FIGURE 2-3:
MEMORY MAP AND THE CODE MEMORY SPACE FOR PIC18FX5X5/X6X0 DEVICES
000000h
MEMORY SIZE/DEVICE
Code Memory
48 Kbytes
(PIC18FX5X5)
64 Kbytes
(PIC18FX6X0)
01FFFFh
Address
Range
BBSIZ<1:0>
11/10
Unimplemented
Read as 0
Boot
Block*
01
Boot
Block*
00
11/10
Boot
Block*
Boot
Block*
01
Boot
Block*
Boot
Block*
Block 0
Block 0
Block 0
000000h
0007FFh
000800h
000FFFh
001000h
Block 0
200000h
00
001FFFh
002000h
Block 0
Block 0
003FFFh
004000h
Block 1
Configuration
and ID
Space
Block 1
007FFFh
008000h
Block 2
Block 2
00BFFFh
00C000h
Block 3
Unimplemented
Reads all 0s
3FFFFFh
Note:
*
Unimplemented
Reads all 0s
00FFFFh
01FFFFh
DS39622L-page 4
PIC18F2XXX/4XXX FAMILY
For PIC18F2685/4685 devices, the code memory
space extends from 0000h to 017FFFh (96 Kbytes) in
five 16-Kbyte blocks. For PIC18F2682/4682 devices,
the code memory space extends from 0000h to
0013FFFh (80 Kbytes) in four 16-Kbyte blocks.
Addresses, 0000h through 0FFFh, however, define a
Boot Block region that is treated separately from
Block 0. All of these blocks define code protection
boundaries within the code memory space.
TABLE 2-3:
Device
PIC18F2682
000000h-013FFFh (80K)
PIC18F4682
FIGURE 2-4:
IMPLEMENTATION OF CODE
MEMORY
PIC18F2685
000000h-017FFFh (96K)
PIC18F4685
MEMORY SIZE/DEVICE
000000h
Code Memory
80 Kbytes
(PIC18F2682/4682)
96 Kbytes
(PIC18F2685/4685)
01FFFFh
BBSIZ1:BBSIZ2
11/10
Unimplemented
Read as 0
Boot
Block*
01
Boot
Block*
00
11/10
Boot
Block*
Boot
Block*
01
Boot
Block*
Boot
Block*
Block 0
Block 0
Block 0
000000h
0007FFh
000800h
000FFFh
001000h
Block 0
Block 0
00
001FFFh
002000h
Block 0
003FFFh
004000h
200000h
Block 1
Block 1
007FFFh
008000h
Block 2
Configuration
and ID
Space
Block 2
00BFFFh
00C000h
Block 3
Block 3
00FFFFh
010000h
Block 4
Block 4
013FFFh
014000h
Block 5
3FFFFFh
Note:
*
Unimplemented
Reads all 0s
Unimplemented
Reads all 0s
017FFFh
01FFFFh
DS39622L-page 5
PIC18F2XXX/4XXX FAMILY
For PIC18FX5X0/X5X3 devices, the code memory
space extends from 000000h to 007FFFh (32 Kbytes)
in four 8-Kbyte blocks. For PIC18FX4X5/X4X8
devices, the code memory space extends from
000000h to 005FFFh (24 Kbytes) in three 8-Kbyte
blocks. Addresses, 000000h through 0007FFh,
however, define a Boot Block region that is treated
separately from Block 0. All of these blocks define code
protection boundaries within the code memory space.
TABLE 2-4:
IMPLEMENTATION OF CODE
MEMORY
Device
PIC18F2455
PIC18F2458
PIC18F4455
PIC18F4458
PIC18F2510
PIC18F2520
PIC18F2523
PIC18F2550
PIC18F2553
PIC18F4510
PIC18F4520
PIC18F4523
PIC18F4550
PIC18F4553
000000h-005FFFh (24K)
000000h-007FFFh (32K)
FIGURE 2-5:
000000h
Code Memory
1FFFFFh
MEMORY SIZE/DEVICE
Unimplemented
Read as 0
32 Kbytes
(PIC18FX5X0/X5X3)
24 Kbytes
(PIC18FX4X5/X4X8)
Address
Range
Boot Block
Boot Block
000000h
0007FFh
Block 0
Block 0
000800h
001FFFh
Block 1
Block 1
002000h
003FFFh
004000h
Block 2
Block 2
005FFFh
200000h
006000h
Block 3
007FFFh
008000h
Configuration
and ID
Space
Unimplemented
Reads all 0s
Unimplemented
Reads all 0s
1FFFFFh
3FFFFFh
Note:
DS39622L-page 6
PIC18F2XXX/4XXX FAMILY
For PIC18FX4X0/X4X3 devices, the code memory
space extends from 000000h to 003FFFh (16 Kbytes)
in two 8-Kbyte blocks. Addresses, 000000h through
0003FFh, however, define a Boot Block region that is
treated separately from Block 0. All of these blocks
define code protection boundaries within the code
memory space.
TABLE 2-5:
IMPLEMENTATION OF CODE
MEMORY
Device
PIC18F2410
PIC18F2420
PIC18F2423
PIC18F2450
000000h-003FFFh (16K)
PIC18F4410
PIC18F4420
PIC18F4450
FIGURE 2-6:
000000h
Code Memory
1FFFFFh
MEMORY SIZE/
DEVICE
16 Kbytes
Address
(PIC18FX4X0/X4X3) Range
Unimplemented
Read as 0
Boot Block
000000h
0007FFh
Block 0
000800h
001FFFh
002000h
Block 1
003FFFh
004000h
200000h
005FFFh
006000h
007FFFh
008000h
Configuration
and ID
Space
Unimplemented
Reads all 0s
1FFFFFh
3FFFFFh
Note:
DS39622L-page 7
PIC18F2XXX/4XXX FAMILY
TABLE 2-6:
IMPLEMENTATION OF CODE
MEMORY
Device
PIC18F2480
000000h-003FFFh (16K)
PIC18F4480
PIC18F2580
000000h-007FFFh (32K)
PIC18F4580
FIGURE 2-7:
000000h
Address
Range
MEMORY SIZE/DEVICE
Code Memory
01FFFFh
32 Kbytes
(PIC18FX580)
16 Kbytes
(PIC18FX480)
BBSIZ<0>
1
Unimplemented
Read as 0
0
Boot Block*
Boot Block*
Boot Block*
000000h
0007FFh
000800h
000FFFh
001000h
Boot Block*
Block 0
Block 0
Block 0
Block 0
001FFFh
002000h
200000h
Block 1
Configuration
and ID
Space
003FFFh
004000h
Block 2
005FFFh
006000h
Block 3
Unimplemented
Reads all 0s
007FFFh
3FFFFFh
Unimplemented
Reads all 0s
01FFFFh
Note:
*
DS39622L-page 8
PIC18F2XXX/4XXX FAMILY
For PIC18F2221/4221 devices, the code memory
space extends from 0000h to 00FFFh (4 Kbytes) in one
4-Kbyte block. For PIC18F2321/4321 devices, the
code memory space extends from 0000h to 01FFFh
(8 Kbytes) in two 4-Kbyte blocks. Addresses, 0000h
through 07FFh, however, define a variable Boot Block
region that is treated separately from Block 0. All of
these blocks define code protection boundaries within
the code memory space.
TABLE 2-7:
Device
PIC18F2221
FIGURE 2-8:
IMPLEMENTATION OF CODE
MEMORY
000000h-000FFFh (4K)
PIC18F4221
PIC18F2321
000000h-001FFFh (8K)
PIC18F4321
MEMORY SIZE/DEVICE
8 Kbytes
(PIC18FX321)
000000h
4 Kbytes
(PIC18FX221)
Code Memory
01FFFFh
BBSIZ<1:0>
11/10
Unimplemented
Read as 0
01
Boot Block*
512 words
00
Boot Block*
256 words
11/10/01
Boot Block*
512 words
Boot Block*
1K word
Block 0
0.5K words
Block 0
1.5K words
Boot Block*
256 words
Block 0
0.75K words
000000h
0001FFh
000200h
0003FFh
000400h
0007FFh
000800h
Block 0
1.75K words
Block 1
1K word
Block 0
1K word
200000h
00
000FFFh
001000h
Configuration
and ID
Space
Block 1
2K words
3FFFFFh
Note:
*
Unimplemented
Reads all 0s
Unimplemented
Reads all 0s
001FFFh
002000h
1FFFFFh
DS39622L-page 9
PIC18F2XXX/4XXX FAMILY
In addition to the code memory space, there are three
blocks that are accessible to the user through Table
Reads and Table Writes. Their locations in the memory
map are shown in Figure 2-9.
Users may store identification information (ID) in eight ID
registers. These ID registers are mapped in addresses,
200000h through 200007h. The ID locations read out
normally, even after code protection is applied.
Locations, 300000h through 30000Dh, are reserved for
the Configuration bits. These bits select various device
options and are described in Section 5.0 Configuration Word. These Configuration bits read out
normally, even after code protection.
Locations, 3FFFFEh and 3FFFFFh, are reserved for
the Device ID bits. These bits may be used by the
programmer to identify what device type is being
programmed and are described in Section 5.0 Configuration Word. These Device ID bits read out
normally, even after code protection.
FIGURE 2-9:
2.3.1
TBLPTRH
TBLPTRL
Addr[21:16]
Addr[15:8]
Addr[7:0]
000000h
Code Memory
01FFFFh
Unimplemented
Read as 0
1FFFFFh
Configuration
and ID
Space
2FFFFFh
ID Location 1
200000h
ID Location 2
200001h
ID Location 3
200002h
ID Location 4
200003h
ID Location 5
200004h
ID Location 6
200005h
ID Location 7
200006h
ID Location 8
200007h
CONFIG1L
300000h
CONFIG1H
300001h
CONFIG2L
300002h
CONFIG2H
300003h
CONFIG3L
300004h
CONFIG3H
300005h
CONFIG4L
300006h
CONFIG4H
300007h
CONFIG5L
300008h
CONFIG5H
300009h
CONFIG6L
30000Ah
CONFIG6H
30000Bh
CONFIG7L
30000Ch
CONFIG7H
30000Dh
Device ID1
3FFFFEh
Device ID2
3FFFFFh
3FFFFFh
Note:
DS39622L-page 10
PIC18F2XXX/4XXX FAMILY
2.4
2.5
FIGURE 2-10:
HIGH-LEVEL
PROGRAMMING FLOW
Start
FIGURE 2-11:
ENTERING HIGH-VOLTAGE
PROGRAM/VERIFY MODE
Perform Bulk
Erase
P13
P12
P1
D110
Program Memory
MCLR/VPP/RE3
Program IDs
VDD
PGD
Verify IDs
FIGURE 2-12:
EXITING HIGH-VOLTAGE
PROGRAM/VERIFY MODE
P16
Verify Data
MCLR/VPP/RE3
Program
Configuration Bits
P17
P1
D110
VDD
Note 1:
Verify
Configuration Bits
PGD
Done
PGC
PGD = Input
DS39622L-page 11
PIC18F2XXX/4XXX FAMILY
2.6
FIGURE 2-13:
ENTERING LOW-VOLTAGE
PROGRAM/VERIFY MODE
P12
P15
2.7
The PGC pin is used as a clock input pin and the PGD
pin is used for entering command bits and data input/
output during serial operation. Commands and data are
transmitted on the rising edge of PGC, latched on the
falling edge of PGC and are Least Significant bit (LSb)
first.
2.7.1
4-BIT COMMANDS
VIH
MCLR/VPP/RE3
VDD
VIH
2.7.2
PGM
CORE INSTRUCTION
PGD
PGC
TABLE 2-8:
PGD = Input
COMMANDS FOR
PROGRAMMING
4-Bit
Command
Description
FIGURE 2-14:
EXITING LOW-VOLTAGE
PROGRAM/VERIFY MODE
P16
VIH
MCLR/VPP/RE3
VDD
PGM
PGD
P18
VIH
Core Instruction
(Shift in16-bit instruction)
0000
0010
Table Read
1000
1001
1010
1011
Table Write
1100
1101
1110
1111
PGC
PGD = Input
DS39622L-page 12
TABLE 2-9:
SAMPLE COMMAND
SEQUENCE
4-Bit
Command
Data
Payload
1101
3C 40
Core Instruction
Table Write,
post-increment by 2
PIC18F2XXX/4XXX FAMILY
FIGURE 2-15:
P2
1
P2A
P2B
1
10
11
12
13
14
15
16
PGC
P5A
P5
P4
P3
PGD
4
C
16-Bit Data Payload
4-Bit Command
3
Fetch Next 4-Bit Command
PGD = Input
2.8
TABLE 2-10:
Pin Name
Pin Name
Pin Type
Dedicated Pins
Pin Description
MCLR/VPP/RE3
VPP
NC/ICRST/ICVPP
Programming Enable
RB6
PGC
NC/ICCK/ICPGC
Serial Clock
RB7
PGD
I/O
NC/ICDT/ICPGD
Serial Data
DS39622L-page 13
PIC18F2XXX/4XXX FAMILY
3.0
DEVICE PROGRAMMING
3.1
ICSP Erase
3.1.1
TABLE 3-1:
Description
TABLE 3-2:
4-Bit
Data
Command Payload
0000
0000
0000
0000
0000
0000
1100
0000
0000
0000
0000
0000
0000
1100
0E
6E
0E
6E
0E
6E
3F
0E
6E
0E
6E
0E
6E
8F
0000
0000
00 00
00 00
Data
(3C0005h:3C0004h)
Chip Erase
3F8Fh
0084h
0081h
0082h
0180h
0280h
0480h
0880h
1080h
2080h
Note 1:
FIGURE 3-1:
3C
F8
00
F7
05
F6
3F
3C
F8
00
F7
04
F6
8F
Core Instruction
MOVLW 3Ch
MOVWF TBLPTRU
MOVLW 00h
MOVWF TBLPTRH
MOVLW 05h
MOVWF TBLPTRL
Write 3F3Fh to 3C0005h
MOVLW 3Ch
MOVWF TBLPTRU
MOVLW 00h
MOVWF TBLPTRH
MOVLW 04h
MOVWF TBLPTRL
Write 8F8Fh TO 3C0004h
to erase entire
device.
NOP
Hold PGD low until
erase completes.
Write 3F3Fh
to 3C0005h
Write 8F8Fh to
3C0004h to Erase
Entire Device
DS39622L-page 14
PIC18F2XXX/4XXX FAMILY
3.1.2
FIGURE 3-2:
15 16
15 16
PGC
P5A
P5
PGD
4-Bit Command
16-Bit
Data Payload
P5A
P5
4-Bit Command
16-Bit
Data Payload
P11
4-Bit Command
Erase Time
16-Bit
Data Payload
PGD = Input
3.1.3
DS39622L-page 15
PIC18F2XXX/4XXX FAMILY
TABLE 3-3:
4-Bit
Command
Data Payload
Core Instruction
8E A6
9C A6
84 A6
BSF
BCF
BSF
EECON1, EEPGD
EECON1, CFGS
EECON1, WREN
CLRF
CLRF
CLRF
TBLPTRU
TBLPTRH
TBLPTRL
6A F8
6A F7
6A F6
88 A6
82 A6
00 00
BSF
EECON1, FREE
BSF
EECON1, WR
NOP hold PGC high for time P9 and low for time P10.
Step 4: Repeat Step 3, with the Address Pointer incremented by 64 until all rows are erased.
FIGURE 3-3:
No
All
rows
done?
Yes
Done
DS39622L-page 16
PIC18F2XXX/4XXX FAMILY
3.2
TABLE 3-4:
64
PIC18F2450, PIC18F4450
16
64
32
64
64
64
TABLE 3-5:
4-Bit
Command
Data Payload
Core Instruction
8E A6
9C A6
BSF
BCF
EECON1, EEPGD
EECON1, CFGS
MOVLW
MOVWF
MOVLW
MOVWF
MOVLW
MOVWF
<Addr[21:16]>
TBLPTRU
<Addr[15:8]>
TBLPTRH
<Addr[7:0]>
TBLPTRL
0E
6E
0E
6E
0E
6E
<Addr[21:16]>
F8
<Addr[15:8]>
F7
<Addr[7:0]>
F6
<MSB><LSB>
<MSB><LSB>
00 00
To continue writing data, repeat Steps 2 through 4, where the Address Pointer is incremented by 2 at each iteration of the loop.
DS39622L-page 17
PIC18F2XXX/4XXX FAMILY
FIGURE 3-4:
Load 2 Bytes
to Write
Buffer at <Addr>
N=N+1
All
bytes
written?
No
Yes
N=1
LoopCount =
LoopCount + 1
All
locations
done?
No
Yes
Done
FIGURE 3-5:
P10
1
15
16
PGC
P5A
P5
PGD
P9
4-Bit Command
4-Bit Command
0
Programming Time
16-Bit
Data Payload
PGD = Input
DS39622L-page 18
PIC18F2XXX/4XXX FAMILY
3.2.1
TABLE 3-6:
4-Bit
Command
Data Payload
Core Instruction
8E A6
9C A6
BSF
BCF
EECON1, EEPGD
EECON1, CFGS
0E
6E
0E
6E
0E
6E
<Addr[21:16]>
F8
<Addr[8:15]>
F7
<Addr[7:0]>
F6
MOVLW
MOVWF
MOVLW
MOVWF
MOVLW
MOVWF
<Addr[21:16]>
TBLPTRU
<Addr[8:15]>
TBLPTRH
<Addr[7:0]>
TBLPTRL
84 A6
88 A6
BSF
BSF
EECON1, WREN
EECON1, FREE
82 A6
00 00
BSF
EECON1, WR
NOP - hold PGC high for time P9 and low for time P10.
Step 6: Load write buffer. The correct bytes will be selected based on the Table Pointer.
0000
0000
0000
0000
0000
0000
1101
.
.
.
1111
0000
0E <Addr[21:16]>
6E F8
0E <Addr[8:15]>
6E F7
0E <Addr[7:0]>
6E F6
<MSB><LSB>
.
.
.
<MSB><LSB>
00 00
MOVLW
MOVWF
MOVLW
MOVWF
MOVLW
MOVWF
Write 2
<Addr[21:16]>
TBLPTRU
<Addr[8:15]>
TBLPTRH
<Addr[7:0]>
TBLPTRL
bytes and post-increment address by 2.
To continue modifying data, repeat Steps 2 through 6, where the Address Pointer is incremented by the appropriate number of bytes
(see Table 3-4) at each iteration of the loop. The write cycle must be repeated enough times to completely rewrite the contents of
the erase buffer.
Step 7: Disable writes.
0000
94 A6
BCF
EECON1, WREN
DS39622L-page 19
PIC18F2XXX/4XXX FAMILY
3.3
Note:
PIC18F2410
PIC18F4410
PIC18F2450
PIC18F4450
PIC18F2510
PIC18F4510
PIC18F2515
PIC18F4515
PIC18F2610
PIC18F4610
FIGURE 3-6:
Set Address
Set Data
Enable Write
Start Write
Sequence
Yes
No
Done?
Yes
FIGURE 3-7:
No
WR bit
clear?
Done
15 16
PGC
P5A
P5
PGD
P11A
n
4-Bit Command
16-Bit Data
Payload
BSF EECON1, WR
PGD = Input
1
15 16
15 16
PGC
P5
P5
P5A
P5A
Poll WR bit
PGD
PGD = Input
DS39622L-page 20
4-Bit Command
MOVWF TABLAT
PGD = Output
PIC18F2XXX/4XXX FAMILY
TABLE 3-7:
4-Bit
Command
Data Payload
Core Instruction
9E A6
9C A6
BCF
BCF
EECON1, EEPGD
EECON1, CFGS
MOVLW
MOVWF
MOVLW
MOVWF
<Addr>
EEADR
<AddrH>
EEADRH
MOVLW
MOVWF
<Data>
EEDATA
BSF
EECON1, WREN
BSF
EECON1, WR
0E
6E
OE
6E
<Addr>
A9
<AddrH>
AA
0E <Data>
6E A8
84 A6
82 A6
50 A6
6E F5
00 00
<MSB><LSB>
MOVF
EECON1, W, 0
MOVWF
TABLAT
NOP
Shift out data(1)
94 A6
BCF
EECON1, WREN
DS39622L-page 21
PIC18F2XXX/4XXX FAMILY
3.4
ID Location Programming
TABLE 3-8:
WRITE ID SEQUENCE
4-Bit
Command
Data Payload
Core Instruction
8E A6
9C A6
BSF
BCF
EECON1, EEPGD
EECON1, CFGS
0E 20
6E F8
0E 00
6E F7
0E 00
6E F6
<MSB><LSB>
<MSB><LSB>
<MSB><LSB>
<MSB><LSB>
00 00
DS39622L-page 22
MOVLW
MOVWF
MOVLW
MOVWF
MOVLW
MOVWF
Write
Write
Write
Write
NOP -
20h
TBLPTRU
00h
TBLPTRH
00h
TBLPTRL
2 bytes and post-increment address by
2 bytes and post-increment address by
2 bytes and post-increment address by
2 bytes and start programming.
hold PGC high for time P9 and low for
2.
2.
2.
time P10.
PIC18F2XXX/4XXX FAMILY
3.5
3.6
TABLE 3-9:
4-Bit
Command
Core Instruction
8E A6
8C A6
BSF
BSF
EECON1, EEPGD
EECON1, CFGS
Step 2: Set Table Pointer for configuration byte to be written. Write even/odd addresses.(1)
0000
0000
0000
0000
0000
0000
1111
0000
0000
0000
1111
0000
Note 1:
0E 30
6E F8
0E 00
6E F7
0E 00
6E F6
<MSB ignored><LSB>
00 00
0E 01
6E F6
<MSB><LSB ignored>
00 00
MOVLW 30h
MOVWF TBLPTRU
MOVLW 00h
MOVWF TBLPRTH
MOVLW 00h
MOVWF TBLPTRL
Load 2 bytes and start programming.
NOP - hold PGC high for time P9 and low for time P10.
MOVLW 01h
MOVWF TBLPTRL
Load 2 bytes and start programming.
NOP - hold PGC high for time P9 and low for time P10.
Enabling the write protection of Configuration bits (WRTC = 0 in CONFIG6H) will prevent further writing of the
Configuration bits. Always write all the Configuration bits before enabling the write protection for Configuration bits.
FIGURE 3-8:
Start
Load Even
Configuration
Address
Load Odd
Configuration
Address
Program
LSB
Program
MSB
Done
Done
DS39622L-page 23
PIC18F2XXX/4XXX FAMILY
4.0
4.1
TABLE 4-1:
4-Bit
Command
Data Payload
Core Instruction
0E
6E
0E
6E
0E
6E
<Addr[21:16]>
F8
<Addr[15:8]>
F7
<Addr[7:0]>
F6
MOVLW
MOVWF
MOVLW
MOVWF
MOVLW
MOVWF
Addr[21:16]
TBLPTRU
<Addr[15:8]>
TBLPTRH
<Addr[7:0]>
TBLPTRL
Step 2: Read memory and then shift out on PGD, LSb to MSb.
1001
00 00
FIGURE 4-1:
1
TBLRD *+
10
11
12
13
14
15
16
PGC
P5
P5A
P6
P14
PGD
LSb 1
PGD = Input
DS39622L-page 24
PGD = Output
MSb
PGD = Input
PIC18F2XXX/4XXX FAMILY
4.2
FIGURE 4-2:
Set TBLPTR = 0
Does
Word = Expect
Data?
Increment
Pointer
No
Does
Word = Expect
Data?
Failure,
Report
Error
Yes
No
All
code memory
verified?
Yes
No
Failure,
Report
Error
Yes
No
All
ID locations
verified?
Yes
Done
DS39622L-page 25
PIC18F2XXX/4XXX FAMILY
4.3
FIGURE 4-3:
4.4
Start
Set
Address
Read
Byte
No
Done?
Yes
Done
TABLE 4-2:
4-Bit
Command
Data Payload
Core Instruction
9E A6
9C A6
BCF
BCF
EECON1, EEPGD
EECON1, CFGS
MOVLW
MOVWF
MOVLW
MOVWF
<Addr>
EEADR
<AddrH>
EEADRH
BSF
EECON1, RD
0E
6E
OE
6E
<Addr>
A9
<AddrH>
AA
80 A6
50 A8
6E F5
00 00
<MSB><LSB>
MOVF
EEDATA, W, 0
MOVWF
TABLAT
NOP
Shift Out Data(1)
DS39622L-page 26
PIC18F2XXX/4XXX FAMILY
FIGURE 4-4:
1
10
11
12
13
14
15
16
PGC
P5
P5A
P6
P14
PGD
LSb 1
PGD = Input
4.5
4.6
MSb
PGD = Output
PGD = Input
FIGURE 4-5:
Blank Check
Is
device
blank?
Yes
Continue
No
Abort
DS39622L-page 27
PIC18F2XXX/4XXX FAMILY
5.0
CONFIGURATION WORD
5.1
ID Locations
5.2
Device ID Word
FIGURE 5-1:
DS39622L-page 28
PIC18F2XXX/4XXX FAMILY
TABLE 5-1:
File Name
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
300000h(1,8) CONFIG1L
USBDIV
CPUDIV1
CPUDIV0
PLLDIV2
PLLDIV1
PLLDIV0
300001h
CONFIG1H
IESO
FCMEN
300002h
CONFIG2L
300003h
CONFIG2H
300005h
CONFIG3H
MCLRE
300006h
CONFIG4L
DEBUG
XINST
Default/
Unprogrammed
Value
--00 0000
00-- 0111
FOSC3
FOSC2
FOSC1
FOSC0
BORV1
BORV0
BOREN1
BOREN0
PWRTEN
WDTPS3
WDTPS2
WDTPS1
WDTPS0
WDTEN
LPT1OSC
PBADEN
VREGEN(1,8)
00-- 0101(1,8)
--01 1111(1,8)
---1 1111
CCP2MX(7)
---1 1111
1--- -011(7)
1--- -01-
ICPRT(1)
100- -1-1(1)
BBSIZ1
BBSIZ0
1000 -1-1
BBSIZ(3)
ICPRT(8)
BBSIZ(8)
100- 01-1(8)
BBSIZ1(2)
BBSIZ2(2)
1000 -1-1(2)
LVP
STVREN
10-0 -1-1(3)
300008h
CONFIG5L
CP5(10)
CP4(9)
CP3(4)
CP2(4)
CP1
CP0
--11 1111
300009h
CONFIG5H
CPD
CPB
11-- ----
30000Ah
CONFIG6L
WRT5(10)
WRT4(9)
WRT3(4)
WRT2(4)
WRT1
WRT0
--11 1111
30000Bh
CONFIG6H
WRTD
WRTB
WRTC(5)
111- ----
30000Ch
CONFIG7L
EBTR5(10)
EBTR4(9)
EBTR3(4)
EBTR2(4)
EBTR1
EBTR0
--11 1111
30000Dh
CONFIG7H
EBTRB
-1-- ----
3FFFFEh
DEVID1(6)
DEV2
DEV1
DEV0
REV4
REV3
REV2
REV1
REV0
3FFFFFh
DEVID2(6)
DEV10
DEV9
DEV8
DEV7
DEV6
DEV5
DEV4
DEV3
Legend:
Note 1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
DS39622L-page 29
PIC18F2XXX/4XXX FAMILY
TABLE 5-2:
DEVICE ID VALUES
Device ID Value
Device
DEVID2
Legend:
Note 1:
2:
DEVID1
PIC18F2221
21h
011x xxxx
PIC18F2321
21h
001x xxxx
PIC18F2410
11h
011x xxxx
PIC18F2420
11h
010x xxxx(1)
PIC18F2423
11h
010x xxxx(2)
PIC18F2450
24h
001x xxxx
PIC18F2455
12h
011x xxxx
PIC18F2458
2Ah
011x xxxx
PIC18F2480
1Ah
111x xxxx
PIC18F2510
11h
001x xxxx
PIC18F2515
0Ch
111x xxxx
PIC18F2520
11h
000x xxxx(1)
PIC18F2523
11h
000x xxxx(2)
PIC18F2525
0Ch
110x xxxx
PIC18F2550
12h
010x xxxx
PIC18F2553
2Ah
010x xxxx
PIC18F2580
1Ah
110x xxxx
PIC18F2585
0Eh
111x xxxx
PIC18F2610
0Ch
101x xxxx
PIC18F2620
0Ch
100x xxxx
PIC18F2680
0Eh
110x xxxx
PIC18F2682
27h
000x xxxx
PIC18F2685
27h
001x xxxx
PIC18F4221
21h
010x xxxx
PIC18F4321
21h
000x xxxx
PIC18F4410
10h
111x xxxx
PIC18F4420
10h
110x xxxx(1)
PIC18F4423
10h
110x xxxx(2)
PIC18F4450
24h
000x xxxx
PIC18F4455
12h
001x xxxx
PIC18F4458
2Ah
001x xxxx
PIC18F4480
1Ah
101x xxxx
PIC18F4510
10h
101x xxxx
PIC18F4515
0Ch
011x xxxx
PIC18F4520
10h
100x xxxx(1)
PIC18F4523
10h
100x xxxx(2)
PIC18F4525
0Ch
010x xxxx
PIC18F4550
12h
000x xxxx
PIC18F4553
2Ah
000x xxxx
PIC18F4580
1Ah
100x xxxx
PIC18F4585
0Eh
101x xxxx
PIC18F4610
0Ch
001x xxxx
DS39622L-page 30
PIC18F2XXX/4XXX FAMILY
TABLE 5-2:
Legend:
Note 1:
2:
DEVID1
PIC18F4620
0Ch
000x xxxx
PIC18F4680
0Eh
100x xxxx
PIC18F4682
27h
010x xxxx
PIC18F4685
27h
011x xxxx
TABLE 5-3:
Bit Name
Description
IESO
CONFIG1H
FCMEN
CONFIG1H
FOSC<3:0>
CONFIG1H
FOSC<3:0>
CONFIG1H
Note 1:
2:
The BBSIZ bits, BBSIZ<1:0> and BBSIZ<2:1> bits, cannot be changed once any of the following
code-protect bits are enabled: CPB or CP0, WRTB or WRT0, EBTRB or EBTR0.
Not available in PIC18FXX8X and PIC18F2450/4450 devices.
DS39622L-page 31
PIC18F2XXX/4XXX FAMILY
TABLE 5-3:
Bit Name
Description
USBDIV
CONFIG1L
CPUDIV<1:0>
CONFIG1L
PLLDIV<2:0>
CONFIG1L
VREGEN
CONFIG2L
BORV<1:0>
CONFIG2L
BOREN<1:0>
CONFIG2L
PWRTEN
CONFIG2L
Note 1:
2:
The BBSIZ bits, BBSIZ<1:0> and BBSIZ<2:1> bits, cannot be changed once any of the following
code-protect bits are enabled: CPB or CP0, WRTB or WRT0, EBTRB or EBTR0.
Not available in PIC18FXX8X and PIC18F2450/4450 devices.
DS39622L-page 32
PIC18F2XXX/4XXX FAMILY
TABLE 5-3:
Bit Name
Description
WDPS<3:0>
CONFIG2H
WDTEN
CONFIG2H
MCLRE
CONFIG3H
LPT1OSC
CONFIG3H
PBADEN
CONFIG3H
PBADEN
CONFIG3H
CCP2MX
CONFIG3H
DEBUG
CONFIG4L
XINST
CONFIG4L
Note 1:
2:
The BBSIZ bits, BBSIZ<1:0> and BBSIZ<2:1> bits, cannot be changed once any of the following
code-protect bits are enabled: CPB or CP0, WRTB or WRT0, EBTRB or EBTR0.
Not available in PIC18FXX8X and PIC18F2450/4450 devices.
DS39622L-page 33
PIC18F2XXX/4XXX FAMILY
TABLE 5-3:
Bit Name
Description
ICPRT
CONFIG4L
BBSIZ<1:0>(1)
CONFIG4L
BBSIZ<2:1>(1)
CONFIG4L
BBSIZ<1:0>(1)
CONFIG4L
BBSIZ(1)
CONFIG4L
LVP
CONFIG4L
STVREN
CONFIG4L
CP5
CONFIG5L
CP4
CONFIG5L
CP3
CONFIG5L
Note 1:
2:
The BBSIZ bits, BBSIZ<1:0> and BBSIZ<2:1> bits, cannot be changed once any of the following
code-protect bits are enabled: CPB or CP0, WRTB or WRT0, EBTRB or EBTR0.
Not available in PIC18FXX8X and PIC18F2450/4450 devices.
DS39622L-page 34
PIC18F2XXX/4XXX FAMILY
TABLE 5-3:
Bit Name
Description
CP2
CONFIG5L
CP1
CONFIG5L
CP0
CONFIG5L
CPD
CONFIG5H
CPB
CONFIG5H
WRT5
CONFIG6L
WRT4
CONFIG6L
WRT3
CONFIG6L
WRT2
CONFIG6L
WRT1
CONFIG6L
WRT0
CONFIG6L
WRTD
CONFIG6H
WRTB
CONFIG6H
WRTC
CONFIG6H
Note 1:
2:
The BBSIZ bits, BBSIZ<1:0> and BBSIZ<2:1> bits, cannot be changed once any of the following
code-protect bits are enabled: CPB or CP0, WRTB or WRT0, EBTRB or EBTR0.
Not available in PIC18FXX8X and PIC18F2450/4450 devices.
DS39622L-page 35
PIC18F2XXX/4XXX FAMILY
TABLE 5-3:
Bit Name
Description
EBTR5
CONFIG7L
EBTR4
CONFIG7L
EBTR3
CONFIG7L
EBTR2
CONFIG7L
EBTR1
CONFIG7L
EBTR0
CONFIG7L
EBTRB
CONFIG7H
DEV<10:3>
DEVID2
Device ID bits
These bits are used with the DEV<2:0> bits in the DEVID1 register to identify
part number.
DEV<2:0>
DEVID1
Device ID bits
These bits are used with the DEV<10:3> bits in the DEVID2 register to identify
part number.
REV<4:0>
DEVID1
Revision ID bits
These bits are used to indicate the revision of the device. The REV4 bit is
sometimes used to fully specify the device type.
Note 1:
2:
The BBSIZ bits, BBSIZ<1:0> and BBSIZ<2:1> bits, cannot be changed once any of the following
code-protect bits are enabled: CPB or CP0, WRTB or WRT0, EBTRB or EBTR0.
Not available in PIC18FXX8X and PIC18F2450/4450 devices.
DS39622L-page 36
PIC18F2XXX/4XXX FAMILY
5.3
5.4
5.5
5.6
Checksum Computation
5.6.1
PROGRAM MEMORY
5.6.2
CONFIGURATION WORDS
5.6.3
ID LOCATIONS
5.6.4
CODE PROTECTION
DS39622L-page 37
PIC18F2XXX/4XXX FAMILY
TABLE 5-4:
Device
Memory
Size
Pins
(Bytes)
PIC18F2221
4K
28
PIC18F2321
8K
28
Ending Address
Boot
Block
0001FF
Size (Bytes)
0007FF 000FFF
0003FF
0001FF
0007FF
Boot
Block
Block 0
512
1536
1024
1024
512
3584
1024
3072
2048
2048
Remaining Device
Blocks
Total
2048
4096
4096
8192
PIC18F2410
16K
28
2048
6144
8192
16384
PIC18F2420
16K
28
2048
6144
8192
16384
PIC18F2423
16K
28
2048
6144
8192
16384
2048
6144
4096
4096
8192
16384
PIC18F2450
16K
28
PIC18F2455
24K
28
PIC18F2458
24K
28
PIC18F2480
16K
28
PIC18F2510
32K
28
PIC18F2515
48K
28
PIC18F2520
32K
28
PIC18F2523
32K
PIC18F2525
0007FF
2048
6144
16384
24576
2048
6144
16384
24576
2048
6144
4096
4096
8192
16384
000FFF
0007FF
001FFF 003FFF
2048
6144
24576
32768
2048
14336
32768
49152
2048
14336
16384
32768
28
2048
14336
16384
32768
48K
28
2048
14336
32768
49152
PIC18F2550
32K
28
2048
6144
24576
32768
PIC18F2553
32K
28
2048
6144
24576
32768
2048
6144
4096
4096
24576
32768
2048
14336
4096
12288
32768
49152
8192
8192
PIC18F2580
32K
28
PIC18F2585
48K
28
000FFF
0007FF
000FFF
001FFF 003FFF
0007FF
000FFF 003FFF 007FFF 00BFFF
001FFF
PIC18F2610
64K
28
2048
14336
49152
65536
PIC18F2620
64K
28
2048
14336
49152
65536
2048
14336
4096
12288
49152
65536
8192
8192
2048
14336
4096
12288
65536
81920
001FFF
8192
8192
81920
98304
2048
4096
4096
8192
0007FF
PIC18F2680
64K
28
001FFF
0007FF
PIC18F2682
PIC18F2685
80K
96K
28
28
PIC18F4221
4K
40
PIC18F4321
8K
40
0007FF
2048
14336
4096
12288
001FFF
8192
8192
0001FF
0007FF 000FFF
0003FF
0001FF
0007FF
512
1536
1024
1024
512
3584
1024
3072
2048
2048
PIC18F4410
16K
40
2048
6144
8192
16384
PIC18F4420
16K
40
2048
6144
8192
16384
PIC18F4423
16K
40
2048
6144
8192
16384
2048
6144
4096
4096
8192
16384
PIC18F4450
Legend:
16K
40
0007FF
000FFF
001FFF 003FFF
= unimplemented.
DS39622L-page 38
PIC18F2XXX/4XXX FAMILY
TABLE 5-4:
Device
Memory
Size
Pins
(Bytes)
Ending Address
Boot
Block
Size (Bytes)
Boot
Block
Block 0
Remaining Device
Blocks
Total
PIC18F4455
24K
40
2048
6144
16384
24576
PIC18F4458
24K
40
2048
6144
16384
24576
2048
6144
4096
4096
8192
16384
PIC18F4480
16K
40
PIC18F4510
32K
40
PIC18F4515
48K
40
PIC18F4520
32K
40
PIC18F4523
32K
PIC18F4525
0007FF
2048
6144
24576
32768
2048
14336
32768
49152
2048
14336
16384
32768
40
2048
14336
16384
32768
48K
40
2048
14336
32768
49152
PIC18F4550
32K
40
2048
6144
24576
32768
PIC18F4553
32K
40
2048
6144
24576
32768
PIC18F4580
32K
40
2048
6144
4096
4096
24576
32768
2048
14336
PIC18F4585
48K
40
4096
12288
32768
49152
8192
8192
000FFF
0007FF
000FFF
001FFF 003FFF
0007FF
000FFF 003FFF 007FFF 00BFFF
001FFF
PIC18F4610
64K
40
2048
14336
49152
65536
PIC18F4620
64K
40
2048
14336
49152
65536
2048
14336
4096
12288
49152
65536
8192
8192
2048
14336
4096
12288
65536
81920
001FFF
8192
8192
81920
98304
0007FF
PIC18F4680
64K
40
001FFF
0007FF
PIC18F4682
PIC18F4685
Legend:
80K
96K
40
44
0007FF
2048
14336
4096
12288
001FFF
8192
8192
= unimplemented.
DS39622L-page 39
PIC18F2XXX/4XXX FAMILY
TABLE 5-5:
Device
1H
2L
2H
3L
3H
4L
4H
5L
5H
6L
6H
7L
7H
Address (30000xh)
0h
1h
2h
3h
4h
5h
6h
7h
8h
9h
Ah
Bh
Ch
Dh
PIC18F2221
00
CF
1F
1F
00
87
F5
00
03
C0
03
E0
03
40
PIC18F2321
00
CF
1F
1F
00
87
F5
00
03
C0
03
E0
03
40
PIC18F2410
00
CF
1F
1F
00
87
C5
00
03
C0
03
E0
03
40
PIC18F2420
00
CF
1F
1F
00
87
C5
00
03
C0
03
E0
03
40
PIC18F2423
00
CF
1F
1F
00
87
C5
00
03
C0
03
E0
03
40
PIC18F2450
3F
CF
3F
1F
00
86
ED
00
03
40
03
60
03
40
PIC18F2455
3F
CF
3F
1F
00
87
E5
00
07
C0
07
E0
07
40
PIC18F2458
3F
CF
3F
1F
00
87
E5
00
07
C0
07
E0
07
40
PIC18F2480
00
CF
1F
1F
00
86
D5
00
03
C0
03
E0
03
40
PIC18F2510
00
1F
1F
1F
00
87
C5
00
0F
C0
0F
E0
0F
40
PIC18F2515
00
CF
1F
1F
00
87
C5
00
0F
C0
0F
E0
0F
40
PIC18F2520
00
CF
1F
1F
00
87
C5
00
0F
C0
0F
E0
0F
40
PIC18F2523
00
CF
1F
1F
00
87
C5
00
0F
C0
0F
E0
0F
40
PIC18F2525
00
CF
1F
1F
00
87
C5
00
0F
C0
0F
E0
0F
40
PIC18F2550
3F
CF
3F
1F
00
87
E5
00
0F
C0
0F
E0
0F
40
PIC18F2553
3F
CF
3F
1F
00
87
E5
00
0F
C0
0F
E0
0F
40
PIC18F2580
00
CF
1F
1F
00
86
E5
00
0F
C0
0F
E0
0F
40
PIC18F2585
00
CF
1F
1F
00
86
C5
00
0F
C0
0F
E0
0F
40
PIC18F2610
00
CF
1F
1F
00
87
C5
00
0F
C0
0F
E0
0F
40
PIC18F2620
00
CF
1F
1F
00
87
C5
00
0F
C0
0F
E0
0F
40
PIC18F2680
00
CF
1F
1F
00
86
C5
00
0F
C0
0F
E0
0F
40
PIC18F2682
00
CF
1F
1F
00
86
C5
00
3F
C0
3F
E0
3F
40
PIC18F2685
00
CF
1F
1F
00
86
C5
00
3F
C0
3F
E0
3F
40
PIC18F4221
00
CF
1F
1F
00
87
F5
00
03
C0
03
E0
03
40
PIC18F4321
00
CF
1F
1F
00
87
F5
00
03
C0
03
E0
03
40
PIC18F4410
00
CF
1F
1F
00
87
C5
00
03
C0
03
E0
03
40
PIC18F4420
00
CF
1F
1F
00
87
C5
00
03
C0
03
E0
03
40
PIC18F4423
00
CF
1F
1F
00
87
C5
00
03
C0
03
E0
03
40
PIC18F4450
3F
CF
3F
1F
00
86
ED
00
03
40
03
60
03
40
PIC18F4455
3F
CF
3F
1F
00
87
E5
00
07
C0
07
E0
07
40
PIC18F4458
3F
CF
3F
1F
00
87
E5
00
07
C0
07
E0
07
40
PIC18F4480
00
CF
1F
1F
00
86
D5
00
03
C0
03
E0
03
40
PIC18F4510
00
CF
1F
1F
00
87
C5
00
0F
C0
0F
E0
0F
40
PIC18F4515
00
CF
1F
1F
00
87
C5
00
0F
C0
0F
E0
0F
40
PIC18F4520
00
CF
1F
1F
00
87
C5
00
0F
C0
0F
E0
0F
40
PIC18F4523
00
CF
1F
1F
00
87
C5
00
0F
C0
0F
E0
0F
40
PIC18F4525
00
CF
1F
1F
00
87
C5
00
0F
C0
0F
E0
0F
40
PIC18F4550
3F
CF
3F
1F
00
87
E5
00
0F
C0
0F
E0
0F
40
PIC18F4553
3F
CF
3F
1F
00
87
E5
00
0F
C0
0F
E0
0F
40
PIC18F4580
00
CF
1F
1F
00
86
E5
00
0F
C0
0F
E0
0F
40
PIC18F4585
00
CF
1F
1F
00
86
C5
00
0F
C0
0F
E0
0F
40
PIC18F4610
00
CF
1F
1F
00
87
C5
00
0F
C0
0F
E0
0F
40
Legend:
DS39622L-page 40
PIC18F2XXX/4XXX FAMILY
TABLE 5-5:
Device
1H
2L
2H
3L
3H
4L
4H
5L
5H
6L
6H
7L
7H
Address (30000xh)
0h
1h
2h
3h
4h
5h
6h
7h
8h
9h
Ah
Bh
Ch
Dh
PIC18F4620
00
CF
1F
1F
00
87
C5
00
0F
C0
0F
E0
0F
40
PIC18F4680
00
CF
1F
1F
00
86
C5
00
0F
C0
0F
E0
0F
40
PIC18F4682
00
CF
1F
1F
00
86
C5
00
3F
C0
3F
E0
3F
40
PIC18F4685
00
CF
1F
1F
00
86
C5
00
3F
C0
3F
E0
3F
40
Legend:
DS39622L-page 41
PIC18F2XXX/4XXX FAMILY
AC/DC CHARACTERISTICS TIMING REQUIREMENTS
FOR PROGRAM/VERIFY TEST MODE
6.0
Sym
Characteristic
Min
Max
Units
Conditions
VIHH
VDD + 4.0
12.5
(Note 2)
D110A VIHL
2.00
5.50
(Note 2)
D111
2.00
5.50
Externally timed,
Row Erases and all writes
3.0
5.50
Self-timed,
Bulk Erases only (Note 3)
(Note 2)
D110
VDD
D112
IPP
300
D113
IDDP
10
mA
D031
VIL
VSS
0.2 VDD
D041
VIH
0.8 VDD
VDD
D080
VOL
0.6
D090
VOH
VDD 0.7
D012
CIO
50
pF
To meet AC specifications
P1
TR
1.0
(Notes 1, 2)
P2
TPGC
100
ns
VDD = 5.0V
P2A
P2B
VDD = 2.0V
40
ns
VDD = 5.0V
400
ns
VDD = 2.0V
40
ns
VDD = 5.0V
400
ns
VDD = 2.0V
15
ns
P3
P4
15
ns
P5
40
ns
P5A
40
ns
P6
20
ns
P9
ms
P10
100
P11
ms
Note 1:
2:
3:
Externally timed
Do not allow excess time when transitioning MCLR between VIL and VIHH. This can cause spurious program
executions to occur. The maximum transition time is:
1 TCY + TPWRT (if enabled) + 1024 TOSC (for LP, HS, HS/PLL and XT modes only) +
2 ms (for HS/PLL mode only) + 1.5 s (for EC mode only)
where TCY is the instruction cycle time, TPWRT is the Power-up Timer period and TOSC is the oscillator period. For
specific values, refer to the Electrical Characteristics section of the device data sheet for the particular device.
When ICPRT = 1, this specification also applies to ICVPP.
At 0C-50C.
DS39622L-page 42
PIC18F2XXX/4XXX FAMILY
AC/DC CHARACTERISTICS TIMING REQUIREMENTS
FOR PROGRAM/VERIFY TEST MODE (CONTINUED)
6.0
Sym
Characteristic
Min
Max
Units
ms
P11A
P12
P13
100
ns
P14
10
ns
P15
P16
P17
100
ns
P18
Note 1:
2:
3:
Conditions
(Note 2)
(Note 2)
Do not allow excess time when transitioning MCLR between VIL and VIHH. This can cause spurious program
executions to occur. The maximum transition time is:
1 TCY + TPWRT (if enabled) + 1024 TOSC (for LP, HS, HS/PLL and XT modes only) +
2 ms (for HS/PLL mode only) + 1.5 s (for EC mode only)
where TCY is the instruction cycle time, TPWRT is the Power-up Timer period and TOSC is the oscillator period. For
specific values, refer to the Electrical Characteristics section of the device data sheet for the particular device.
When ICPRT = 1, this specification also applies to ICVPP.
At 0C-50C.
DS39622L-page 43
PIC18F2XXX/4XXX FAMILY
NOTES:
DS39622L-page 44
Note the following details of the code protection feature on Microchip devices:
Microchip products meet the specification contained in their particular Microchip Data Sheet.
Microchip believes that its family of products is one of the most secure families of its kind on the market today, when used in the
intended manner and under normal conditions.
There are dishonest and possibly illegal methods used to breach the code protection feature. All of these methods, to our
knowledge, require using the Microchip products in a manner outside the operating specifications contained in Microchips Data
Sheets. Most likely, the person doing so is engaged in theft of intellectual property.
Microchip is willing to work with the customer who is concerned about the integrity of their code.
Neither Microchip nor any other semiconductor manufacturer can guarantee the security of their code. Code protection does not
mean that we are guaranteeing the product as unbreakable.
Code protection is constantly evolving. We at Microchip are committed to continuously improving the code protection features of our
products. Attempts to break Microchips code protection feature may be a violation of the Digital Millennium Copyright Act. If such acts
allow unauthorized access to your software or other copyrighted work, you may have a right to sue for relief under that Act.
Trademarks
The Microchip name and logo, the Microchip logo, dsPIC,
KEELOQ, KEELOQ logo, MPLAB, PIC, PICmicro, PICSTART,
PIC32 logo, rfPIC and UNI/O are registered trademarks of
Microchip Technology Incorporated in the U.S.A. and other
countries.
FilterLab, Hampshire, HI-TECH C, Linear Active Thermistor,
MXDEV, MXLAB, SEEVAL and The Embedded Control
Solutions Company are registered trademarks of Microchip
Technology Incorporated in the U.S.A.
Analog-for-the-Digital Age, Application Maestro, CodeGuard,
dsPICDEM, dsPICDEM.net, dsPICworks, dsSPEAK, ECAN,
ECONOMONITOR, FanSense, HI-TIDE, In-Circuit Serial
Programming, ICSP, Mindi, MiWi, MPASM, MPLAB Certified
logo, MPLIB, MPLINK, mTouch, Omniscient Code
Generation, PICC, PICC-18, PICDEM, PICDEM.net, PICkit,
PICtail, REAL ICE, rfLAB, Select Mode, Total Endurance,
TSHARC, UniWinDriver, WiperLock and ZENA are
trademarks of Microchip Technology Incorporated in the
U.S.A. and other countries.
SQTP is a service mark of Microchip Technology Incorporated
in the U.S.A.
All other trademarks mentioned herein are property of their
respective companies.
2010, Microchip Technology Incorporated, Printed in the
U.S.A., All Rights Reserved.
Printed on recycled paper.
ISBN: 978-1-60932-578-7
Microchip received ISO/TS-16949:2002 certification for its worldwide
headquarters, design and wafer fabrication facilities in Chandler and
Tempe, Arizona; Gresham, Oregon and design centers in California
and India. The Companys quality system processes and procedures
are for its PIC MCUs and dsPIC DSCs, KEELOQ code hopping
devices, Serial EEPROMs, microperipherals, nonvolatile memory and
analog products. In addition, Microchips quality system for the design
and manufacture of development systems is ISO 9001:2000 certified.
DS39622L-page 45
ASIA/PACIFIC
ASIA/PACIFIC
EUROPE
Corporate Office
2355 West Chandler Blvd.
Chandler, AZ 85224-6199
Tel: 480-792-7200
Fax: 480-792-7277
Technical Support:
http://support.microchip.com
Web Address:
www.microchip.com
India - Bangalore
Tel: 91-80-3090-4444
Fax: 91-80-3090-4123
India - New Delhi
Tel: 91-11-4160-8631
Fax: 91-11-4160-8632
Austria - Wels
Tel: 43-7242-2244-39
Fax: 43-7242-2244-393
Denmark - Copenhagen
Tel: 45-4450-2828
Fax: 45-4485-2829
India - Pune
Tel: 91-20-2566-1512
Fax: 91-20-2566-1513
France - Paris
Tel: 33-1-69-53-63-20
Fax: 33-1-69-30-90-79
Japan - Yokohama
Tel: 81-45-471- 6166
Fax: 81-45-471-6122
Germany - Munich
Tel: 49-89-627-144-0
Fax: 49-89-627-144-44
Atlanta
Duluth, GA
Tel: 678-957-9614
Fax: 678-957-1455
Boston
Westborough, MA
Tel: 774-760-0087
Fax: 774-760-0088
Chicago
Itasca, IL
Tel: 630-285-0071
Fax: 630-285-0075
Cleveland
Independence, OH
Tel: 216-447-0464
Fax: 216-447-0643
Dallas
Addison, TX
Tel: 972-818-7423
Fax: 972-818-2924
Detroit
Farmington Hills, MI
Tel: 248-538-2250
Fax: 248-538-2260
Kokomo
Kokomo, IN
Tel: 765-864-8360
Fax: 765-864-8387
Los Angeles
Mission Viejo, CA
Tel: 949-462-9523
Fax: 949-462-9608
Santa Clara
Santa Clara, CA
Tel: 408-961-6444
Fax: 408-961-6445
Toronto
Mississauga, Ontario,
Canada
Tel: 905-673-0699
Fax: 905-673-6509
Australia - Sydney
Tel: 61-2-9868-6733
Fax: 61-2-9868-6755
China - Beijing
Tel: 86-10-8528-2100
Fax: 86-10-8528-2104
China - Chengdu
Tel: 86-28-8665-5511
Fax: 86-28-8665-7889
Korea - Daegu
Tel: 82-53-744-4301
Fax: 82-53-744-4302
China - Chongqing
Tel: 86-23-8980-9588
Fax: 86-23-8980-9500
Korea - Seoul
Tel: 82-2-554-7200
Fax: 82-2-558-5932 or
82-2-558-5934
China - Nanjing
Tel: 86-25-8473-2460
Fax: 86-25-8473-2470
Malaysia - Penang
Tel: 60-4-227-8870
Fax: 60-4-227-4068
China - Qingdao
Tel: 86-532-8502-7355
Fax: 86-532-8502-7205
Philippines - Manila
Tel: 63-2-634-9065
Fax: 63-2-634-9069
China - Shanghai
Tel: 86-21-5407-5533
Fax: 86-21-5407-5066
Singapore
Tel: 65-6334-8870
Fax: 65-6334-8850
China - Shenyang
Tel: 86-24-2334-2829
Fax: 86-24-2334-2393
China - Shenzhen
Tel: 86-755-8203-2660
Fax: 86-755-8203-1760
Taiwan - Kaohsiung
Tel: 886-7-213-7830
Fax: 886-7-330-9305
China - Wuhan
Tel: 86-27-5980-5300
Fax: 86-27-5980-5118
Taiwan - Taipei
Tel: 886-2-2500-6610
Fax: 886-2-2508-0102
China - Xian
Tel: 86-29-8833-7252
Fax: 86-29-8833-7256
Thailand - Bangkok
Tel: 66-2-694-1351
Fax: 66-2-694-1350
Italy - Milan
Tel: 39-0331-742611
Fax: 39-0331-466781
Netherlands - Drunen
Tel: 31-416-690399
Fax: 31-416-690340
Spain - Madrid
Tel: 34-91-708-08-90
Fax: 34-91-708-08-91
UK - Wokingham
Tel: 44-118-921-5869
Fax: 44-118-921-5820
China - Xiamen
Tel: 86-592-2388138
Fax: 86-592-2388130
China - Zhuhai
Tel: 86-756-3210040
Fax: 86-756-3210049
08/04/10
DS39622L-page 46