MICROCHIP PIC16F72

M
PIC16F72
FLASH Memory Programming Specification
This document includes the programming
specifications for the following device:
1.2
The Programming mode for the PIC16F72 allows programming of user program memory, special locations
used for ID, and the configuration word.
PIC16F72
PROGRAMMING THE PIC16F72
Pin Diagram
The PIC16F72 is programmed using a serial method.
The Serial mode allows the PIC16F72 to be programmed while in the users’ system, allowing for
increased design flexibility. This programming specification applies to PIC16F72 devices in all packages.
1.1
PDIP, SOIC, SSOP, MLF
MCLR/VPP
RA0/AN0
RA1/AN1
RA2/AN2
RA3/AN3/VREF
RA4/T0CKI
RA5/AN4/SS
VSS
OSC1/CLKI
OSC2/CLKO
RC0/T1OSO/T1CKI
RC1/T1OSI
RC2/CCP1
RC3/SCK/SCL
Hardware Requirements
The PIC16F72 requires two programmable power supplies, one for VDD (2.0V to 5.5V) and the other for VPP
of 12.75V to 13.25V. Both supplies should have a minimum resolution of 0.25V.
TABLE 1-1:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
PIC16F72
1.0
Programming Mode
28
27
26
25
24
23
22
21
20
19
18
17
16
15
RB7/PGD
RB6/PGC
RB5
RB4
RB3
RB2
RB1
RB0/INT
VDD
VSS
RC7
RC6
RC5/SDO
RC4/SDI/SDA
PIN DESCRIPTIONS (DURING PROGRAMMING): PIC16F72
During Programming
Pin Name
RB6/PGC
Function
Pin Type
CLOCK
I
Pin Description
Clock Input
RB7/PGD
DATA
I/O
MCLR/VPP
VTEST MODE
P
Data Input/Output
VDD
VDD
P
Power Supply
VSS
VSS
P
Ground
Program Mode Select
Legend: I = Input, O = Output, P = Power
 2002 Microchip Technology Inc.
Preliminary
DS39588A-page 1
PIC16F72
2.0
PROGRAM MODE ENTRY
2.2
2.1
User Program Memory Map
A user may store identification information (ID) in four
ID locations mapped to [0x2000:0x2003]. It is recommended that each ID location word is written as
‘11 1111 1000 bbbb’, where ‘bbbb’ is ID information. The ID locations can be read even after code
protection is enabled.
The user memory space extends from 0x0000 to
0x07FF (2K). Table 2-1 shows the actual implementation of program memory in the PIC16F72. Configuration memory begins at 0x2000, and continues to
0x3FFF. The PC will increment from 0x0000 to 0x1FFF
and wrap to 0x0000, 0x2000 to 0x3FFF and wrap
around to 0x2000 (not to 0x0000).
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 program memory is
to reset the part and re-enter Program/Verify mode, as
described in Section 2.3.
ID Locations
To understand the program memory read mechanism
after code protection is enabled, refer to Section 4.0.
Table 4-1 shows specific calculations and behavior for
the PIC16F72 device.
Configuration memory is selected when the PC points
to any address in the range of 0x2000-0x201F; however, only locations 0x2000 through 0x2007 are implemented. Addressing locations beyond 0x201F will
access program memory (see Figure 2-1).
TABLE 2-1:
PROGRAM MEMORY
IMPLEMENTATION IN THE
PIC16F72
Device
Program Memory Size
PIC16F72
0x0000 – 0x07FF (2K)
DS39588A-page 2
Preliminary
 2002 Microchip Technology Inc.
PIC16F72
FIGURE 2-1:
PROGRAM MEMORY MAPPING
2K words
0h
Implemented
1FFh
Implemented
3FFh
400h
7FFh
Reserved
2000h
ID Location
2001h
ID Location
2002h
ID Location
2003h
ID Location
2004h
Reserved
2005h
Reserved
1FFFh
2000h
2007h
2008h
Reserved
201Fh
2020h
2006h
Device ID
2007h
Configuration Word
Accesses
0x0020
to
0X0FFF
3FFFh
 2002 Microchip Technology Inc.
