Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
PIC12HV609/12HV615/16HV610/16HV616
FIGURE 2-1: 8-PIN, 14-PIN, AND 16-PIN PROGRAMMING PINS DIAGRAM FOR PIC12F609/
12F615/12F617/16F610/16F616(1)
PIC12F615/609
GP5 2 7 GP0/ICSPDAT
PIC12F617
GP4 3 6 GP1/ICSPCLK
GP3/MCLR/VPP 4 5 GP2
PIC16F616/610
RA4 3 12 RA1/ICSPCLK
RA3/MCLR/VPP 4 11 RA2
RC5 5 10 RC0
RC4 6 9 RC1
RC3 7
VDD 8 RC2
VSS
NC
NC
16-Pin QFN
16
6 PIC16F616/HV616 15
14
13
RA5 12 RA0/ICSPDAT
PIC16F610/HV610
1
RA4 2 11 RA1/ICSPCLK
RA3/MCLR/VPP 3 10 RA2
RC5 4 9 RC0
5
8
RC4
RC3
RC2
RC1
Note 1: Please see specific data sheets for alternate pin functionality.
Implemented
03FF
Program Memory
Maps to
User ID Location 0-3FF
2000
1FFF
2002 User ID Location
2000
Implemented
2003 User ID Location 2040
2004 Reserved
2005 Reserved
Maps to Configuration Memory
Device ID 2000-203F
2006
Implemented
07FF
Program Memory
Maps to
User ID Location 0-7FF
2000
1FFF
2002 User ID Location
2000
Implemented
2003 User ID Location 2040
2070(1)
2004 Reserved
2005 Reserved
Maps to Configuration Memory
Device ID 2000-203F
2006
2000-206F(1)
VPP
Note: The PIC12F615, PIC12F609, PIC16F610
program memories must be written in
one-word writes only.
VDD
After writing the array, the PC may be reset and read
ICSPDAT back to verify the write. It is not possible to verify
immediately following the write because the PC can
ICSPCLK only increment, not decrement.
A device Reset will clear the PC and set the address to
Note: This method of entry is valid, regardless
of Configuration Word selected.
‘0’. The Increment Address command will increment
the PC. The Load Configuration command will set the
PC to 0x2000. The available commands are shown in
Table 4-1.
TDLY2
1 2 3 4 5 6 1 2 3 4 5 15 16
ICSPCLK
TDLY2
1 2 3 4 5 6 1 2 3 4 5 15 16
ICSPCLK
TDLY3
1 0 0 1 0 X X MSb stp_bit
ICSPDAT strt_bit
LSb
TSET1
THLD1 TDLY1
TDLY2
Next Command
1 2 3 4 5 6 1 2
ICSPCLK
0 1 1 0 X X X 0
ICSPDAT
TSET1
THLD1
TDLY1
VIHH
MCLR TPROG
End Programming Command
1 2 3 4 5 6 1 2
ICSPCLK
ICSPDAT 0 0 0 1 1 X X 0
TSET1
THLD1
VIHH
MCLR
Next Command
1 2 3 4 5 6 1 2
ICSPCLK
ICSPDAT 0 1 0 1 0 X X 0
TDIS
TSET1
THLD1
TERA
Next Command
1 2 3 4 5 6 1 2
ICSPCLK
1 0 0 1 X X X 0
ICSPDAT
TSET1 TSET1
THLD1 THLD1
TERA
Next Command
1 2 3 4 5 6 1 2
ICSPCLK
1 0 0 0 1 x x 0
ICSPDAT
Start
Bulk Erase
Program Program Cycle
Memory(1,2)
Load Data
for
One-word Program Memory
Program Cycle
Begin
Read Data Programming
from Command
Program Memory (Externally timed)
Report
No
Data Correct? Programming
Wait TPROG
Failure
Yes
Increment End
No All Locations
Address Programming
Done?
Command
Yes
Program
User ID/Config. bits Wait TDIS
Done
Note 1: This step is optional if the device has already been erased or has not been previously programmed.
2: If the device is code-protected or must be completely erased, then Bulk Erase the device per Figure 4-15.
Load Data
for
Start Program Memory
Bulk Erase
Load Data
Program
for
Memory(1), (2)
Program Memory
Four-word Increment
Program Cycle Address
Command
Increment
Program
Address
User ID/Config. bits
Command
Begin
Done
Programming
Command
(Externally timed)
Wait TPROG
End
Programming
Wait TDIS
Note 1: This step is optional if the device is erased or not previously programmed.
2: If the device is code-protected or must be completely erased, then Bulk Erase the device per Figure 4-15.
Start
PROGRAM CYCLE
Load
Configuration Load Data
for
Program Memory
One-word
Program Cycle
(User ID) Begin
Programming
Command
Read Data (Externally timed)
From Program
Memory Command
Wait TPROG
No Report
Data Correct? Programming
Failure
End
Yes Programming
Increment
Address
Command
Wait TDIS
Increment
No Address = Yes
Address
0x2004?
Command
Increment
Address
Command
Increment
Address
Command
One-word
Program Cycle
(Config. bits)
Read Data
From Program
Memory Command
Report
No
Data Correct? Programming
Failure
Yes
Done
Start
Load Configuration
Bulk Erase(1)
Program Memory
Done
Note 1: See Section 4.1.4.7 “Bulk Erase Program Memory” for more information on the Bulk Erase procedure.
Start
Load Configuration
Increment Address
Command
Address = No
0x2008?
Yes
Calibration No
Word Fail
is Valid?(1,2)
Yes
Done
Note 1: This step is not required for the Read and Store Calibration Memory Values procedure.
2: The device should not be used if verification of the Calibration Word locations fails. This information
should be reported to the user through the user interface of the device programmer.
REGISTER 5-2: CONFIG: CONFIGURATION WORD (ADDRESS: 2007h) FOR PIC12F617 ONLY
U-1 U-1 U-1 U-1 R/P-1 R/P-1 R/P-1
— — WRT1 WRT0 BOREN1 BOREN0 IOSCFS
bit 13
Revision A (2/06)
Original release.
Revision B (11/06)
Section 1.0 “Device Overview”Added devices.
Section 2.1 “Hardware Requirements”Reworded.
Section 2.2 “Program/Verify Mode”Deleted data
memory.
Figure 2-1 Added 16 pin and note 1.
Figure 2-1 Reworded Note 1.
Section 3.3 “Calibration Word”Changed to 8 MHz.
Figure 3-1 Changed title.
Section 4.1 “Program/Erase Algorithms”Added text
under note.
Section 4.1.3 “Erase Algorithms”Moved One word
programming to section 4.1.1.
Figure 4-12 Changed title.
Figure 4-13 Changed title.
Register Added GP4 and GP5, added note.
Register 5.1 Bit 13 and bits 5-0 changed to unim-
plemented read as “1”.
Section 6.3.1 “Checksum”Changed Lease to Least.
Changed CARRY to lowercase.
Revision C (05/07)
Changed device family name
Section 2.1 Revised Section 2.1
Section 3.1 Changed 0x000 to 0x0000
Table 6-1 Changed 1FFF to 0x03FF
Table 7-1 Revised VDD section
Revised Note 1 and Added Note 2
Revision D (12/09)
Updated sections 2.2, 3.3, 4.1.3, 4.1.4.1; Updated
Figures 4-11, 4-12, 4-13, 4-14; Added Figure 4-15.
Revision E (04/10)
Added PIC12F617 part number; minor edits.
This document replaces DS41396.
NOTES:
• 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 Microchip’s 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 Microchip’s 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.
ISBN: 978-1-60932-165-9
01/05/10