PIC16C61T-20E/SO [MICROCHIP]

8-BIT, OTPROM, 20 MHz, RISC MICROCONTROLLER, PDSO18, 0.300 INCH, PLASTIC, SO-18;
PIC16C61T-20E/SO
型号: PIC16C61T-20E/SO
厂家: MICROCHIP    MICROCHIP
描述:

8-BIT, OTPROM, 20 MHz, RISC MICROCONTROLLER, PDSO18, 0.300 INCH, PLASTIC, SO-18

可编程只读存储器 时钟 微控制器 光电二极管 外围集成电路
文件: 总24页 (文件大小:291K)
中文:  中文翻译
下载:  下载PDF数据表文档文件
PIC16C6XX/7XX/9XX  
Programming Specifications for PIC16C6XX/7XX/9XX OTP MCUs  
This document includes the programming  
specifications for the following devices:  
Pin Diagrams  
PDIP, Windowed CERDIP  
• PIC16C61  
• PIC16C62  
• PIC16C62A • PIC16C73A  
• PIC16C62B • PIC16C73B  
• PIC16C63  
• PIC16C63A • PIC16C74A  
• PIC16C64 • PIC16C74B  
• PIC16C64A • PIC16C76  
• PIC16C65 • PIC16C77  
• PIC16C65A • PIC16C620  
• PIC16C72A  
• PIC16C73  
• PIC16CE623  
• PIC16CE624  
• PIC16CE625  
• PIC16C710  
• PIC16C711  
• PIC16C712  
• PIC16C716  
• PIC16C745  
• PIC16C765  
• PIC16C773  
MCLR/VPP  
RA0  
1
2
3
4
5
6
7
8
40  
39  
38  
37  
36  
35  
34  
33  
32  
31  
30  
29  
28  
27  
26  
25  
24  
23  
22  
21  
RB7  
RB6  
RB5  
RB4  
RB3  
RB2  
RB1  
RB0/INT  
VDD  
RA1  
RA2  
RA3  
RA4/T0CKI  
RA5  
• PIC16C74  
RE0  
RE1  
RE2  
9
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
VSS  
VDD  
VSS  
OSC1/CLKIN  
OSC2/CLKOUT  
RC0  
RD7  
RD6  
RD5  
RD4  
RC7  
RC6  
RC5  
RC4  
RD3  
RD2  
RC1  
RC2  
RC3  
• PIC16C65B • PIC16C620A • PIC16C774  
RD0  
RD1  
• PIC16C66  
• PIC16C67  
• PIC16C71  
• PIC16C72  
• PIC16C621  
• PIC16C621A • PIC16C924  
• PIC16C622  
• PIC16C923  
PDIP, SOIC, Windowed CERDIP  
(300 mil)  
28  
27  
26  
25  
24  
23  
22  
21  
20  
19  
18  
17  
16  
15  
RB7  
RB6  
RB5  
RB4  
RB3  
RB2  
RB1  
RB0/INT  
VDD  
MCLR/VPP  
RA0  
• 1  
2
• PIC16C622A  
3
RA1  
RA2  
4
1.0  
PROGRAMMING THE  
PIC16C6XX/7XX/9XX  
RA3  
5
6
RA4/T0CKI  
RA5  
7
VSS  
8
The PIC16C6XX/7XX/9XX can be programmed using a  
serial method. In serial mode the PIC16C6XX/7XX/  
9XX can be programmed while in the users system.  
This allows for increased design flexibility. This pro-  
gramming specification applies to PIC16C6XX/7XX/  
9XX devices in all packages.  
9
OSC1/CLKIN  
OSC2/CLKOUT  
RC0  
VSS  
10  
11  
12  
13  
14  
RC7  
RC6  
RC5  
RC4  
RC1  
RC2  
RC3  
1.1  
Hardware Requirements  
The PIC16C6XX/7XX/9XX requires two programmable  
power supplies, one for VDD (2.0V to 6.5V recom-  
mended) and one for VPP (12V to 14V). Both supplies  
should have a minimum resolution of 0.25V.  
1.2  
Programming Mode  
The programming mode for the PIC16C6XX/7XX/9XX  
allows programming of user program memory, special  
locations used for ID, and the configuration word for the  
PIC16C6XX/7XX/9XX.  
2000 Microchip Technology Inc.  
DS30228J-page 1  
PIC16C6XX/7XX/9XX  
Pin Diagrams (Con’t)  
300 mil. SDIP, SOIC, Windowed CERDIP, SSOP  
PDIP, SOIC, Windowed CERDIP  
18  
17  
16  
15  
14  
13  
12  
11  
10  
RA1  
• 1  
2
RA2  
RA3  
MCLR/VPP  
RA0/AN0  
• 1  
2
28  
27  
26  
25  
24  
RB7  
RA0  
RB6  
OSC1/CLKIN  
OSC2/CLKOUT  
VDD  
3
RA4/T0CKI  
MCLR/VPP  
VSS  
RA1/AN1  
3
RB5  
4
RA2/AN2/VREF-/VRL  
RA3/AN3/VREF+/VRH  
4
RB4  
5
5
RB3/AN9/LVDIN  
RB7  
RA4/T0CKI  
6
7
8
23  
22  
21  
RB2/AN8  
RB1/SS  
RB0/INT  
6
RB0/INT  
RB1  
AVDD  
AVSS  
RB6  
7
RB5  
8
RB2  
OSC1/CLKIN  
OSC2/CLKOUT  
RC0/T1OSO/T1CKI  
RC1/T1OSI/CCP2  
RC2/CCP1  
9
20  
19  
18  
17  
16  
15  
VDD  
RB4  
9
RB3  
10  
11  
12  
13  
14  
VSS  
RC7/RX/DT  
RC6/TX/CK  
RC5/SDO  
RC4/SDI/SDA  
RC3/SCK/SCL  
18 pin PDIP, SOIC, Windowed CERDIP  
RA1/AN1  
RA0/AN0  
OSC1/CLKIN  
OSC2/CLKOUT  
VDD  
RA2/AN2  
RA3/AN3/VREF  
• 1  
2
18  
17  
16  
15  
14  
RA4/T0CKI  
MCLR/VPP  
3
4
VSS  
RB0/INT  
RB1/T1OSO/T1CKI  
5
RB7  
RB6  
6
7
8
9
13  
12  
11  
RB5  
RB4  
RB2/T1OSI  
RB3/CCP1  
10  
20 pin SSOP  
RA1/AN1  
RA0/AN0  
OSC1/CLKIN  
OSC2/CLKOUT  
VDD  
RA2/AN2  
RA3/AN3/VREF  
• 1  
2
20  
19  
18  
17  
16  
RA4/T0CKI  
MCLR/VPP  
3
4
VSS  
VSS  
5
VDD  
6
15  
RB7  
RB6  
RB0/INT  
RB1/T1OSO/T1CKI  
7
14  
13  
8
12  
11  
RB5  
RB4  
9
RB2/T1OSI  
RB3/CCP1  
10  
PLCC  
10  
11  
RA4/T0CKI  
RA5/AN4/SS  
RB1  
RB0/INT  
RC3/SCK/SCL  
RC4/SDI/SDA  
RC5/SDO  
C1  
60  
RD5/SEG29/COM3  
RG6/SEG26  
RG5/SEG25  
RG4/SEG24  
RG3/SEG23  
RG2/SEG22  
RG1/SEG21  
RG0/SEG20  
RG7/SEG28  
RF7/SEG19  
RF6/SEG18  
RF5/SEG17  
RF4/SEG16  
RF3/SEG15  
RF2/SEG14  
RF1/SEG13  
RF0/SEG12  
59  
58  
57  
56  
55  
54  
53  
52  
51  
50  
49  
48  
47  
46  
45  
44  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
PIC16C923  
PIC16C924  
C2  
VLCD2  
VLCD3  
AVDD  
VDD  
VSS  
OSC1/CLKIN  
OSC2/CLKOUT  
RC0/T1OSO/T1CKI  
DS30228J-page 2  
2000 Microchip Technology Inc.  
PIC16C6XX/7XX/9XX  
A user may store identification information (ID) in four  
ID locations. The ID locations are mapped in [0x2000 :  
0x2003]. It is recommended that the user use only the  
four least significant bits of each ID location. In some  
devices, the ID locations read-out in a scrambled fash-  
ion after code protection is enabled. For these devices,  
it is recommended that ID location is written as “11  
1111 1bbb bbbb” where 'bbbb' is ID information.  
2.0  
PROGRAM MODE ENTRY  
2.1  
User Program Memory Map  
The user memory space extends from 0x0000 to  
0x1FFF (8K). Table 2-1 shows actual implementation  
of program memory in the PIC16C6XX/7XX/9XX fam-  
ily.  
Note: All other locations are reserved and should  
TABLE 2-1:  
IMPLEMENTATION OF  
PROGRAM MEMORY IN THE  
PIC16C6XX/7XX/9XX  
not be programmed.  
In other devices, the ID locations read out normally,  
even after code protection. To understand how the  
devices behave, refer to Table 4-1.  
Program Memory  
Size  
Device  
To understand the scrambling mechanism after code  
protection, refer to Section 3.1.  
PIC16C61  
0x000 – 0x3FF (1K)  
0x000 – 0x1FF (0.5K)  
0x000 – 0x3FF (1K)  
0x000 – 0x7FF (2K)  
PIC16C620/620A  
PIC16C621/621A  
PIC16C622/622A  
PIC16C62/62A/62B  
PIC16C63/63A  
PIC16C64/64A  
PIC16C65/65A/65B  
PIC16CE623  
PIC16CE624  
PIC16CE625  
PIC16C71  
0x000 – 0x7FF (2K)  
0x000 – 0xFFF (4K)  
0x000 – 0x7FF (2K)  
0x000 – 0xFFF (4K)  
0x000 – 0x1FF (0.5K)  
0x000 – 0x3FF (1K)  
0x000 – 0x7FF (2K)  
0x000 – 0x3FF (1K)  
0x000 – 0x1FF (0.5K)  
0x000 – 0x3FF (1K)  
0x000 – 0x3FF (1K)  
0x000 – 0x7FF (2K)  
0x000 – 0x7FF (2K)  
0x000 – 0xFFF (4K)  
0x000 – 0xFFF (4K)  
0x000 – 0x1FFF (8K)  
0x000 – 0x1FFF (8K)  
0x000 – 0x1FFF (8K)  
0x000 – 0x1FFF (8K)  
0x000 – 0x1FFF (8K)  
0x000 – 0x1FFF (8K)  
0x000 – 0xFFF (4K)  
0x000 – 0xFFF (4K)  
0x000 – 0xFFF (4K)  
PIC16C710  
PIC16C711  
PIC16C712  
PIC16C716  
PIC16C72/72A  
PIC16C73/73A/73B  
PIC16C74/74A/74B  
PIC16C66  
PIC16C67  
PIC16C76  
PIC16C77  
PIC16C745  
PIC16C765  
PIC16C773  
PIC16C774  
PIC16C923/924  
When the PC reaches the last location of the imple-  
mented program memory, it will wrap around and  
address a location within the physically implemented  
memory (see Figure 2-1).  
Once in configuration memory, the highest bit of the PC  
stays a ’1’, thus always pointing to the configuration  
memory. The only way to point to user program mem-  
ory is to reset the part and reenter program/verify  
mode, as described in Section 2.2.  
2000 Microchip Technology Inc.  
DS30228J-page 3  
 