Preliminary
DS39588A-page 3
PIC16F72
2.3
Program/Verify Mode
The address and program counter is reset to 0x0000 by
resetting the device (taking MCLR below VIL) and
re-entering Programming mode. Program and configuration memory may then be read or verified using the
‘Read Data’ and ‘Increment Address’ commands.
The Program/Verify mode is entered by holding pins
RB6 and RB7 low, while raising MCLR pin from VIL to
VPP. Once in this mode, the user program memory and
the configuration memory can be accessed and programmed in serial fashion (RB6 and RB7 are Schmitt
Trigger inputs in this mode).
2.3.1
The sequence that enters the device into the Programming/Verify mode places all other logic into the RESET
state. All I/O are in the RESET state (high impedance
inputs).
RB6 is used as a clock input pin, and RB7 is used for
entering command bits and data input/output. To enter
a command, the clock pin (RB6) is pulsed six times.
Each command bit is latched on the falling edge of the
clock (RB6), with the Least Significant bit (LSb) of the
command being entered first. The data on pin RB7
needs a minimum setup (tset1) and hold time (thold1),
with respect to the falling edge of the clock. The read
and load commands are specified to have a minimum
delay (tdly1) between the command and data. After this
delay, the clock pin is cycled 16 times with the first cycle
being a START bit (0) and the last cycle being a STOP
bit (0). Data is transferred LSb first (see Figure 5-1).
A device RESET will clear the PC and point to address
0x0000. 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 2-2.
The normal sequence for programming two program
memory words at a time is as follows:
1.
2.
3.
4.
5.
6.
7.
8.
Issue the ‘Load Data’ command to load a word
at the current (even) program memory address.
Issue an ‘Increment Address’ command.
Load a word at the current (odd) program memory address using the ‘Load Data’ command.
Issue a ‘Begin Programming’ command to begin
programming.
Wait tprog (about 1 ms).
Issue an ‘End Programming’ command.
Increment to the next address.
Repeat this sequence as required to write program and configuration memory.
During a read operation, the LSb will be output to pin
RB7 on the rising edge of the second clock pulse and
during a load operation, the LSb will be latched on the
falling edge of the second clock pulse. A minimum
delay (tdly2) is required between consecutive
commands (see Figure 5-2).
To allow for decoding of commands and reversal of
data pin configuration, a time separation of at least
(tdly1) is required between a command and a data
word, or another command (see Figure 5-3).
The available commands are listed below:
The alternative sequence for programming one program memory word at a time is as follows:
1.
2.
3.
4.
5.
6.
•
•
•
•
•
•
•
Set a word for the current memory location using
the ‘Load Data’ command.
Issue a ‘Begin Programming’ command to begin
programming.
Wait tprog.
Issue an ‘End Programming’ command.
Increment to the next address.
Repeat this alternative sequence as required to
write program and configuration memory.
TABLE 2-2:
SERIAL PROGRAM/VERIFY
OPERATION
Load Configuration
Load Data for Memory
Read Data from Memory
Increment Address
Begin Programming
Bulk Erase Program Memory
End Programming
COMMAND MAPPING FOR PIC16F72
Command
Mapping (MSb … LSb)
Data
Load Configuration (Set PC = 2000h)
X
X
0
0
0
0
0, data (14), 0
Load Data for Memory
X
X
0
0
1
0
0, data (14), 0
0, data (14), 0
Read Data from Memory
X
X
0
1
0
0
Increment Address
X
X
0
1
1
0
Begin Programming
X
X
1
0
0
0
Bulk Erase Program Memory (Chip Erase)
X
X
1
0
0
1
End Programming
X
X
1
1
1
0
DS39588A-page 4
Preliminary
 2002 Microchip Technology Inc.
