You are on page 1of 10

M AN828

Measuring Temperature with the


PIC16F84A Watchdog Timer
Author: Leena Chaudhari THEORY OF OPERATION
Microchip Technology Inc.
The WDT on all PICmicro microcontrollers has a nomi-
nal time-out period of 18 ms. The WDT time-out period
varies with temperature, VDD and part-to-part process
INTRODUCTION variations. For a given microcontroller, the WDT exhibits
a nearly linear correlation between the time-out period
Almost all temperature sensor circuits use some form and temperature, assuming that VDD is constant.
of discrete component (such as a thermistor or a solid-
Figure 1 shows the time-out count as a function of tem-
state sensor) to actually measure the environments
perature for four different devices. Note that while each
temperature. It is left to the microcontroller to interpret
device differs in counts for a given temperature, the
the reading into a human-friendly form for the users
slope of the line for each device is essentially constant,
benefit.
and is similar for all devices. The only real difference is
It is possible, however, to design a digital thermometer the offset (or y-intercept) for each device. In practical
without an external sensor, by using a temperature terms, this means that the thermometer circuit must be
sensitive property of the microcontroller itself. This calibrated with the offset value for its controller. For this
Application Note shows how to use the Watchdog application, two temperatures at opposite ends of the
Timer (WDT) of a PICmicro microcontroller for tem- expected temperature range are used to derive both
perature measurement. slope and y-intercept.
The design of the digital WDT thermometer is based on
this principle. Without using a separate temperature
sensor, it is possible to calculate the temperature with
reasonable accuracy using the WDT time-out period.

FIGURE 1: WATCHDOG TIMER COUNT VS. TEMPERATURE FOR FOUR PIC16F84A DEVICES
5500

5000

Device1

4500

4000
WDT Count

Device2

3500
Device3

Device4
3000

2500

2000
-20 -10 0 10 20 30 40 50 60
Temperature (C)

2002 Microchip Technology Inc. DS00828A-page 1


AN828
To translate the environment temperature into an actual The flow charts showing the firmware implementation
reading, the system must be able to do the following: of all these steps are presented in Figure 2 and
Provide a method for establishing time-out to Figure 3. For the sake of brevity, we will only discuss
temperature calibration the method for counting WDT time-outs and calculating
temperature, in detail. The overall system design also
Count the number of WDT time-outs for a given
includes wake-on-interrupt key scanning and tempera-
period of time
ture display, which may not be needed by some users.
Equate the number of time-outs to a temperature Those who may be interested in examining these other
components are encouraged to download the source
code and examine it at their leisure.

FIGURE 2: MAIN FIRMWARE ROUTINE FOR THE WDT THERMOMETER


WDT Time-out
START

POR, BOR,
Wake from SLEEP

YES SET key YES STATUS<5>


A
pressed? = 1 ?

NO NO

Clear WDTCOUNT
Load new calibration
and execute DEFAULT YES temps and WDT
CLRWDT = 1 ? counts from EEPROM

NO

YES WDT
Load default temps
Time-out?
and WDT counts

NO

Increment Calculate temp


from current
WDTCOUNT
WDTCOUNT

Enable PORTB
Interrupt-on-
change

TEMP key YES Display


pressed? Temperature

NO

NO TEMP key YES


SLEEP mode pressed within
5 seconds?

END
(Return to START
on RESETS)

DS00828A-page 2 2002 Microchip Technology Inc.


AN828
FIGURE 3: CALIBRATION ROUTINE FOR THE WDT THERMOMETER

A 10-minute
YES
key press B
time-out?

NO C
2-minute
YES
key press B Display current low
time-out?
calibration temp and
LO (alternating)
NO C
C
Display current high
calibration temp and UP key Increment
YES
HI (alternate) low calibration
pressed? temperature
C
NO C

YES Increment
UP key
high calibration
pressed? YES Decrement
temperature DOWN key
low calibration
pressed?
NO temperature
C
NO C

YES Decrement
DOWN key
high calibration
pressed? YES Store low calibration
temperature NO SET key
pressed? temperature and
NO WDT count
C

NO SET key YES Store high calibration


temperature and Set
pressed?
WDT count DEFAULT flag

TEMP Key Routine (Calibration Mode)


B SLEEP mode
C

END
(Return to START
TEMP key YES Clear on RESETS)
pressed? DEFAULT flag

NO
Return to B
entry point

2002 Microchip Technology Inc. DS00828A-page 3