PIC16C6XX/7XX/9XX  
FIGURE 2-1: PROGRAM MEMORY MAPPING  
0.5K  
1K  
2K  
4K  
8K  
words  
words  
words  
words  
words  
0h  
ID Location  
ID Location  
ID Location  
ID Location  
Reserved  
2000h  
2001h  
2002h  
2003h  
2004h  
2005h  
2006h  
2007h  
Implemented  
Reserved  
1FFh  
3FFh  
400h  
Implemented  
Implemented  
Implemented  
Implemented  
Implemented  
Implemented  
Implemented  
Implemented  
Implemented  
Implemented  
Implemented  
Implemented  
Implemented  
Implemented  
Implemented  
7FFh  
800h  
BFFh  
C00h  
Reserved  
FFFh  
1000h  
Reserved  
Reserved  
Reserved  
Reserved  
Configuration Word  
1FFFh  
2008h  
2100h  
Reserved  
Reserved  
Reserved  
Reserved  
Reserved  
Reserved  
Reserved  
Reserved  
Reserved  
Reserved  
3FFFh  
DS30228J-page 4  
2000 Microchip Technology Inc.  
 
PIC16C6XX/7XX/9XX  
have a minimum delay of 1 µs between the command  
and the data. After this delay the clock pin is cycled 16  
times with the first cycle being a start bit and the last  
cycle being a stop bit. Data is also input and output LSb  
first. Therefore, during a read operation the LSb will be  
transmitted onto pin RB7 on the rising edge of the sec-  
ond cycle, and during a load operation the LSb will be  
latched on the falling edge of the second cycle. A min-  
imum 1 µs delay is also specified between consecutive  
commands.  
2.2  
Program/Verify Mode  
The program/verify mode is entered by holding pins  
RB6 and RB7 low while raising MCLR pin from VSS to  
the appropriate VIHH (high voltage). Once in this mode  
the user program memory and the configuration mem-  
ory can be accessed and programmed in serial fash-  
ion. The mode of operation is serial, and the memory  
that is accessed is the user program memory. RB6 is a  
Schmitt Trigger input in this mode.  
The sequence that enters the device into the program-  
ming/verify mode places all other logic into the reset  
state (the MCLR pin was initially at VSS). This means  
that all I/O are in the reset state (High impedance  
inputs).  
All commands are transmitted LSb first. Data words are  
also transmitted LSb first. The data is transmitted on  
the rising edge and latched on the falling edge of the  
clock. To allow for decoding of commands and reversal  
of data pin configuration, a time separation of at least  
1 µs is required between a command and a data word  
(or another command).  
Note 1: The MCLR pin should be raised as quickly  
as possible from VIL to VIHH. this is to  
ensure that the device does not have the  
PC incremented while in valid operation  
range.  
The commands that are available are listed  
in Table 2-2.  
2.2.1.1  
LOAD CONFIGURATION  
2: Do not power any pin before VDD is  
applied.  
After receiving this command, the program counter  
(PC) will be set to 0x2000. By then applying 16 cycles  
to the clock pin, the chip will load 14-bits a “data word”  
as described above, to be programmed into the config-  
uration memory. A description of the memory mapping  
schemes for normal operation and configuration mode  
operation is shown in Figure 2-1. After the configura-  
tion memory is entered, the only way to get back to the  
user program memory is to exit the program/verify test  
mode by taking MCLR low (VIL).  
2.2.1  
PROGRAM/VERIFY OPERATION  
The RB6 pin is used as a clock input pin, and the RB7  
pin is used for entering command bits and data input/  
output during serial operation. To input a command, the  
clock pin (RB6) is cycled six times. Each command bit  
is latched on the falling edge of the clock with the least  
significant bit (LSb) of the command being input first.  
The data on pin RB7 is required to have a minimum  
setup and hold time (see AC/DC specs) with respect to  
the falling edge of the clock. Commands that have data  
associated with them (read and load) are specified to  
TABLE 2-2:  
COMMAND MAPPING  
Command  
Mapping (MSb ... LSb)  
Data  
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
0
0
0
Load Configuration  
Load Data  
0, data(14), 0  
0, data(14), 0  
0, data(14), 0  
Read Data  
Increment Address  
Begin programming  
End Programming  
Note: The clock must be disabled during In-Circuit Serial Programming.  
2000 Microchip Technology Inc.  
DS30228J-page 5  
 