PIC16F72
2.3.1.1
Load Configuration
2.3.1.6
After receiving the Load Configuration command, the
PC will be set to 0x2000 and the data sent with the
command is discarded. The four ID locations and the
configuration word can then be programmed using the
normal programming sequence, as described in
Section 2.3. A description of the memory mapping
schemes of the program memory for normal operation
and Configuration mode operation is shown in
Figure 2-1. After the configuration 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.
Erasure of configuration and program memory begins
after this command is received and decoded. The
erase sequence is self-timed and it is not necessary to
issue an ‘End Programming’ command, only to wait for
the appropriate time interval (tera) for the entire erase
sequence, before issuing another command.
This procedure will disable code protection (code protect bit = 1); however, all data within the program memory will be erased when this command is executed and
thus, the security of the data or code is not
compromised.
Note:
2.3.1.2
Load Data for Memory
The device 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 5-1.
2.3.1.3
Read Data from Memory
The device will transmit data bits out of the memory
(program or configuration) currently addressed by the
PC, starting with the second rising edge of the clock
input. RB7 will go into Output mode on the second rising clock edge and will revert back to Input mode
(hi-impedance) after the 16th rising edge. A timing diagram for this command is shown in Figure 5-2.
If the device is code protected, user program memory
will read all ‘0’s. Configuration memory can still be read.
2.4
Programming Algorithm Requires
Variable VDD
The actual chip erase and programming must be done
with VDD in the VDDP range (see Table 5-1).
VDDP
= VDD range required during programming
VDDAPP = VDD in the target application
Programmers must verify the PIC16F72 at VDDAPP.
Since Microchip may introduce future versions of the
PIC16F72 with a broader VDD range, it is best that
these levels are user selectable (defaults are OK).
Increment Address
The PC is incremented by one. A timing diagram for
this command is shown in Figure 5-3.
2.3.1.5
All CHIP ERASE operations must take
place with VDD between 4.75V and 5.25V.
The PIC16F72 uses an intelligent algorithm, which
calls for program verification at VDDAPP.
Note:
2.3.1.4
Chip Erase (Program Memory)
Any programmer not meeting this requirement may only be classified as a “prototype” or “development” programmer, but
not a “production quality” programmer.
Begin Programming
A ‘Load Data’ command must be issued before
every ‘Begin Programming’ command. Programming of memory (configuration or program) will begin
after this command is received and decoded. Programming requires (tprog) time and is terminated using an
‘End Programming’ command.
 2002 Microchip Technology Inc.
Preliminary
DS39588A-page 5
PIC16F72
FIGURE 2-2:
PROGRAMMING METHOD FLOW CHART (SHEET 1 OF 3)
START
CHIP ERASE
LOAD
CONFIGURATION
BLANK CHECK
AT VDD = VDDMIN
PASS?
NO
REPORT POSSIBLE
ERASE FAILURE.
CONTINUE
PROGRAMMING
AT USER’S OPTION
PROGRAM TWO
ID LOCATIONS
VPP = 12.75 TO 13.25V
VDD = VDDP
YES
ALL
ID LOCATIONS
DONE?
PROGRAM TWO
LOCATIONS
VPP = 12.75 TO 13.25V
VDD = VDDP
NO
YES
A
ALL
LOCATIONS
DONE?
NO
YES
VERIFY ALL
PROGRAM MEMORY
LOCATIONS AT
VDD = VDDAPP
PASS?
NO
REPORT VERIFY
FAILURE
AT VDDAPP
YES
DS39588A-page 6
Preliminary
 2002 Microchip Technology Inc.
PIC16F72
FIGURE 2-3:
A
PROGRAMMING METHOD FLOW CHART (SHEET 2 OF 3)
INCREMENT
ADDRESS TO
CONFIGURATION
WORD
LOAD DATA
FOR MEMORY
(ODD ADDRESS)
BEGIN
PROGRAMMING
WAIT tprog
END
PROGRAMMING
VERIFY ALL
CONFIGURATION
MEMORY LOCATIONS
AT VDD = VDDAPP
NO
PASS?
REPORT VERIFY
ERROR
YES
DONE
 2002 Microchip Technology Inc.