AN828
COUNTING THE WDT TIME-OUTS On the other hand, lets examine a system using a
20 MHz clock and a prescaler ratio of 1:128. In this
The first step to calculate temperature is to count the case, the clock cycle is 0.2 s, and the loop executes
number of WDT time-outs. This is done running a loop in 1 s. The WDT prescaler ratio yields an actual time-
until a time-out occurs, then incrementing a counter. to-reset of 5120 ms (40 s x 128), or 5,120,000 s.
WDTCOUNT_HI and WDTCOUNT_LO are the two 8-bit This gives us 5,120,000 counts per RESET
registers used to store the 16-bit value of WDT count. (5,120,000 s / 1 s), which would require a minimum
The selection of a 16-bit counter for WDT time-out is of 23 bits (223, or 8,388,608, being the smallest power
based on both the system clock and the WDT prescaler of 2 that is larger than the value) to represent. In prac-
ratio. For the system described in this application note, tical terms, this means a three-byte (24-bit) register.
a clock frequency of 2 MHz and a WDT prescaler ratio At start-up, the program checks if the RESET is a
of 1:2 was used. With this configuration, it was Power-on Reset (POR) or a WDT time-out. It does this
observed that the value of the WDT count never by checking the TO bit of the STATUS register. (See
exceeded 16 bits over the entire temperature range Table 1 for details on the TO and PD bits and their sig-
(-40C to 85C). If a longer time-out period is required, nificance.) If the RESET is a POR (TO equal to 1), the
a prescaler ratio of up to 1:128 can be assigned under system determines the present temperature by mea-
software control by writing to the three Least Significant suring the WDT time-out time.
bits of the OPTION register. At the highest setting, a
This is done by first clearing the
time-out period of as long as 2.3 seconds can be
WDTCOUNT_HI:WDTCOUNT_LO register pair, and then
realized.
by doing a 16-bit increment within the loop. Since the
The firmware calculation of the WDT time-out, as well WDT is not cleared in the loop, the WDT will eventually
as the size of the register, are based on this clock fre- time-out and cause a WDT Reset. This RESET will
quency and WDT prescaler ratio. Changing these val- cause the Program Counter to be loaded with 0000h
ues requires changes to the algorithm; in addition, and a WDT Reset will be executed on the PIC16F84A.
increasing the prescaler ratio will require a longer cal- Subsequently, the program will branch back to Start.
culation and more time, and may require a larger WDT
When the STATUS register is checked this time, the TO
time-out counter register. It is the users responsibility
bit will be 0, indicating that a WDT time-out (and not a
to determine what the appropriate WDT rate and time-
POR) has occurred. The value now stored in the
out register size is for a particular application, and
WDTCOUNT_HI:WDTCOUNT_LO register pair corre-
make the appropriate changes. Note that the basic
sponds to the WDT time (and thus the present temper-
counting method will always stay the same.
ature) of the PIC16F84A.
To demonstrate this, lets look at a few examples. In
these cases, the following assumptions are made:
Each four-instruction loop incrementing the WDT Note: RESETS do not affect the values stored in
counter takes five clocks cycles (one for each RAM (i.e., WDTCOUNT_HI and
instruction, plus an addition cycle for the GOTO WDTCOUNT_LO).
instruction, as it increments the program counter)
The worst-case Watchdog Timer Reset time TABLE 1: STATUS BITS AND THEIR
(TWDT) is 40 ms. (This is well outside of the maxi- SIGNIFICANCE IN RESET
mum value of 33 ms specified for the PIC16F84A; STATES
we will use this value to provide a margin of com-
fort in calculating the register size.) TO PD Condition
For the system described here, the 2 MHz system clock 1 1 Power-on Reset
gives us a clock cycle of 2 s, which means a single 0 Unknown Illegal
loop executes in 10 s (5 x 2 s). The WDT prescaler
Unknown 0 Illegal
ration of 1:2 gives us an actual time-to-reset of 80 ms,
or 80,000 s. Thus, a single RESET would generate a 1 1 Brown-out Reset
count of 80,000/10, or 8,000. As this is less than 65,536 0 1 WDT Reset
(216), this means that the WDT count can be accommo- 0 0 WDT Wake-up
dated in 16 bits, or a two-byte register.
1 0 MCLR Reset during
SLEEP or interrupt wake-
up from SLEEP
Unchanged Unchanged MCLR Reset during normal
operation

DS00828A-page 4 2002 Microchip Technology Inc.