PIC16C6XX/7XX/9XX  
FIGURE 2-2: PROGRAM FLOW CHART - PIC16C6XX/7XX/9XX PROGRAM MEMORY  
Start  
Set VDD = VDDP*  
Set VPP = VIHH1  
N = 1  
No  
Report programming  
Yes  
Program Cycle  
N > 25?  
failure  
Read Data  
Command  
N = N + 1 N = #  
of Program Cycles  
No  
Increment Address  
Command  
Data correct?  
Yes  
Apply 3N Additional  
Program Cycles  
Program Cycle  
Load Data  
Command  
No  
All locations done?  
Yes  
Begin Programming  
Command  
Verify all locations  
@ VDD min.*  
VPP = VIHH2  
Wait 100 µs  
No  
Report verify  
Data correct?  
Yes  
@ VDD min. Error  
End Programming  
Command  
Verify all locations  
@ VDD max.*  
VPP = VIHH2  
Report verify  
@ VDD max. Error  
No  
Data correct?  
Yes  
Done  
* VDDP = VDD range for programming (typically 4.75V - 5.25V).  
VDDmin = Minimum VDD for device operation.  
VDDmax = Maximum VDD for device operation.  
DS30228J-page 6  
2000 Microchip Technology Inc.  
PIC16C6XX/7XX/9XX  
FIGURE 2-3: PROGRAM FLOW CHART - PIC16C6XX/7XX/9XX CONFIGURATION WORD & ID  
LOCATIONS  
Start  
Set VDD = VDDP*  
Set VPP = VIHH1  
Load Configuration  
Command  
N = 1  
No  
Yes  
Read Data  
Command  
Program ID Loc?  
Program Cycle  
Increment Address  
No  
Command  
N = N + 1 N = #  
of Program Cycles  
Data Correct?  
Yes  
No  
Address = 2004  
Yes  
No  
N > 25  
Yes  
Increment Address  
Command  
Report ID  
Configuration Error  
Apply 3N  
Program Cycles  
Increment Address  
Command  
Program Cycle  
100 Cycles  
Read Data  
Command  
Increment Address  
Command  
No  
Data Correct?  
Yes  
Set V = V min  
Read Data Command  
Set VPP = VIHH2  
No  
DD  
DD  
Report Program  
ID/Config. Error  
Data Correct?  
Yes  
No  
Yes  
Set VDD = VDDmax  
Read Data Command  
Set VPP = VIHH2  
Data Correct?  
Done  
VDDP = VDD Range for programming (Typically 4.25V – 5.25V)  
VDDMIN = minimum VDD for device operation  
VDDMAX = maximum VDD for device operation  
2000 Microchip Technology Inc.  
DS30228J-page 7  
PIC16C6XX/7XX/9XX  
2.2.1.2  
LOAD DATA  
2.3  
Programming Algorithm Requires  
Variable VDD  
After receiving this command, the chip will load in a  
14-bit “data word” when 16 cycles are applied, as  
described previously. A timing diagram for the load data  
command is shown in Figure 4-1.  
The PIC16C6XX/7XX/9XX uses an intelligent algo-  
rithm. The algorithm calls for program verification at  
VDDmin as well as VDDmax. Verification at VDDmin  
guarantees good “erase margin”. Verification at  
VDDmax guarantees good “program margin”.  
2.2.1.3  
READ DATA  
After receiving this command, the chip will transmit  
data bits out of the memory currently accessed starting  
with the second rising edge of the clock input. The RB7  
pin will go into output mode on the second rising clock  
edge, and it will revert back to input mode (hi-imped-  
ance) after the 16th rising edge. A timing diagram of  
this command is shown in Figure 4-2.  
The actual programming must be done with VDD in the  
VDDP range (4.75 - 5.25V).  
VDDP  
= VCC range required during programming.  
VDD min. = minimum operating VDD spec for the part.  
VDDmax = maximum operating VDD spec for the part.  
Programmers must verify the PIC16C6XX/7XX/9XX at  
its specified VDDmax and VDDmin levels. Since  
Microchip may introduce future versions of the  
PIC16C6XX/7XX/9XX with a broader VDD range, it is  
best that these levels are user selectable (defaults are  
ok).  
2.2.1.4  
INCREMENT ADDRESS  
The PC is incremented when this command is  
received. A timing diagram of this command is shown  
in Figure 4-3.  
Note:  
Any programmer not meeting these  
requirements may only be classified as  
“prototype” or “development” programmer  
but not a “production” quality programmer.  
2.2.1.5  
BEGIN PROGRAMMING  
A load command (load configuration or load data)  
must be given before every begin programming  
command. Programming of the appropriate memory  
(test program memory or user program memory) will  
begin after this command is received and decoded.  
Programming should be performed with a series of  
100µs programming pulses. A programming pulse is  
defined as the time between the begin programming  
command and the end programming command.  
2.2.1.6  
END PROGRAMMING  
After receiving this command, the chip stops program-  
ming the memory (configuration program memory or  
user program memory) that it was programming at the  
time.  
DS30228J-page 8  
2000 Microchip Technology Inc.  
PIC16C6XX/7XX/9XX  
3.0  
CONFIGURATION WORD  
The PIC16C6XX/7XX/9XX family members have sev-  
eral configuration bits. These bits can be programmed  
(reads ’0’) or left unprogrammed (reads ’1’) to select  
various device configurations. Figure 3-1 and  
Figure 3-2 provides an overview of configuration bits.  
2000 Microchip Technology Inc.  
DS30228J-page 9  
PIC16C6XX/7XX/9XX  
FIGURE 3-1: CONFIGURATION WORD BIT MAP  
Bit  
6
5
4
3
2
1
0
13  
12  
11  
10  
9
8
7
Number:  
PIC16C61/71  
0
CP0 PWRTE WDTE FOSC1 FOSC0  
PIC16C62/64/65/73/74  
CP1 CP0 PWRTE WDTE FOSC1 FOSC0  
PIC16C62A/62B/63A/CR62/  
63/  
64A/CR64/65A/65B/66/67/  
72/72A/73A/73B/74A/74B/76/  
77/620/620A/621/621A/622/  
622A/  
712/716 CP1 CP0 CP1 CP0 CP1 CP0  
BODEN CP1 CP0 PWRTE WDTE FOSC1 FOSC0  
PIC16C9XX/745/765  
CP1 CP0 CP1 CP0 CP1 CP0  
CP1 CP0 PWRTE WDTE FOSC1 FOSC0  
Reserved, '–' write as '1' for PIC16C6XX/7XX/9XX  
CP <1:0>, Code Protect  
Device  
CP1  
CP0  
Code Protection  
PIC16C622/622A  
0
0
1
0
All memory protected  
PIC16C62/62A/62B  
PIC16C63/63A  
0
1
Upper 3/4 memory protected  
Upper 1/2 memory protected  
PIC16C64/64A/712/716  
PIC16C65/65A/65B  
PIC16C66/67/72/72A  
PIC16C73/73A/73B  
PIC16C74/74A/74B/76/77  
PIC16C745/765  
1
1
Code protection off  
PIC16C9XX  
PIC16C61/71  
PIC16C710/711  
PIC16C620  
0
0
1
1
0
1
1
0
1
0
1
0
1
0
0
1
All memory protected  
Off  
All memory protected  
Do not use  
Do not use  
Code protection off  
All memory protected  
Upper 1/2 memory protected  
Code protection off  
PIC16C621  
bit 6:  
BODEN, Brown Out Enable Bit  
1 = Enabled  
2 = Disable  
bit 4: PWRTE/PWRTE, Power Up Timer Enable Bit  
PIC16C61/62/64/65/71/73/74:  
1 = Power up timer enabled  
0 = Power up timer disabled  
PIC16C620/620A/621/621A/622/622A/62A/63/63A/65A/65B/66/67/72/72A/73A/73B/74A/74B/76/77/710/  
711/923/924/745/765:  
0 = Power up timer enabled  
1 = Power up timer disabled  
bit 3-2: WDTE, WDT Enable Bit  
1 = WDT enabled  
0 = WDT disabled  
bit 1-0: FOSC<1:0>, Oscillator Selection Bit  
11: RC oscillator  
10: HS oscillator  
01: XT oscillator  
00: LP oscillator  
bit 1-0: FOSC<1:0>, PIC16C745/765  
11: E external clock with 4k PLL  
10: H HS oscillator with 4k PL enabled  
01: EC exteranl clock, clkout on osc2  
00: HS  
Note 1: Enabling Brown-out Reset automatically enables the Power-up Timer (PWRT) regardless of the value of bit  
PWRTE. Ensure the Power-up Timer is enabled anytime Brown-out Reset is enabled.  
DS30228J-page 10  
2000 Microchip Technology Inc.  
PIC16C6XX/7XX/9XX  
FIGURE 3-2: CONFIGURATION WORD FOR PIC16C773/774 DEVICE  
CP1 CP0 BORV1 BORV0 CP1 CP0  
bit13 12 11 10  
-
BODEN CP1 CP0 PWRTE WDTE FOSC1 FOSC0  
bit0  
Register: CONFIG  
Address 2007h  
9
8
7
6
5
4
3
2
1
CP <1:0> Code Protection bits (2)  
Device  
CP1  
CP0  
Code Protection  
PIC16C773/774  
0
0
1
1
0
1
0
1
All memory protected  
Upper 3/4 memory protected  
Upper 1/2 memory protected1  
Code protection off  
bit 11-10: BORV <1:0>: Brown-out Reset Voltage bits  
11 = VBOR set to 2.5V  
10 = VBOR set to 2.7V  
01 = VBOR set to 4.2V  
00 = VBOR set to 4.5V  
bit 7:  
bit 6:  
Unimplemented, Read as ’1’  
(1)  
BODEN: Brown-out Reset Enable bit  
1 = Brown-out Reset enabled  
0 = Brown-out Reset disabled  
(1)  
bit 3:  
bit 2:  
PWRTE: Power-up Timer Enable bit  
1 = PWRT disabled  
0 = PWRT enabled  
WDTE: Watchdog Timer Enable bit  
1 = WDT enabled  
0 = WDT disabled  
bit 1-0: FOSC <1:0>: Oscillator Selection bits  
11= RC oscillator  
10= HS oscillator  
01= XT oscillator  
00= LP oscillator  
Note 1: Enabling Brown-out Reset automatically enables the Power-up Timer (PWRT) regardless of the value of bit PWRTE.  
Ensure the Power-up Timer is enabled anytime Brown-out Reset is enabled.  
2: All of the CP <1:0> pairs have to be given the same value to enable the code protection scheme listed.  
2000 Microchip Technology Inc.  
DS30228J-page 11  
PIC16C6XX/7XX/9XX  
FIGURE 3-3: CONFIGURATION WORD, PIC16C710/711  
CP0  
CP0 CP0 CP0 CP0 CP0 CP0 BODEN CP0  
CP0 PWRTE WDTE FOSC1 FOSC0  
bit0  
Register: CONFIG  
Address 2007h  
bit13  
(2)  
bit 13-7 CP0: Code protection bits  
5-4: 1 = Code protection off  
0 = All memory is code protected, but 00h - 3Fh is writable  
(1)  
bit 6:  
bit 3:  
bit 2:  
BODEN: Brown-out Reset Enable bit  
1 = BOR enabled  
0 = BOR disabled  
(1)  
PWRTE: Power-up Timer Enable bit  
1 = PWRT disabled  
0 = PWRT enabled  
WDTE: Watchdog Timer Enable bit  
1 = WDT enabled  
0 = WDT disabled  
bit 1-0: FOSC <1:0>: Oscillator Selection bits  
11= RC oscillator  
10= HS oscillator  
01= XT oscillator  
00= LP oscillator  
Note 1: Enabling Brown-out Reset automatically enables Power-up Timer (PWRT) regardless of the value of bit PWRTE.  
Ensure the Power-up Timer is enabled anytime Brown-out Reset is enabled.  
2: All of the CP0 bits have to be given the same value to enable the code protection scheme listed.  
DS30228J-page 12  
2000 Microchip Technology Inc.  
PIC16C6XX/7XX/9XX  
3.1  
Embedding Configuration Word and ID Information in the Hex File.  
To allow portability of code, the programmer is required to read the configuration word and ID locations from the hex  
file when loading the hex file. If configuration word information was not present in the hex file then a simple warning  
message may be issued. Similarly, while saving a hex file, configuration word and ID information must be included.  
An option to not include this information may be provided.  
Microchip Technology Inc. feels strongly that this feature is beneficial to the end customer.  
2000 Microchip Technology Inc.  
DS30228J-page 13  
PIC16C6XX/7XX/9XX  
The following table describes how to calculate the  
checksum for each device. Note that the checksum cal-  
culation differs depending on the code protect setting.  
Since the program memory locations read out differ-  
ently depending on the code protect setting, the table  
describes how to manipulate the actual program mem-  
ory values to simulate the values that would be read  
from a protected device. When calculating a checksum  
by reading a device, the entire program memory can  
simply be read and summed. The configuration word  
and ID locations can always be read.  
3.2  
Checksum  
3.2.1  
CHECKSUM CALCULATIONS  
Checksum is calculated by reading the contents of the  
PIC16C6XX/7XX/9XX memory locations and adding  
up the opcodes up to the maximum user addressable  
location, e.g., 0x1FF for the PIC16C74. Any carry bits  
exceeding 16-bits are neglected. Finally, the configura-  
tion word (appropriately masked) is added to the check-  
sum. Checksum computation for each member of the  
PIC16C6XX/7XX/9XX devices is shown in Table 3-1.  
Note that some older devices have an additional value  
added in the checksum. This is to maintain compatibil-  
ity with older device programmer checksums.  
The checksum is calculated by summing the following:  
• The contents of all program memory locations  
• The configuration word, appropriately masked  
• Masked ID locations (when applicable)  
The least significant 16 bits of this sum is the check-  
sum.  
TABLE 3-1:  
Device  
CHECKSUM COMPUTATION  
Code  
0x25E6 at  
Blank  
Checksum*  
0 and max  
Value  
Protect  
address  
PIC16C61  
OFF  
ON  
SUM[0x000:0x3FF] + CFGW & 0x001F + 0x3FE0  
SUM_XNOR7[0x000:0x3FF] + (CFGW & 0x001F | 0x0060)  
0x3BFF  
0xFC6F  
0x07CD  
0xFC15  
PIC16C620  
PIC16C620A  
PIC16C621  
OFF  
ON  
SUM[0x000:0x1FF] + CFGW & 0x3F7F  
SUM_ID + CFGW & 0x3F7F  
0x3D7F  
0x3DCE  
0x094D  
0x099C  
OFF  
ON  
SUM[0x000:0x1FF] + CFGW & 0x3F7F  
SUM_ID + CFGW & 0x3F7F  
0x3D7F  
0x3DCE  
0x094D  
0x099C  
OFF  
1/2  
ALL  
SUM[0x000:0x3FF] + CFGW & 0x3F7F  
SUM[0x000:0x1FF] + CFGW & 0x3F7F + SUM_ID  
CFGW & 0x3F7F + SUM_ID  
0x3B7F  
0x4EDE  
0x3BCE  
0x074D  
0x0093  
0x079C  
PIC16C621A  
PIC16C622  
OFF  
1/2  
ALL  
SUM[0x000:0x3FF] + CFGW & 0x3F7F  
SUM[0x000:0x1FF] + CFGW & 0x3F7F + SUM_ID  
CFGW & 0x3F7F + SUM_ID  
0x3B7F  
0x4EDE  
0x3BCE  
0x074D  
0x0093  
0x079C  
OFF  
1/2  
3/4  
SUM[0x000:0x7FF] + CFGW & 0x3F7F  
SUM[0x000:0x3FF] + CFGW & 0x3F7F + SUM_ID  
SUM[0x000:0x1FF] + CFGW & 0x3F7F + SUM_ID  
CFGW & 0x3F7F + SUM_ID  
0x377F  
0x5DEE  
0x4ADE  
0x37CE  
0x034D  
0x0FA3  
0xFC93  
0x039C  
ALL  
PIC16C622A  
PIC16CE623  
OFF  
1/2  
3/4  
SUM[0x000:0x7FF] + CFGW & 0x3F7F  
SUM[0x000:0x3FF] + CFGW & 0x3F7F + SUM_ID  
SUM[0x000:0x1FF] + CFGW & 0x3F7F + SUM_ID  
CFGW & 0x3F7F + SUM_ID  
0x377F  
0x5DEE  
0x4ADE  
0x37CE  
0x034D  
0x0FA3  
0xFC93  
0x039C  
ALL  
OFF  
ON  
SUM[0x000:0x1FF] + CFGW & 0x3F7F  
SUM_ID + CFGW & 0x3F7F  
0x3D7F  
0x3DCE  
0x094D  
0x099C  
Legend: CFGW = Configuration Word  
SUM[a:b] = [Sum of locations a through b inclusive]  
SUM_XNOR7[a:b] = XNOR of the seven high order bits of memory location with the seven low order bits summed over  
locations a through b inclusive. For example, XNOR(0x3C31)=0x78 XNOR 0c31 = 0x0036.  
SUM_ID = ID locations masked by 0xF then made into a 16-bit value with ID0 as the most significant nibble. For example,  
ID0 = 0x12, ID1 = 0x37, ID2 = 0x4, ID3 = 0x26, then SUM_ID = 0x2746.  
*Checksum = [Sum of all the individual expressions] MODULO [0xFFFF]  
+ = Addition  
& = Bitwise AND  
| = Bitwise OR  
DS30228J-page 14  
2000 Microchip Technology Inc.  
 