Preliminary
DS39588A-page 7
PIC16F72
FIGURE 2-4:
PROGRAMMING METHOD FLOW CHART (SHEET 3 OF 3)
VERIFY ALL LOCATIONS
PROGRAM TWO LOCATIONS
START
START
LOAD DATA FOR
MEMORY
(EVEN ADDRESS)
RESET DEVICE,
RETURN TO
PROGRAMMING
MODE
HAS
PROGRAM
YES
MEMORY BEEN
VERIFIED?
LOAD
CONFIGURATION
NO
INCREMENT
ADDRESS
LOAD DATA FOR
MEMORY
(ODD ADDRESS)
READ DATA FROM
MEMORY
COMPARE DATA
TO EXPECTED
DATA
BEGIN
PROGRAMMING
DOES DATA
MATCH?
NO
FAIL
YES
WAIT tprog
INCREMENT
ADDRESS
END
PROGRAMMING
ALL
LOCATIONS
VERIFIED?
RETURN
NO
YES
INCREMENT
ADDRESS
PASS
RETURN
RETURN
DS39588A-page 8
Preliminary
 2002 Microchip Technology Inc.
PIC16F72
3.0
CONFIGURATION WORD
TABLE 3-1:
Device ID Word (0x2006)
The PIC16F72 has configuration bits in a configuration
word located at 0x2007. These bits can be cleared
(reads ‘0’), or left unchanged (reads ‘1’), to select various device configurations.
3.1
DEVICE ID VALUE
Device
PIC16F72
Dev
Rev
000 000 101
n nnnn
Device ID Word
The device ID word for the PIC16F72 is located at
2006h. The nine Most Significant bits are the device ID
number, while the five Least Significant bits are the
device revision number.
REGISTER 3-1:
–
–
CONFIGURATION WORD FOR PIC16F72
–
–
–
–
–
BOREN
–
CP
PWRTEN WDTEN F0SC1 F0SC0
bit 13
bit 0
bit 13-7 Unimplemented: Read as ‘1’
bit 6
BOREN: Brown-out Reset Enable bit(1)
1 = BOR enabled
0 = BOR disabled
bit 5
Unimplemented: Read as ‘1’
bit 4
CP: Program Memory Code Protection bit
1 = Code protection off
0 = 0000h to 07FFh code protected (All)
bit 3
PWRTEN: Power-up Timer Enable bit(1)
1 = PWRT disabled
0 = PWRT enabled
bit 2
WDTEN: Watchdog Timer Enable bit
1 = WDT enabled
0 = WDT disabled
bit 1-0
FOSC1:FOSC0: 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 PWRTEN. Ensure the Power-up Timer is enabled any time Brown-out Reset is
enabled.
Legend:
R = Readable bit
W = Writable bit
U = Unimplemented bit, read as ‘0’
-n = Value at POR
1 = bit is set
0 = bit is cleared
 2002 Microchip Technology Inc.
Preliminary
x = bit is unknown
DS39588A-page 9
PIC16F72
4.0
CODE PROTECTION
4.1
Disabling Code Protection
The following procedure should be performed before
any other programming is attempted. This procedure
also turns off code protection (code protect bit = 1);
however, all program memory will be erased when
this procedure is executed and thus, the security of
the code is not compromised.
Once code protection is enabled, all program memory
locations read all ‘0’s; further programming of program
memory is disabled. ID locations and the configuration
word may still be read and programmed (1’s to 0’s
only).
Procedure to disable code protection:
a)
b)
4.2
Issue the ‘Chip Erase’ command.
Wait for the erase cycle time (tera) to pass. The
program memory is erased, then the configuration memory is erased.
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 important for the benefit of the end customer.
4.3
Checksum Computation
Table 4-1 describes how to calculate the checksum for
the PIC16F72. Note that the checksum calculation differs depending on the code protection setting. Since
the program memory locations read out differently
depending on the code protection setting, the table
describes how to manipulate the actual program memory values to simulate the values that would be read
from a protected device. When calculating a checksum
of a non-protected device, the entire program memory
can simply be read and summed. The configuration
word and ID locations can always be read.
The checksum is calculated by reading the contents of
the PIC16F72 memory locations and adding up the
opcodes, up to the maximum user addressable location
(i.e., 0x07FFh for the PIC16F72). Any carry bits exceeding 16 bits are neglected. Finally, the configuration word
(appropriately masked) is added to the checksum.
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 are the
checksum.
TABLE 4-1:
CHECKSUM COMPUTATION
Device
PIC16F72
Legend: CFWD
SUM[a:b]
SUM_ID
Checksum
+
&
DS39588A-page 10
Code
Protect
Checksum
Blank
Value
0x05E6 at
0x0000
and max
address
OFF
SUM[0x000:0x07FF] + CFWD & 0x005F
0xF85F
0x842D
ALL
CFWD & 0x005F + SUM_ID
0x005E
0x005E
= Configuration Word
= [Sum of locations a to b inclusive]
= ID locations masked by 0x0F, then concatenated into a 16-bit value with ID0 as the most significant nibble.
For example, ID0 = 0x01, ID2 = 0x02, ID3 = 0x03, ID4 = 0x04, then SUM_ID = 0x1234
= [Sum of all the individual expressions] MODULO [0xFFFF]
= Addition
= Bitwise AND
Preliminary
 2002 Microchip Technology Inc.