AN828
EXAMPLE 1: CODE FOR COUNTING WDT TIME-OUTS
Start ; Main start of the program
movf WDTCOUNT_HI,w ; (WDTCOUNT_HI:WDTCOUNT_LO)-final value of 16-bit WDT counter
movwf TEMP1 ; (TEMP1:TEMP0)- value for calculation of temperature
movf WDTCOUNT_LO,w
movwf TEMP0

btfss STATUS,NOT_TO ; Reset by power-on, new WDT count.


goto MeasureTemp ; Reset by WDT time-out, calculate present temperature.

Initialization code for WDT ; Select Prescaler for WDT in OPTION_REG


; PSA = 1, Prescaler is assigned to the WDT
:
:
clrf WDTCOUNT_HI ; Clear 16 bit count for WDT time-out period
clrf WDTCOUNT_LO ;
clrwdt ; Clear Watch Dog Timer
WDT_LOOP
incfsz WDTCOUNT_LO,f ; Lower 8 bit of WDT Time-out count
goto CALWDT1
incf WDTCOUNT_HI,f ; Upper 8 bit of WDT Time-out count
CALWDT1
goto WDT_LOOP
MeasureTemp
:
; Code for calculation and display of temperature and other routine
:

CALCULATING TEMPERATURE WITH where y represents the WDT count and x represents
the temperature, we can solve for m to give the num-
WDT COUNT
ber of time-outs per degree Celsius:
The calculation of temperature is based on the two cal- ( y2 y1 )
m = ---------------------
ibrated temperatures and their corresponding WDT ( x2 x1 )
counts. Since the relationship between temperature
and WDT time is nearly a straight line, two points are We can also solve for the temperature for a given WDT
sufficient to determine the slope. Both temperatures time-out value with the equation:
and WDT counts must be determined and stored in ( y 2 y1 )
x 1 = x 2 ---------------------
EEPROM locations. These values remain the same for m
a given device.
As an example, say that 3208 WDT time-outs were
In order to determine the two points on the straight line, counted at 13C, and 3740 were counted at 37C. In
the user will have to find the WDT time values for two this case, the slope is:
known temperatures by executing the calibration pro- 3740 3208
cess. To obtain the most accurate calculation of the m = ------------------------------
37 13
slope, the difference between the two calibration tem- = 22.17
peratures must be at least 20C. For production testing,
multiple units should be tested in parallel, using the For a temperature with 3300 time-outs, we use the
Calibration mode in the source code. higher known temperature and its count as x2 and y2,
and solve for x1 to get:
To calibrate the system, the WDT time-out count was
x 1 = 37 ------------------------------
collected with the device in the precision thermistors at 3740 3300
22.17
two different temperatures (13C and 37C). With the
time-out counts and temperatures at two different = 17.2
points, the temperature between these points can be
which rounds off to 17C.
calculated by simple linear regression.
For the standard equation for a straight line:
y = mx + b

2002 Microchip Technology Inc. DS00828A-page 5


AN828
DESCRIPTION OF THE CIRCUIT troller. Because these four pins (RB7:RB4) have an
interrupt-on-change feature, pressing any of the keys
The circuit hardware (schematic shown in Figure 4) is can wake-up the device from SLEEP.
built around a PIC16F84A microcontroller, three seven-
The PIC16F84A is normally in SLEEP mode, consum-
segment LEDs to display temperature, and assorted
ing very little operating current. If any key is pressed, it
support components. The common anode of each LCD
wakes up from SLEEP and updates the WDT count,
is connected to PORTA<2:0> through PNP transistors,
and checks for additional key presses. If there are
which are used to source the current for each digit. The
none, it returns to SLEEP mode. In such applications,
entire device operates on a single 9V battery.
putting the controller into SLEEP mode during inactive
Four control keys (SET, TEMP, UP and DOWN) are states can greatly extend battery life.
provided to display and calibrate the temperature. The
keys are connected to PORTB <7:4> of the microcon-

FIGURE 4: WDT THERMOMETER SCHEMATIC