PIC16C6XX/7XX/9XX  
TABLE 3-1:  
CHECKSUM COMPUTATION (CONTINUED)  
0x25E6 at  
0 and max  
address  
Code  
Protect  
Blank  
Value  
Device  
Checksum*  
PIC16CE624  
OFF  
1/2  
ALL  
SUM[0x000:0x3FF] + CFGW & 0x3F7F  
SUM[0x000:0x1FF] + CFGW & 0x3F7F + SUM_ID  
CFGW & 0x3F7F + SUM_ID  
0x3B7F  
0x4EDE  
0x3BCE  
0x074D  
0x0093  
0x079C  
PIC16CE625  
PIC16C62  
OFF  
1/2  
3/4  
SUM[0x000:0x7FF] + CFGW & 0x3F7F  
SUM[0x000:0x3FF] + CFGW & 0x3F7F + SUM_ID  
SUM[0x000:0x1FF] + CFGW & 0x3F7F + SUM_ID  
CFGW & 0x3F7F + SUM_ID  
0x377F  
0x5DEE  
0x4ADE  
0x37CE  
0x034D  
0x0FA3  
0xFC93  
0x039C  
ALL  
OFF  
1/2  
3/4  
SUM[0x000:0x7FF] + CFGW & 0x003F + 0x3F80  
SUM[0x000:0x3FF] + SUM_XNOR7[0x400:0x7FF] + CFGW & 0x003F +  
0x3F80  
SUM[0x000:0x1FF] + SUM_XNOR7[0x200:0x7FF] + CFGW & 0x003F +  
0x3F80  
0x37BF  
0x37AF  
0x379F  
0x378F  
0x038D  
0x1D69  
0x1D59  
0x3735  
ALL  
SUM_XNOR7[0x000:0x7FF] + CFGW & 0x003F + 0x3F80  
PIC16C62A  
PIC16C62B  
PIC16C63  
OFF  
1/2  
3/4  
SUM[0x000:0x7FF] + CFGW & 0x3F7F  
SUM[0x000:0x3FF] + CFGW & 0x3F7F + SUM_ID  
SUM[0x000:0x1FF] + CFGW & 0x3F7F + SUM_ID  
CFGW & 0x3F7F + SUM_ID  
0x377F  
0x5DEE  
0x4ADE  
0x37CE  
0x034D  
0x0FA3  
0xFC93  
0x039C  
ALL  
OFF  
1/2  
3/4  
SUM[0x000:0x7FF] + CFGW & 0x3F7F  
SUM[0x000:0x3FF] + CFGW & 0x3F7F + SUM_ID  
SUM[0x000:0x1FF] + CFGW & 0x3F7F + SUM_ID  
CFGW & 0x3F7F + SUM_ID  
0x377F  
0x5DEE  
0x4ADE  
0x37CE  
0x034D  
0x0FA3  
0xFC93  
0x039C  
ALL  
OFF  
1/2  
3/4  
SUM[0x000:0xFFF] + CFGW & 0x3F7F  
SUM[0x000:0x7FF] + CFGW & 0x3F7F + SUM_ID  
SUM[0x000:0x3FF] + CFGW & 0x3F7F + SUM_ID  
CFGW & 0x3F7F + SUM_ID  
0x2F7F  
0x51EE  
0x40DE  
0x2FCE  
0xFB4D  
0x03A3  
0xF293  
0xFB9C  
ALL  
PIC16C63A  
OFF  
1/2  
3/4  
SUM[0x000:0xFFF] + CFGW & 0x3F7F  
SUM[0x000:0x7FF] + CFGW & 0x3F7F + SUM_ID  
SUM[0x000:0x3FF] + CFGW & 0x3F7F + SUM_ID  
CFGW & 0x3F7F + SUM_ID  
0x2F7F  
0x51EE  
0x40DE  
0x2FCE  
0xFB4D  
0x03A3  
0xF293  
0xFB9C  
ALL  
PIC16C64  
OFF  
1/2  
3/4  
SUM[0x000:0x7FF] + CFGW & 0x003F + 0x3F80  
SUM[0x000:0x3FF] + SUM_XNOR7[0x400:0x7FF] + CFGW & 0x003F +  
0x3F80  
SUM[0x000:0x1FF] + SUM_XNOR7[0x200:0x7FF] + CFGW & 0x003F +  
0x3F80  
0x37BF  
0x37AF  
0x379F  
0x378F  
0x038D  
0x1D69  
0x1D59  
0x3735  
ALL  
SUM_XNOR7[0x000:0x7FF] + CFGW & 0x003F + 0x3F80  
PIC16C64A  
PIC16C65  
OFF  
1/2  
3/4  
SUM[0x000:0x7FF] + CFGW & 0x3F7F  
SUM[0x000:0x3FF] + CFGW & 0x3F7F + SUM_ID  
SUM[0x000:0x1FF] + CFGW & 0x3F7F + SUM_ID  
CFGW & 0x3F7F + SUM_ID  
0x377F  
0x5DEE  
0x4ADE  
0x37CE  
0x034D  
0x0FA3  
0xFC93  
0x039C  
ALL  
OFF  
1/2  
3/4  
SUM[0x000:0xFFF] + CFGW & 0x003F + 0x3F80  
SUM[0x000:0x7FF] + SUM_XNOR7[0x800:FFF] + CFGW & 0x003F +  
0x3F80  
SUM[0x000:0x3FF] + SUM_XNOR7[0x400:FFF] + CFGW & 0x003F +  
0x3F80  
0x2FBF  
0x2FAF  
0x2F9F  
0x2F8F  
0xFB8D  
0x1569  
0x1559  
0x2F35  
ALL  
SUM_XNOR7[0x000:0xFFF] + CFGW & 0x003F + 0x3F80  
Legend: CFGW = Configuration Word  
SUM[a:b] = [Sum of locations a through b inclusive]  
SUM_XNOR7[a:b] = XNOR of the seven high order bits of memory location with the seven low order bits summed over  
locations a through b inclusive. For example, XNOR(0x3C31)=0x78 XNOR 0c31 = 0x0036.  
SUM_ID = ID locations masked by 0xF then made into a 16-bit value with ID0 as the most significant nibble. For example,  
ID0 = 0x12, ID1 = 0x37, ID2 = 0x4, ID3 = 0x26, then SUM_ID = 0x2746.  
*Checksum = [Sum of all the individual expressions] MODULO [0xFFFF]  
+ = Addition  
& = Bitwise AND  
| = Bitwise OR  
2000 Microchip Technology Inc.  
DS30228J-page 15  
PIC16C6XX/7XX/9XX  
TABLE 3-1:  
CHECKSUM COMPUTATION (CONTINUED)  
0x25E6 at  
0 and max  
address  
Code  
Protect  
Blank  
Value  
Device  
Checksum*  
PIC16C65A  
OFF  
1/2  
3/4  
SUM[0x000:0xFFF] + CFGW & 0x3F7F  
SUM[0x000:0x7FF] + CFGW & 0x3F7F + SUM_ID  
SUM[0x000:0x3FF] + CFGW & 0x3F7F + SUM_ID  
CFGW & 0x3F7F + SUM_ID  
0x2F7F  
0x51EE  
0x40DE  
0x2FCE  
0xFB4D  
0x03A3  
0xF293  
0xFB9C  
ALL  
PIC16C65B  
PIC16C66  
PIC16C67  
OFF  
1/2  
3/4  
SUM[0x000:0xFFF] + CFGW & 0x3F7F  
SUM[0x000:0x7FF] + CFGW & 0x3F7F + SUM_ID  
SUM[0x000:0x3FF] + CFGW & 0x3F7F + SUM_ID  
CFGW & 0x3F7F + SUM_ID  
0x2F7F  
0x51EE  
0x40DE  
0x2FCE  
0xFB4D  
0x03A3  
0xF293  
0xFB9C  
ALL  
OFF  
1/2  
3/4  
SUM[0x000:0x1FFF] + CFGW & 0x3F7F  
SUM[0x000:0xFFF] + CFGW & 0x3F7F + SUM_ID  
SUM[0x000:0x7FF] + CFGW & 0x3F7F + SUM_ID  
CFGW & 0x3F7F + SUM_ID  
0x1F7F  
0x39EE  
0x2CDE  
0x1FCE  
0xEB4D  
0xEBA3  
0xDE93  
0xEB9C  
ALL  
OFF  
1/2  
3/4  
SUM[0x000:0x1FFF] + CFGW & 0x3F7F  
SUM[0x000:0xFFF] + CFGW & 0x3F7F + SUM_ID  
SUM[0x000:0x7FF] + CFGW & 0x3F7F + SUM_ID  
CFGW & 0x3F7F + SUM_ID  
0x1F7F  
0x39EE  
0x2CDE  
0x1FCE  
0xEB4D  
0xEBA3  
0xDE93  
0xEB9C  
ALL  
PIC16C710  
PIC16C71  
PIC16C711  
PIC16C712  
OFF  
ON  
SUM[0x000:0x1FF] + CFGW & 0x3FFF  
SUM[0x00:0x3F] + CFGW & 0x3FFF + SUM_ID  
0x3DFF  
0x3E0E  
0x09CD  
0xEFC3  
OFF  
ON  
SUM[0x000:0x3FF] + CFGW & 0x001F + 0x3FE0  
SUM_XNOR7[0x000:0x3FF] + (CFGW & 0x001F | 0x0060)  
0x3BFF  
0xFC6F  
0x07CD  
0xFC15  
OFF  
ON  
SUM[0x000:0x03FF] + CFGW & 0x3FFF  
SUM[0x00:0x3FF] + CFGW & 0x3FFF + SUM_ID  
0x3BFF  
0x3C0E  
0x07CD  
0xEDC3  
OFF  
1/2  
ALL  
SUM[0x000:0x07FF] + CFGW & 0x3F7F  
SUM[0x000:0x03FF] + CFGW & 3F7F + SUM_ID  
CFGW & 0x3F7F + SUM_ID  
0x377F  
0x5DEE  
0x37CE  
0x034D  
0xF58A  
0x039C  
PIC16C716  
PIC16C72  
PIC16C72A  
PIC16C73  
OFF  
1/2  
3/4  
SUM[0x000:0x07FF] + CFGW & 0x3F7F  
SUM[0x000:0x03FF] + CFGW & 0x3F7F + SUM_ID  
SUM]0x000:0x01FF] + CFGW & 0x3F7F + SUM_ID  
CFGW & 0x3F7F + SUM_ID  
0x377F  
0x5DEE  
0x4ADE  
0x37CE  
0x034D  
0x0FA3  
0xFC93  
0x039C  
ALL  
OFF  
1/2  
3/4  
SUM[0x000:0x7FF] + CFGW & 0x3F7F  
SUM[0x000:0x3FF] + CFGW & 0x3F7F + SUM_ID  
SUM[0x000:0x1FF] + CFGW & 0x3F7F + SUM_ID  
CFGW & 0x3F7F + SUM_ID  
0x377F  
0x5DEE  
0x4ADE  
0x37CE  
0x034D  
0x0FA3  
0xFC93  
0x039C  
ALL  
OFF  
1/2  
3/4  
SUM[0x000:0x7FF] + CFGW & 0x3F7F  
SUM[0x000:0x3FF] + CFGW & 0x3F7F + SUM_ID  
SUM[0x000:0x1FF] + CFGW & 0x3F7F + SUM_ID  
CFGW & 0x3F7F + SUM_ID  
0x377F  
0x5DEE  
0x4ADE  
0x37CE  
0x034D  
0x0FA3  
0xFC93  
0x039C  
ALL  
OFF  
1/2  
3/4  
SUM[0x000:0xFFF] + CFGW & 0x003F + 0x3F80  
SUM[0x000:0x7FF] + SUM_XNOR7[0x800:FFF] + CFGW & 0x003F +  
0x3F80  
SUM[0x000:0x3FF] + SUM_XNOR7[0x400:FFF] + CFGW & 0x003F +  
0x3F80  
0x2FBF  
0x2FAF  
0x2F9F  
0x2F8F  
0xFB8D  
0x1569  
0x1559  
0x2F35  
ALL  
SUM_XNOR7[0x000:0xFFF] + CFGW & 0x003F + 0x3F80  
PIC16C73A  
OFF  
1/2  
3/4  
SUM[0x000:0xFFF] + CFGW & 0x3F7F  
SUM[0x000:0x7FF] + CFGW & 0x3F7F + SUM_ID  
SUM[0x000:0x3FF] + CFGW & 0x3F7F + SUM_ID  
CFGW & 0x3F7F + SUM_ID  
0x2F7F  
0x51EE  
0x40DE  
0x2FCE  
0xFB4D  
0x03A3  
0xF293  
0xFB9C  
ALL  
Legend: CFGW = Configuration Word  
SUM[a:b] = [Sum of locations a through b inclusive]  
SUM_XNOR7[a:b] = XNOR of the seven high order bits of memory location with the seven low order bits summed over  
locations a through b inclusive. For example, XNOR(0x3C31)=0x78 XNOR 0c31 = 0x0036.  
SUM_ID = ID locations masked by 0xF then made into a 16-bit value with ID0 as the most significant nibble. For example,  
ID0 = 0x12, ID1 = 0x37, ID2 = 0x4, ID3 = 0x26, then SUM_ID = 0x2746.  
*Checksum = [Sum of all the individual expressions] MODULO [0xFFFF]  
+ = Addition  
& = Bitwise AND  
| = Bitwise OR  
DS30228J-page 16  
2000 Microchip Technology Inc.  
PIC16C6XX/7XX/9XX  
TABLE 3-1:  
CHECKSUM COMPUTATION (CONTINUED)  
0x25E6 at  
0 and max  
address  
Code  
Protect  
Blank  
Value  
Device  
Checksum*  
PIC16C73B  
OFF  
1/2  
3/4  
SUM[0x000:0xFFF] + CFGW & 0x3F7F  
SUM[0x000:0x7FF] + CFGW & 0x3F7F + SUM_ID  
SUM[0x000:0x3FF] + CFGW & 0x3F7F + SUM_ID  
CFGW & 0x3F7F + SUM_ID  
0x2F7F  
0x51EE  
0x40DE  
0x2FCE  
0xFB4D  
0x03A3  
0xF293  
0xFB9C  
ALL  
PIC16C74  
OFF  
1/2  
3/4  
SUM[0x000:0xFFF] + CFGW & 0x003F + 0x3F80  
SUM[0x000:0x7FF] + SUM_XNOR7[0x800:FFF] + CFGW & 0x003F +  
0x3F80  
SUM[0x000:0x3FF] + SUM_XNOR7[0x400:FFF] + CFGW & 0x003F +  
0x3F80  
0x2FBF  
0x2FAF  
0x2F9F  
0x2F8F  
0xFB8D  
0x1569  
0x1559  
0x2F35  
ALL  
SUM_XNOR7[0x000:0xFFF] + CFGW & 0x003F + 0x3F80  
PIC16C74A  
PIC16C74B  
PIC16C76  
PIC16C77  
PIC16C773  
PIC16C774  
PIC16C923  
PIC16C924  
PIC16C745  
OFF  
1/2  
3/4  
SUM[0x000:0xFFF] + CFGW & 0x3F7F  
SUM[0x000:0x7FF] + CFGW & 0x3F7F + SUM_ID  
SUM[0x000:0x3FF] + CFGW & 0x3F7F + SUM_ID  
CFGW & 0x3F7F + SUM_ID  
0x2F7F  
0x51EE  
0x40DE  
0x2FCE  
0xFB4D  
0x03A3  
0xF293  
0xFB9C  
ALL  
OFF  
1/2  
3/4  
SUM[0x000:0xFFF] + CFGW & 0x3F7F  
SUM[0x000:0x7FF] + CFGW & 0x3F7F + SUM_ID  
SUM[0x000:0x3FF] + CFGW & 0x3F7F + SUM_ID  
CFGW & 0x3F7F + SUM_ID  
0x2F7F  
0x51EE  
0x40DE  
0x2FCE  
0xFB4D  
0x03A3  
0xF293  
0xFB9C  
ALL  
OFF  
1/2  
3/4  
SUM[0x000:0x1FFF] + CFGW & 0x3F7F  
SUM[0x000:0xFFF] + CFGW & 0x3F7F + SUM_ID  
SUM[0x000:0x7FF] + CFGW & 0x3F7F + SUM_ID  
CFGW & 0x3F7F + SUM_ID  
0x1F7F  
0x39EE  
0x2CDE  
0x1FCE  
0xEB4D  
0xEBA3  
0xDE93  
0xEB9C  
ALL  
OFF  
1/2  
3/4  
SUM[0x000:0x1FFF] + CFGW & 0x3F7F  
SUM[0x000:0xFFF] + CFGW & 0x3F7F + SUM_ID  
SUM[0x000:0x7FF] + CFGW & 0x3F7F + SUM_ID  
CFGW & 0x3F7F + SUM_ID  
0x1F7F  
0x39EE  
0x2CDE  
0x1FCE  
0xEB4D  
0xEBA3  
0xDE93  
0xEB9C  
ALL  
OFF  
1/2  
3/4  
SUM[0x000:0x0FFF] + CFGW & 0x3F7F  
SUM[0x000:07FF] + CFGW & 0x3F7F + SUM_ID  
SUM[0x000:03FF] + CFGW & 0x3F7F + SUM_ID  
CFGW & 0x3F7F + SUM_ID  
0x2F7F  
0x55EE  
0x48DE  
0x3BCE  
0xFB4D  
0x07A3  
0xFA93  
0x079C  
ALL  
OFF  
1/2  
3/4  
SU:M[0x000:0FFF] + CFGW & 0x3F7F  
SUM[0x000:07FF] + CFGW & 0x3F7F + SUM_ID  
SUM[0x000:03FF] + CFGW & 0x3F7F + SUM_ID  
CFGW & 0x3F7F + SUM_ID  
0x2F7F  
0X55EE  
0X48DE  
0x3BCE  
0xFB4D  
0x07A3  
0xFA93  
0X079C  
ALL  
OFF  
1/2  
3/4  
SUM[0x000:0xFFF] + CFGW & 0x3F3F  
SUM[0x000:0x7FF] + CFGW & 0x3F3F + SUM_ID  
SUM[0x000:0x3FF] + CFGW & 0x3F3F + SUM_ID  
CFGW & 0x3F3F + SUM_ID  
0x2F3F  
0x516E  
0x405E  
0x2F4E  
0xFB0D  
0x0323  
0xF213  
0xFB1C  
ALL  
OFF  
1/2  
3/4  
SUM[0x000:0xFFF] + CFGW & 0x3F3F  
SUM[0x000:0x7FF] + CFGW & 0x3F3F + SUM_ID  
SUM[0x000:0x3FF] + CFGW & 0x3F3F + SUM_ID  
CFGW & 0x3F3F + SUM_ID  
0x2F3F  
0x516E  
0x405E  
0x2F4E  
0xFB0D  
0x0323  
0xF213  
0xFB1C  
ALL  
OFF  
SUM(0000:1FFF) + CFGW & 0x3F3F  
1F3F  
396E  
2C5E  
1F4E  
EB0D  
EB23  
DE13  
EB1C  
1000:1FFF SUM(0000:0FFF) + CFGW & 0x3F3F+SUM_ID  
800:1FFF SUM(0000:07FF) + CFGW & 0x3F3F + SUM_ID  
ALL  
CFGW * 0x3F3F + SUM_ID  
Legend: CFGW = Configuration Word  
SUM[a:b] = [Sum of locations a through b inclusive]  
SUM_XNOR7[a:b] = XNOR of the seven high order bits of memory location with the seven low order bits summed over  
locations a through b inclusive. For example, XNOR(0x3C31)=0x78 XNOR 0c31 = 0x0036.  
SUM_ID = ID locations masked by 0xF then made into a 16-bit value with ID0 as the most significant nibble. For example,  
ID0 = 0x12, ID1 = 0x37, ID2 = 0x4, ID3 = 0x26, then SUM_ID = 0x2746.  
*Checksum = [Sum of all the individual expressions] MODULO [0xFFFF]  
+ = Addition  
& = Bitwise AND  
| = Bitwise OR  
2000 Microchip Technology Inc.  
DS30228J-page 17  
PIC16C6XX/7XX/9XX  
TABLE 3-1:  
CHECKSUM COMPUTATION (CONTINUED)  
0x25E6 at  
0 and max  
address  
Code  
Protect  
Blank  
Value  
Device  
Checksum*  
PIC16c765  
OFF  
SUM(0000:1FFF) + CFGW & 0x3F3F  
1F3F  
396E  
2C5E  
1F4E  
EB0D  
EB23  
DE13  
EB1C  
1000:1FFF SUM(0000:0FFF) + CFGW & 0x3F3F+SUM_ID  
800:1FFF SUM(0000:07FF) + CFGW & 0x3F3F + SUM_ID  
ALL  
CFGW * 0x3F3F + SUM_ID  
Legend: CFGW = Configuration Word  
SUM[a:b] = [Sum of locations a through b inclusive]  
SUM_XNOR7[a:b] = XNOR of the seven high order bits of memory location with the seven low order bits summed over  
locations a through b inclusive. For example, XNOR(0x3C31)=0x78 XNOR 0c31 = 0x0036.  
SUM_ID = ID locations masked by 0xF then made into a 16-bit value with ID0 as the most significant nibble. For example,  
ID0 = 0x12, ID1 = 0x37, ID2 = 0x4, ID3 = 0x26, then SUM_ID = 0x2746.  
*Checksum = [Sum of all the individual expressions] MODULO [0xFFFF]  
+ = Addition  
& = Bitwise AND  
| = Bitwise OR  
DS30228J-page 18  
2000 Microchip Technology Inc.  
PIC16C6XX/7XX/9XX  
4.0  
PROGRAM/VERIFY MODE  
TABLE 4-1:  
AC/DC CHARACTERISTICS  
TIMING REQUIREMENTS FOR PROGRAM/VERIFY TEST MODE  
Standard Operating Conditions  
Operating Temperature: +10°C TA +40°C, unless otherwise stated, (20°C recommended)  
Operating Voltage:  
4.5V VDD 5.5V, unless otherwise stated.  
Parameter  
Sym.  
Characteristic  
General  
Min.  
Typ.  
Max.  
Units  
Conditions  
No.  
PD1  
PD2  
VDDP Supply voltage during programming  
4.75  
5.0  
5.25  
V
IDDP Supply current (from VDD)  
during programming  
20  
mA  
PD3  
PD4  
VDDV Supply voltage during verify  
VDDmin  
VDDmax  
V
V
Note 1  
VIHH1 Voltage on MCLR/VPP during  
12.75  
13.25  
Note 2  
programming  
PD5  
PD6  
VIHH2 Voltage on MCLR/VPP during verify  
VDD + 4.5  
13.25  
50  
IPP  
Programming supply current (from  
mA  
VPP)  
PD9  
PD8  
VIH  
VIL  
(RB6, RB7) input high level  
(RB6, RB7) input low level  
0.8 VDD  
0.2 VDD  
V
V
Schmitt Trigger input  
Schmitt Trigger input  
Serial Program Verify  
P1  
TR  
MCLR/VPP rise time (VSS to VHH)  
8.0  
µs  
for test mode entry  
P2  
P3  
P4  
P5  
Tf  
MCLR Fall time  
8.0  
µs  
ns  
ns  
µs  
Tset1 Data in setup time before clock ↓  
Thld1 Data in hold time after clock ↓  
100  
100  
1.0  
Tdly1 Data input not driven to next clock  
input (delay required between com-  
mand/data or command/command)  
P6  
P7  
P8  
Tdly2 Delay between clock to clock of  
1.0  
200  
2
µs  
ns  
µs  
next command or data  
Tdly3 Clock to date out valid  
(during read data)  
Thld0 Hold time after MCLR ↑  
Note 1: Program must be verified at the minimum and maximum VDD limits for the part.  
2: VIHH must be greater than VDD + 4.5V to stay in programming/verify mode.  
2000 Microchip Technology Inc.  
DS30228J-page 19  
PIC16C6XX/7XX/9XX  
FIGURE 4-1: LOAD DATA COMMAND (PROGRAM/VERIFY)  
VIHH  
MCLR/VPP  
100ns  
2
P6  
P8  
1
2
3
4
5
3
4
0
1
15  
6
5
1µs min.  
RB6  
(CLOCK)  
100ns  
0
RB7  
(DATA)  
0
0
0
1
0
0
P5  
P3  
P4  
P3  
1µs min.  
P4  
100ns  
min.  
100ns  
min.  
Program/Verify Test Mode  
Reset  
FIGURE 4-2: READ DATA COMMAND (PROGRAM/VERIFY)  
VIHH  
MCLR/VPP  
100ns  
2
P6  
P8  
1
2
3
4
5
3
4
0
1
15  
6
5
1µs min.  
RB6  
(CLOCK)  
100ns  
1
P7  
RB7  
(DATA)  
0
0
0
0
P5  
P4  
1µs min.  
P3  
100ns  
min.  
RB7  
input  
RB7 = output  
Program/Verify Test Mode  
Reset  
FIGURE 4-3: INCREMENT ADDRESS COMMAND (PROGRAM/VERIFY)  
VIHH  
MCLR/VPP  
P6  
Next Command  
2
1µs min.  
2
1
3
6
0
1
1
4
5
0
RB6  
(CLOCK)  
RB7  
(DATA)  
0
0
0
1
0
P5  
P3  
P4  
1µs min.  
100ns  
min  
Program/Verify Test Mode  
Reset  
DS30228J-page 20  
2000 Microchip Technology Inc.  
PIC16C6XX/7XX/9XX  
NOTES:  
2000 Microchip Technology Inc.  
DS30228J-page 21  
PIC16C6XX/7XX/9XX  
NOTES:  
DS30228J-page 22  
2000 Microchip Technology Inc.  
PIC16C6XX/7XX/9XX  
NOTES:  
2000 Microchip Technology Inc.  
DS30228J-page 23  
WORLDWIDE SALES AND SERVICE  
AMERICAS  
AMERICAS (continued)  
ASIA/PACIFIC (continued)  
Corporate Office  
Toronto  
Singapore  
Microchip Technology Singapore Pte Ltd.  
200 Middle Road  
#07-02 Prime Centre  
Singapore 188980  
Microchip Technology Inc.  
Microchip Technology Inc.  
2355 West Chandler Blvd.  
Chandler, AZ 85224-6199  
Tel: 480-786-7200 Fax: 480-786-7277  
Technical Support: 480-786-7627  
Web Address: http://www.microchip.com  
5925 Airport Road, Suite 200  
Mississauga, Ontario L4V 1W1, Canada  
Tel: 905-405-6279 Fax: 905-405-6253  
Tel: 65-334-8870 Fax: 65-334-8850  
ASIA/PACIFIC  
Beijing  
Microchip Technology, Beijing  
Unit 915, 6 Chaoyangmen Bei Dajie  
Dong Erhuan Road, Dongcheng District  
New China Hong Kong Manhattan Building  
Beijing 100027 PRC  
Taiwan, R.O.C  
Microchip Technology Taiwan  
10F-1C 207  
Tung Hua North Road  
Taipei, Taiwan, ROC  
Atlanta  
Microchip Technology Inc.  
500 Sugar Mill Road, Suite 200B  
Atlanta, GA 30350  
Tel: 886-2-2717-7175 Fax: 886-2-2545-0139  
Tel: 770-640-0034 Fax: 770-640-0307  
Boston  
EUROPE  
Tel: 86-10-85282100 Fax: 86-10-85282104  
Microchip Technology Inc.  
5 Mount Royal Avenue  
Marlborough, MA 01752  
Tel: 508-480-9990 Fax: 508-480-8575  
Hong Kong  
Microchip Asia Pacific  
Unit 2101, Tower 2  
Denmark  
Microchip Technology Denmark ApS  
Regus Business Centre  
Lautrup hoj 1-3  
Metroplaza  
223 Hing Fong Road  
Kwai Fong, N.T., Hong Kong  
Tel: 852-2-401-1200 Fax: 852-2-401-3431  
Ballerup DK-2750 Denmark  
Tel: 45 4420 9895 Fax: 45 4420 9910  
Chicago  
Microchip Technology Inc.  
333 Pierce Road, Suite 180  
Itasca, IL 60143  
France  
India  
Arizona Microchip Technology SARL  
Parc d’Activite du Moulin de Massy  
43 Rue du Saule Trapu  
Tel: 630-285-0071 Fax: 630-285-0075  
Dallas  
Microchip Technology Inc.  
4570 Westgrove Drive, Suite 160  
Addison, TX 75248  
Microchip Technology Inc.  
India Liaison Office  
No. 6, Legacy, Convent Road  
Bangalore 560 025, India  
Tel: 91-80-229-0061 Fax: 91-80-229-0062  
Batiment A - ler Etage  
91300 Massy, France  
Tel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79  
Tel: 972-818-7423 Fax: 972-818-2924  
Japan  
Germany  
Microchip Technology Intl. Inc.  
Benex S-1 6F  
3-18-20, Shinyokohama  
Kohoku-Ku, Yokohama-shi  
Kanagawa 222-0033 Japan  
Tel: 81-45-471- 6166 Fax: 81-45-471-6122  
Arizona Microchip Technology GmbH  
Gustav-Heinemann-Ring 125  
D-81739 München, Germany  
Tel: 49-89-627-144 0 Fax: 49-89-627-144-44  
Dayton  
Microchip Technology Inc.  
Two Prestige Place, Suite 150  
Miamisburg, OH 45342  
Tel: 937-291-1654 Fax: 937-291-9175  
Italy  
Arizona Microchip Technology SRL  
Centro Direzionale Colleoni  
Palazzo Taurus 1 V. Le Colleoni 1  
20041 Agrate Brianza  
Detroit  
Microchip Technology Inc.  
Tri-Atria Office Building  
32255 Northwestern Highway, Suite 190  
Farmington Hills, MI 48334  
Tel: 248-538-2250 Fax: 248-538-2260  
Korea  
Microchip Technology Korea  
168-1, Youngbo Bldg. 3 Floor  
Samsung-Dong, Kangnam-Ku  
Seoul, Korea  
Milan, Italy  
Tel: 39-039-65791-1 Fax: 39-039-6899883  
Tel: 82-2-554-7200 Fax: 82-2-558-5934  
United Kingdom  
Arizona Microchip Technology Ltd.  
505 Eskdale Road  
Winnersh Triangle  
Wokingham  
Los Angeles  
Shanghai  
Microchip Technology  
Unit B701, Far East International Plaza,  
No. 317, Xianxia Road  
Shanghai, 200051 P.R.C  
Microchip Technology Inc.  
18201 Von Karman, Suite 1090  
Irvine, CA 92612  
Tel: 949-263-1888 Fax: 949-263-1338  
Berkshire, England RG41 5TU  
Tel: 44 118 921 5858 Fax: 44-118 921-5835  
New York  
Tel: 86-21-6275-5700 Fax: 86-21-6275-5060  
Microchip Technology Inc.  
150 Motor Parkway, Suite 202  
Hauppauge, NY 11788  
Tel: 631-273-5305 Fax: 631-273-5335  
01/21/00  
San Jose  
Microchip received QS-9000 quality system  
certification for its worldwide headquarters,  
design and wafer fabrication facilities in  
Chandler and Tempe, Arizona in July 1999. The  
Company’s quality system processes and  
procedures are QS-9000 compliant for its  
PICmicro® 8-bit MCUs, KEELOQ® code hopping  
devices, Serial EEPROMs and microperipheral  
products. In addition, Microchip’s quality  
system for the design and manufacture of  
development systems is ISO 9001 certified.  
Microchip Technology Inc.  
2107 North First Street, Suite 590  
San Jose, CA 95131  
Tel: 408-436-7950 Fax: 408-436-7955  
All rights reserved. © 2/1/00 Microchip Technology Incorporated. Printed in the USA. Tuesday, February 01, 2000  
Printed on recycled paper.  
Information contained in this publication regarding device applications and the like is intended through suggestion only and may be superseded by updates.  
It is your responsibility to ensure that your application meets with your specifications. No representation or warranty is given and no liability is assumed by  
Microchip Technology Incorporated with respect to the accuracy or use of such information, or infringement of patents or other intellectual property rights  
arising from such use or otherwise. Use of Microchip’s products as critical components in life support systems is not authorized except with express written  
approval by Microchip. No licenses are conveyed, implicitly or otherwise, except as maybe explicitly expressed herein, under any intellectual property  
rights. The Microchip logo and name are registered trademarks of Microchip Technology Inc. in the U.S.A. and other countries. All rights reserved. All other  
trademarks mentioned herein are the property of their respective companies.  
DS30228J-page 24  
2000 Microchip Technology Inc.  