PIC16F72
5.0
PROGRAM/VERIFY MODE ELECTRICAL CHARACTERISTICS
5.1
AC/DC Characteristics
TABLE 5-1:
TIMING REQUIREMENTS FOR PROGRAM/VERIFY MODE
Standard Operating Conditions (unless otherwise stated)
Operating Temperature:
+10°C ≤ TA ≤ +40°C
Operating Voltage:
4.5V ≤ VDD ≤ 5.5V
Characteristics
Sym
Min
VDD level for read and verification
VDD
VDD level for programming and
erasing
Typ
Max
Units
2.0
5.5
V
VDDP
4.75
5.25
V
High voltage on MCLR for chip erase
and program write operations
VPP
12.75
13.25
V
MCLR rise time (VSS to VPP) for Test
mode entry
tVHHR
1.0
µs
Conditions/Comments
General
(Notes 1, 2)
(RB6, RB7) input high level
VIH1
0.8 VDD
V
Schmitt Trigger input
(RB6, RB7) input low level
VIL1
0.2 VDD
V
Schmitt Trigger input
Data in setup time before clock↓
tset1
100
ns
Data in hold time after clock↓
thld1
100
ns
Data input not driven to next clock input
(delay required between
command/data or command/command)
tdly1
1.0
µs
Delay between clock↓ to clock↑ of next
command or data
tdly2
1.0
µs
Clock↑ to data out valid (during read
data)
tdly3
200
ns
Erase cycle time
tera
30
Serial Program/Verify
Programming cycle time
tprog
1
ms
—
3(4)
(Note 3)
ms
Note 1: VPP should be current limited to about 100 mA.
2: VPP must remain above VDDP + 4.0V to remain in Programming mode, while not actually erasing or
programming.
3: The chip erase is self-timed.
4: tprog is expected to be reduced to 1 ms max.
 2002 Microchip Technology Inc.
Preliminary
DS39588A-page 11
PIC16F72
FIGURE 5-1:
LOAD DATA COMMAND MODE (PROGRAM/VERIFY)
VPP
1 µs min.
MCLR
tset0
RB6
(CLOCK)
1
2
3
4
5
6
tdly2
1
2
3
4
5
15
16
thld0
RB7
(DATA)
1
0
0
0
X
tset1
STOP
bit
START
bit
X
tset1
}
}
thld1
}
}
tdly1
1 µs min.
thld1
100 ns min.
100 ns min.
Program/Verify Test Mode
RESET
FIGURE 5-2:
READ DATA COMMAND MODE (PROGRAM/VERIFY)
VPP
MCLR
tset0
tdly2
thld0
1
2
3
4
5
1
0
6
1 µs min.
1
2
3
RB6
(CLOCK)
4
5
15
16
tdly3
RB7
(DATA)
0
0
X
STOP
bit
START
bit
X
tdly1
tset1
thld1
}
}
1 µs min.
100 ns min.
RB7 = Output
RB7 = Input
RB7
Input
Program/Verify Test Mode
RESET
FIGURE 5-3:
INCREMENT ADDRESS COMMAND MODE (PROGRAM/VERIFY)
VPP
MCLR
tdly2
1
2
3
4
5
6
1 µs min.
Next Command
1
2
RB6
(CLOCK)
RB7
(DATA)
0
1
1
0
X
X
X
0
tdly1
tset1
thld1
}
}
1 µs min.
100 ns min.
RESET
DS39588A-page 12
Program/Verify Test Mode
Preliminary
 2002 Microchip Technology Inc.