LED1 LED2 LED3
RN1 330 HDSP-7301 HDSP-7301 HDSP-7301
10 a 10 a 10 a
RB1 A A A
9 b 9 b 9 b
RB2 B B B
8 c 8 c 8 c
RB3 C C C
5 d 5 d 5 d
RB4 D D D
4 e 4 e 4 e
RB5 E E E
+5V 2 f 2 f 2 f
RB6 F F F
3 g 3 g anode 1 3 g
RB7 G anode 1 G G anode 1
7 anode 6 7 anode 6 7 anode 6
dp dp dp
R4
10 k U1
PIC16F84A R1 1 k R2 1 k R3 1 k
14 RA0 RA1 RA2
+5V VDD
4
MCLR
Q1 Q2 Q3
MCLR
17 RB0/INT 6
2N3906 2N3906 2N3906
RA0 RA0
RA1
18
RA1 RB1
7
RB1 +5V +5V +5V
C1 C2 1 8 D E F G
0.1F 0.1F RA2 RA2 RB2 RB2
2 9
RA3 RA3 RB3 RB3 R6 R7 R8 R9
3 10
RA4/T0CKI RB4 RB4 4.7 k 4.7 k 4.7 k 4.7 k
11
RB5 RB5
16
OSC1/CLKI RB6
12
RB6
S1 S2 S3 S4
15 13
OSC2/CLKO RB7 RB7
Y1 5
VSS
2 MHz
U4 UP DOWN SET TEMP
LM7805
3 1 +5V
IN OUT J1
1
GND +5V
B1 2 2
9V MCLR
3
4
RB6
5
RB7

MODES OF OPERATION Display Mode: When the TEMP key is pressed, the
system wakes up and the LEDs show the temperature
The WDT Thermometer has three distinct operating in degrees Centigrade. If the TEMP key is not pressed
modes. again within 5 seconds, the system will return to
SLEEP Mode: This is the default mode the system SLEEP mode.
starts in when power is applied, and when it is not in the It is important to note that the system will not automat-
other modes. There is no display or other sign of ically update the display with temperature changes that
activity. occur while it is in Display mode. To update the display
with the current temperature, it is necessary to press
TEMP again, after the system has returned to SLEEP
mode.

DS00828A-page 6 2002 Microchip Technology Inc.


AN828
Calibration Mode: This mode creates a set of new cal- ACCURACY OF THE SYSTEM
ibration values, in addition to those present in the firm-
ware. To do this, it is necessary to place the device in To verify the accuracy of the design, the test system
an environment where the temperature is known, such was kept under a precision temperature forcing system
as a precision temperature forcing system. over a range of temperatures; a thermal soak time of 5
minutes was used for each step. When calculated and
actual temperatures were compared (shown in
Note: Before setting the temperature, the system Table 2), it was found that the WDT calculated temper-
should be allowed to equilibrate at a partic- ature was generally accurate within 1C.
ular temperature for at least 5 to 10 min- It should be noted that these results are for a relatively
utes, to get the proper WDT counts for high small sample of systems. Results may vary across a
and low temperatures; otherwise, a correct larger sample. Accuracy may be enhanced by using a
calibration will not be possible. narrower range of calibration temperatures, restricted
To calibrate the device: to the expected operating range of the system; this
restricts measurement to a more linear part of the tem-
1. Place the system in the temperature forcing sys-
perature vs. WDT count line, and allows for a more
tem at the higher of the two calibration tempera-
accurate calculation.
tures, and wait 5 minutes for the temperature to
stabilize.
TABLE 2: CALCULATED AND ACTUAL
2. Press and hold the SET key while applying
power to the system. The display will alternately TEMPERATURES FOR THE
flash HI and the current high calibration tem- WDT THERMOMETER
perature.
Calculated Temperature Actual Measured
3. Press either the UP or DOWN key to increase or
(C) Temperature (C)
decrease the displayed temperature setting by
one degree (within a range of 0 to 70), to match -39 -40
the actual temperature. -29 -30
4. Press the SET key. The new high temperature -20 -20
calibration is stored in data EEPROM. At this
-10 -10
point, the display will alternately flash LO and
the current low calibration temperature. 0 0
5. Change the temperature of the forcing system to 10 10
the low calibration temperature. Allow 5 minutes 22 20
for the temperature to stabilize.
28 30
6. Press either the UP or DOWN key to increase or
39 40
decrease the displayed temperature setting by
one degree (within a range of 0 to 70), to match 49 50
the current temperature. 54 55
7. Press the SET key. The new low temperature
calibration is stored in data EEPROM, and the
MEMORY USAGE
firmware sets a flag (Default) to indicate that
new calibration information is available. At this The firmware for the WDT thermometer uses the fol-
point, the system returns to SLEEP mode. lowing memory resources:
8. To return to the preprogrammed calibration at Program Memory: 601 bytes
any time during this process, press the TEMP
key. The unit ignores any new calibration data Data RAM: 48 bytes
entered, and returns to SLEEP mode. Data EEPROM: 7 bytes
The system continuously checks for key presses during The hardware design uses a total of 11 I/O pins (10 for
Calibration mode. If no key presses occur for two min- combined I/O and one for interrupt-on-change to
utes during the high temperature calibration, or for ten wake-up).
minutes during the low temperature calibration, the unit
returns to SLEEP mode.
CONCLUSION
There may be situations where it is necessary to mea-
sure temperature with an absolute minimum part count.
Using a PIC16F84A to both measure and interpret the
temperature, provides a simple solution with a very low
part count and a good degree of accuracy.