相关型号:

PIC16C61T-20I/SO

8-BIT, OTPROM, 20 MHz, RISC MICROCONTROLLER, PDSO18, 0.300 INCH, PLASTIC, SO-18
MICROCHIP

PIC16C62

8-Bit CMOS Microcontrollers
MICROCHIP

PIC16C62-04/JW

8-Bit CMOS Microcontrollers
MICROCHIP

PIC16C62-04/L

8-Bit CMOS Microcontrollers
MICROCHIP

PIC16C62-04/P

8-Bit CMOS Microcontrollers
MICROCHIP

PIC16C62-04/PQ

8-Bit CMOS Microcontrollers
MICROCHIP

PIC16C62-04/SO

8-Bit CMOS Microcontrollers
MICROCHIP

PIC16C62-04/SP

8-Bit CMOS Microcontrollers
MICROCHIP

PIC16C62-04/SS

8-Bit CMOS Microcontrollers
MICROCHIP

PIC16C62-04/SSXXX

IC,MICROCONTROLLER,8-BIT,PIC CPU,CMOS,SSOP,28PIN,PLASTIC
MICROCHIP

PIC16C62-04/TQ

8-Bit CMOS Microcontrollers
MICROCHIP

PIC16C62-04E/JW

8-Bit CMOS Microcontrollers
MICROCHIP