Note the following details of the code protection feature on PICmicro® MCUs.
•
•
•
•
•
•
The PICmicro family meets the specifications contained in the Microchip Data Sheet.
Microchip believes that its family of PICmicro microcontrollers is one of the most secure products 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 PICmicro microcontroller in a manner outside the operating specifications contained in the data sheet.
The person doing so may be 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 product.
If you have any further questions about this matter, please contact the local sales office nearest to you.
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, under any intellectual property
rights.
Trademarks
The Microchip name and logo, the Microchip logo, FilterLab,
KEELOQ, MPLAB, PIC, PICmicro, PICMASTER, PICSTART,
PRO MATE, SEEVAL and The Embedded Control Solutions
Company are registered trademarks of Microchip Technology
Incorporated in the U.S.A. and other countries.
dsPIC, ECONOMONITOR, FanSense, FlexROM, fuzzyLAB,
In-Circuit Serial Programming, ICSP, ICEPIC, microID,
microPort, Migratable Memory, MPASM, MPLIB, MPLINK,
MPSIM, MXDEV, PICC, PICDEM, PICDEM.net, rfPIC, Select
Mode and Total Endurance are trademarks of Microchip
Technology Incorporated in the U.S.A.
Serialized Quick Term Programming (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.
© 2002, Microchip Technology Incorporated, Printed in the
U.S.A., All Rights Reserved.
Printed on recycled paper.
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.
 2002 Microchip Technology Inc.
Preliminary
DS39588A - page 13
M
WORLDWIDE SALES AND SERVICE
AMERICAS
ASIA/PACIFIC
Japan
Corporate Office
Australia
2355 West Chandler Blvd.
Chandler, AZ 85224-6199
Tel: 480-792-7200 Fax: 480-792-7277
Technical Support: 480-792-7627
Web Address: http://www.microchip.com
Microchip Technology Australia Pty Ltd
Suite 22, 41 Rawson Street
Epping 2121, NSW
Australia
Tel: 61-2-9868-6733 Fax: 61-2-9868-6755
Microchip Technology Japan K.K.
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
Rocky Mountain
China - Beijing
2355 West Chandler Blvd.
Chandler, AZ 85224-6199
Tel: 480-792-7966 Fax: 480-792-7456
Microchip Technology Consulting (Shanghai)
Co., Ltd., Beijing Liaison Office
Unit 915
Bei Hai Wan Tai Bldg.
No. 6 Chaoyangmen Beidajie
Beijing, 100027, No. China
Tel: 86-10-85282100 Fax: 86-10-85282104
Atlanta
500 Sugar Mill Road, Suite 200B
Atlanta, GA 30350
Tel: 770-640-0034 Fax: 770-640-0307
Boston
2 Lan Drive, Suite 120
Westford, MA 01886
Tel: 978-692-3848 Fax: 978-692-3821
Chicago
333 Pierce Road, Suite 180
Itasca, IL 60143
Tel: 630-285-0071 Fax: 630-285-0075
Dallas
4570 Westgrove Drive, Suite 160
Addison, TX 75001
Tel: 972-818-7423 Fax: 972-818-2924
Detroit
Tri-Atria Office Building
32255 Northwestern Highway, Suite 190
Farmington Hills, MI 48334
Tel: 248-538-2250 Fax: 248-538-2260
Kokomo
2767 S. Albright Road
Kokomo, Indiana 46902
Tel: 765-864-8360 Fax: 765-864-8387
Los Angeles
18201 Von Karman, Suite 1090
Irvine, CA 92612
Tel: 949-263-1888 Fax: 949-263-1338
China - Chengdu
Microchip Technology Consulting (Shanghai)
Co., Ltd., Chengdu Liaison Office
Rm. 2401, 24th Floor,
Ming Xing Financial Tower
No. 88 TIDU Street
Chengdu 610016, China
Tel: 86-28-6766200 Fax: 86-28-6766599
China - Fuzhou
Microchip Technology Consulting (Shanghai)
Co., Ltd., Fuzhou Liaison Office
Unit 28F, World Trade Plaza
No. 71 Wusi Road
Fuzhou 350001, China
Tel: 86-591-7503506 Fax: 86-591-7503521
China - Shanghai
Microchip Technology Consulting (Shanghai)
Co., Ltd.
Room 701, Bldg. B
Far East International Plaza
No. 317 Xian Xia Road
Shanghai, 200051
Tel: 86-21-6275-5700 Fax: 86-21-6275-5060
China - Shenzhen
150 Motor Parkway, Suite 202
Hauppauge, NY 11788
Tel: 631-273-5305 Fax: 631-273-5335
Microchip Technology Consulting (Shanghai)
Co., Ltd., Shenzhen Liaison Office
Rm. 1315, 13/F, Shenzhen Kerry Centre,
Renminnan Lu
Shenzhen 518001, China
Tel: 86-755-2350361 Fax: 86-755-2366086
San Jose
Hong Kong
Microchip Technology Inc.
2107 North First Street, Suite 590
San Jose, CA 95131
Tel: 408-436-7950 Fax: 408-436-7955
Microchip Technology Hongkong Ltd.
Unit 901-6, Tower 2, Metroplaza
223 Hing Fong Road
Kwai Fong, N.T., Hong Kong
Tel: 852-2401-1200 Fax: 852-2401-3431
New York
Toronto
6285 Northam Drive, Suite 108
Mississauga, Ontario L4V 1X5, Canada
Tel: 905-673-0699 Fax: 905-673-6509
India
Microchip Technology Inc.
India Liaison Office
Divyasree Chambers
1 Floor, Wing A (A3/A4)
No. 11, O’Shaugnessey Road
Bangalore, 560 025, India
Tel: 91-80-2290061 Fax: 91-80-2290062
Korea
Microchip Technology Korea
168-1, Youngbo Bldg. 3 Floor
Samsung-Dong, Kangnam-Ku
Seoul, Korea 135-882
Tel: 82-2-554-7200 Fax: 82-2-558-5934
Singapore
Microchip Technology Singapore Pte Ltd.
200 Middle Road
#07-02 Prime Centre
Singapore, 188980
Tel: 65-334-8870 Fax: 65-334-8850
Taiwan
Microchip Technology Taiwan
11F-3, No. 207
Tung Hua North Road
Taipei, 105, Taiwan
Tel: 886-2-2717-7175 Fax: 886-2-2545-0139
EUROPE
Denmark
Microchip Technology Nordic ApS
Regus Business Centre
Lautrup hoj 1-3
Ballerup DK-2750 Denmark
Tel: 45 4420 9895 Fax: 45 4420 9910
France
Microchip Technology SARL
Parc d’Activite du Moulin de Massy
43 Rue du Saule Trapu
Batiment A - ler Etage
91300 Massy, France
Tel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79
Germany
Microchip Technology GmbH
Gustav-Heinemann Ring 125
D-81739 Munich, Germany
Tel: 49-89-627-144 0 Fax: 49-89-627-144-44
Italy
Microchip Technology SRL
Centro Direzionale Colleoni
Palazzo Taurus 1 V. Le Colleoni 1
20041 Agrate Brianza
Milan, Italy
Tel: 39-039-65791-1 Fax: 39-039-6899883
United Kingdom
Arizona Microchip Technology Ltd.
505 Eskdale Road
Winnersh Triangle
Wokingham
Berkshire, England RG41 5TU
Tel: 44 118 921 5869 Fax: 44-118 921-5820
01/18/02
DS39588A-page 14
Preliminary
 2002 Microchip Technology Inc.