2002 Microchip Technology Inc. DS00828A-page 7


AN828
APPENDIX A: SOFTWARE
DISCUSSED IN THIS
APPLICATION NOTE
Because of its overall length, a complete source file list-
ing for the WDT thermometer is not provided. The com-
plete source code is available as a single WinZip
archive file, which may be downloaded from the
Microchip corporate web site at:

www.microchip.com

DS00828A-page 8 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 knowl-
edge, 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 Trademarks


applications and the like is intended through suggestion only
and may be superseded by updates. It is your responsibility to The Microchip name and logo, the Microchip logo, FilterLab,
ensure that your application meets with your specifications. KEELOQ, MPLAB, PIC, PICmicro, PICMASTER, PICSTART,
No representation or warranty is given and no liability is PRO MATE, SEEVAL and The Embedded Control Solutions
assumed by Microchip Technology Incorporated with respect Company are registered trademarks of Microchip Technology
to the accuracy or use of such information, or infringement of Incorporated in the U.S.A. and other countries.
patents or other intellectual property rights arising from such
dsPIC, ECONOMONITOR, FanSense, FlexROM, fuzzyLAB,
use or otherwise. Use of Microchips products as critical com-
In-Circuit Serial Programming, ICSP, ICEPIC, microID,
ponents in life support systems is not authorized except with
microPort, Migratable Memory, MPASM, MPLIB, MPLINK,
express written approval by Microchip. No licenses are con-
MPSIM, MXDEV, PICC, PICDEM, PICDEM.net, rfPIC, Select
veyed, implicitly or otherwise, under any intellectual property
Mode and Total Endurance are trademarks of Microchip
rights.
Technology Incorporated in the U.S.A.

Serialized Quick Turn 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
Companys 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, Microchips quality
system for the design and manufacture of
development systems is ISO 9001 certified.

2002 Microchip Technology Inc. DS00828A - page 9


M
WORLDWIDE SALES AND SERVICE
AMERICAS ASIA/PACIFIC Japan
Microchip Technology Japan K.K.
Corporate Office Australia
Benex S-1 6F
2355 West Chandler Blvd. Microchip Technology Australia Pty Ltd
3-18-20, Shinyokohama
Chandler, AZ 85224-6199 Suite 22, 41 Rawson Street
Kohoku-Ku, Yokohama-shi
Tel: 480-792-7200 Fax: 480-792-7277 Epping 2121, NSW
Kanagawa, 222-0033, Japan
Technical Support: 480-792-7627 Australia
Web Address: http://www.microchip.com Tel: 61-2-9868-6733 Fax: 61-2-9868-6755 Tel: 81-45-471- 6166 Fax: 81-45-471-6122
Rocky Mountain China - Beijing Korea
2355 West Chandler Blvd. Microchip Technology Consulting (Shanghai) Microchip Technology Korea
Chandler, AZ 85224-6199 Co., Ltd., Beijing Liaison Office 168-1, Youngbo Bldg. 3 Floor
Tel: 480-792-7966 Fax: 480-792-7456 Unit 915 Samsung-Dong, Kangnam-Ku
Bei Hai Wan Tai Bldg. Seoul, Korea 135-882
Atlanta No. 6 Chaoyangmen Beidajie Tel: 82-2-554-7200 Fax: 82-2-558-5934
500 Sugar Mill Road, Suite 200B Beijing, 100027, No. China Singapore
Atlanta, GA 30350 Tel: 86-10-85282100 Fax: 86-10-85282104 Microchip Technology Singapore Pte Ltd.
Tel: 770-640-0034 Fax: 770-640-0307 200 Middle Road
China - Chengdu
Boston #07-02 Prime Centre
Microchip Technology Consulting (Shanghai)
2 Lan Drive, Suite 120 Singapore, 188980
Co., Ltd., Chengdu Liaison Office
Westford, MA 01886 Tel: 65-334-8870 Fax: 65-334-8850
Rm. 2401, 24th Floor,
Tel: 978-692-3848 Fax: 978-692-3821 Taiwan
Ming Xing Financial Tower
Chicago No. 88 TIDU Street Microchip Technology Taiwan
333 Pierce Road, Suite 180 Chengdu 610016, China 11F-3, No. 207
Itasca, IL 60143 Tel: 86-28-6766200 Fax: 86-28-6766599 Tung Hua North Road
Tel: 630-285-0071 Fax: 630-285-0075 Taipei, 105, Taiwan
China - Fuzhou
Dallas Tel: 886-2-2717-7175 Fax: 886-2-2545-0139
Microchip Technology Consulting (Shanghai)
4570 Westgrove Drive, Suite 160 Co., Ltd., Fuzhou Liaison Office
Addison, TX 75001 Unit 28F, World Trade Plaza
Tel: 972-818-7423 Fax: 972-818-2924 EUROPE
No. 71 Wusi Road
Detroit Fuzhou 350001, China Denmark
Tri-Atria Office Building Tel: 86-591-7503506 Fax: 86-591-7503521 Microchip Technology Nordic ApS
32255 Northwestern Highway, Suite 190 China - Shanghai Regus Business Centre
Farmington Hills, MI 48334 Microchip Technology Consulting (Shanghai) Lautrup hoj 1-3
Tel: 248-538-2250 Fax: 248-538-2260 Co., Ltd. Ballerup DK-2750 Denmark
Kokomo Room 701, Bldg. B Tel: 45 4420 9895 Fax: 45 4420 9910
2767 S. Albright Road Far East International Plaza France
Kokomo, Indiana 46902 No. 317 Xian Xia Road Microchip Technology SARL
Tel: 765-864-8360 Fax: 765-864-8387 Shanghai, 200051 Parc dActivite du Moulin de Massy
Los Angeles Tel: 86-21-6275-5700 Fax: 86-21-6275-5060 43 Rue du Saule Trapu
18201 Von Karman, Suite 1090 China - Shenzhen Batiment A - ler Etage
Irvine, CA 92612 91300 Massy, France
Microchip Technology Consulting (Shanghai)
Tel: 949-263-1888 Fax: 949-263-1338 Tel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79
Co., Ltd., Shenzhen Liaison Office
New York Rm. 1315, 13/F, Shenzhen Kerry Centre, Germany
150 Motor Parkway, Suite 202 Renminnan Lu Microchip Technology GmbH
Hauppauge, NY 11788 Shenzhen 518001, China Gustav-Heinemann Ring 125
Tel: 631-273-5305 Fax: 631-273-5335 Tel: 86-755-2350361 Fax: 86-755-2366086 D-81739 Munich, Germany
Tel: 49-89-627-144 0 Fax: 49-89-627-144-44
San Jose Hong Kong
Microchip Technology Inc. Microchip Technology Hongkong Ltd. Italy
2107 North First Street, Suite 590 Unit 901-6, Tower 2, Metroplaza Microchip Technology SRL
San Jose, CA 95131 223 Hing Fong Road Centro Direzionale Colleoni
Tel: 408-436-7950 Fax: 408-436-7955 Kwai Fong, N.T., Hong Kong Palazzo Taurus 1 V. Le Colleoni 1
Tel: 852-2401-1200 Fax: 852-2401-3431 20041 Agrate Brianza
Toronto
Milan, Italy
6285 Northam Drive, Suite 108 India Tel: 39-039-65791-1 Fax: 39-039-6899883
Mississauga, Ontario L4V 1X5, Canada Microchip Technology Inc.
Tel: 905-673-0699 Fax: 905-673-6509 India Liaison Office United Kingdom
Divyasree Chambers Arizona Microchip Technology Ltd.
1 Floor, Wing A (A3/A4) 505 Eskdale Road
No. 11, OShaugnessey Road Winnersh Triangle
Bangalore, 560 025, India Wokingham
Tel: 91-80-2290061 Fax: 91-80-2290062 Berkshire, England RG41 5TU
Tel: 44 118 921 5869 Fax: 44-118 921-5820

01/18/02

DS00828A-page 10 2002 Microchip Technology Inc.

You might also like