AVR245: Code Lock with 4x4 Keypad and I2C LCD. 8-bit Microcontrollers. Application Note. Features. 1 Introduction



Similar documents
AVR305: Half Duplex Compact Software UART. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

8-bit RISC Microcontroller. Application Note. AVR182: Zero Cross Detector

AVR319: Using the USI module for SPI communication. 8-bit Microcontrollers. Application Note. Features. Introduction

General Porting Considerations. Memory EEPROM XRAM

AVR317: Using the Master SPI Mode of the USART module. 8-bit Microcontrollers. Application Note. Features. Introduction

Application Note. C51 Bootloaders. C51 General Information about Bootloader and In System Programming. Overview. Abreviations

AVR030: Getting Started with IAR Embedded Workbench for Atmel AVR. 8-bit Microcontrollers. Application Note. Features.

8-bit Microcontroller. Application Note. AVR222: 8-point Moving Average Filter

8-bit Microcontroller. Application Note. AVR415: RC5 IR Remote Control Transmitter. Features. Introduction. Figure 1.

AT89C5131A Starter Kit... Software User Guide

AT91 ARM Thumb Microcontrollers. Application Note. Interfacing a PC Card to an AT91RM9200-DK. Introduction. Hardware Interface

8-bit Microcontroller. Application Note. AVR400: Low Cost A/D Converter

How to Calculate the Capacitor of the Reset Input of a C51 Microcontroller 80C51. Application Note. Microcontrollers. Introduction

Quick Start Guide. CAN Microcontrollers. ATADAPCAN01 - STK501 CAN Extension. Requirements

AVR32110: Using the AVR32 Timer/Counter. 32-bit Microcontrollers. Application Note. Features. 1 Introduction

8-bit RISC Microcontroller. Application Note. AVR236: CRC Check of Program Memory

AVR106: C functions for reading and writing to Flash memory. 8-bit Microcontrollers. Application Note. Features. Introduction

8-bit Microcontroller. Application Note. AVR314: DTMF Generator

AVR32100: Using the AVR32 USART. 32-bit Microcontrollers. Application Note. Features. 1 Introduction

AVR442: PC Fan Control using ATtiny13. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

AT91 ARM Thumb Microcontrollers. AT91SAM CAN Bootloader. AT91SAM CAN Bootloader User Notes. 1. Description. 2. Key Features

Tag Tuning/RFID. Application Note. Tag Tuning. Introduction. Antenna Equivalent Circuit

3-output Laser Driver for HD-DVD/ Blu-ray/DVD/ CD-ROM ATR0885. Preliminary. Summary

AVR134: Real Time Clock (RTC) using the Asynchronous Timer. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

8-bit RISC Microcontroller. Application Note. AVR155: Accessing an I 2 C LCD Display using the AVR 2-wire Serial Interface

AVR1900: Getting started with ATxmega128A1 on STK bit Microcontrollers. Application Note. 1 Introduction

AVR1309: Using the XMEGA SPI. 8-bit Microcontrollers. Application Note. Features. 1 Introduction SCK MOSI MISO SS

8-bit. Application Note. Microcontrollers. AVR282: USB Firmware Upgrade for AT90USB

AVR241: Direct driving of LCD display using general IO. 8-bit Microcontrollers. Application Note. Features. Introduction AVR

8-bit Microcontroller. Application Note. AVR105: Power Efficient High Endurance Parameter Storage in Flash Memory

AVR1318: Using the XMEGA built-in AES accelerator. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

8-bit Microcontroller. Application Note. AVR201: Using the AVR Hardware Multiplier

AVR034: Mixing C and Assembly Code with IAR Embedded Workbench for AVR. 8-bit Microcontroller. Application Note. Features.

8-bit Microcontroller. Application. Note. AVR204: BCD Arithmetics. Features. Introduction. 16-bit Binary to 5-digit BCD Conversion bin2bcd16

AVR32701: AVR32AP7 USB Performance. 32-bit Microcontrollers. Application Note. Features. 1 Introduction

AVR1600: Using the XMEGA Quadrature Decoder. 8-bit Microcontrollers. Application Note. Features. 1 Introduction. Sensors

AVR1922: Xplain Board Controller Firmware. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

Using CryptoMemory in Full I 2 C Compliant Mode. Using CryptoMemory in Full I 2 C Compliant Mode AT88SC0104CA AT88SC0204CA AT88SC0404CA AT88SC0808CA

AVR033: Getting Started with the CodeVisionAVR C Compiler. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

AVR120: Characterization and Calibration of the ADC on an AVR. 8-bit Microcontrollers. Application Note. Features. Introduction

AVR1510: Xplain training - XMEGA USART. 8-bit Microcontrollers. Application Note. Prerequisites. 1 Introduction

AVR1301: Using the XMEGA DAC. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

AVR353: Voltage Reference Calibration and Voltage ADC Usage. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

AVR115: Data Logging with Atmel File System on ATmega32U4. Microcontrollers. Application Note. 1 Introduction. Atmel

AVR32138: How to optimize the ADC usage on AT32UC3A0/1, AT32UC3A3 and AT32UC3B0/1 series. 32-bit Microcontrollers. Application Note.

Application Note. 8-bit Microcontrollers. AVR270: USB Mouse Demonstration

USB 2.0 Full-Speed Host/Function Processor AT43USB370. Summary. Features. Overview

AVR2006: Design and characterization of the Radio Controller Board's 2.4GHz PCB Antenna. Application Note. Features.

8-bit Microcontroller. Application Note. AVR461: Quick Start Guide for the Embedded Internet Toolkit. Introduction. System Requirements

Application Note. Migrating from RS-232 to USB Bridge Specification USB Microcontrollers. Doc Control. References. Abbreviations

Application Note. 8-bit Microcontrollers. AVR091: Replacing AT90S2313 by ATtiny2313. Features. Introduction

Application Note. 8-bit Microcontrollers. AVR280: USB Host CDC Demonstration. 1. Introduction

Application Note. USB Mass Storage Device Implementation. USB Microcontrollers. References. Abbreviations. Supported Controllers

AVR441: Intelligent BLDC Fan Controller with Temperature Sensor and Serial Interface. 8-bit Microcontrollers. Application Note.

Two-wire Automotive Serial EEPROM AT24C01A AT24C02 AT24C04 AT24C08 (1) AT24C16 (2)

Atmel AVR4921: ASF - USB Device Stack Differences between ASF V1 and V2. 8-bit Atmel Microcontrollers. Application Note. Features.

AVR444: Sensorless control of 3-phase brushless DC motors. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

Application Note. 8-bit Microcontrollers. AVR272: USB CDC Demonstration UART to USB Bridge

Atmel AVR4903: ASF - USB Device HID Mouse Application. Atmel Microcontrollers. Application Note. Features. 1 Introduction

How To Use An Atmel Atmel Avr32848 Demo For Android (32Bit) With A Microcontroller (32B) And An Android Accessory (32D) On A Microcontroller (32Gb) On An Android Phone Or

AVR32788: AVR 32 How to use the SSC in I2S mode. 32-bit Microcontrollers. Application Note. Features. 1 Introduction

Atmel AVR4920: ASF - USB Device Stack - Compliance and Performance Figures. Atmel Microcontrollers. Application Note. Features.

Application Note. 8-bit Microcontrollers. AVR307: Half Duplex UART Using the USI Module

AVR055: Using a 32kHz XTAL for run-time calibration of the internal RC. 8-bit Microcontrollers. Application Note. Features.

3-output Laser Driver for HD-DVD/ Blu-ray/DVD/ CD-ROM ATR0885. Preliminary. Summary. Features. Applications. 1. Description

APPLICATION NOTE. Atmel AT04389: Connecting SAMD20E to the AT86RF233 Transceiver. Atmel SAMD20. Description. Features

AVR287: USB Host HID and Mass Storage Demonstration. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

How To Prevent Power Supply Corruption On An 8Bit Microcontroller From Overheating

AT86RF230 (2450 MHz band) Radio Transceiver... User Guide

32-bit AVR UC3 Microcontrollers. 32-bit AtmelAVR Application Note. AVR32769: How to Compile the standalone AVR32 Software Framework in AVR32 Studio V2

APPLICATION NOTE. Atmel AVR443: Sensor-based Control of Three Phase Brushless DC Motor. Atmel AVR 8-bit Microcontrollers. Features.

AVR151: Setup and Use of the SPI. Introduction. Features. Atmel AVR 8-bit Microcontroller APPLICATION NOTE

APPLICATION NOTE. Atmel LF-RFID Kits Overview. Atmel LF-RFID Kit. LF-RFID Kit Introduction

AVR125: ADC of tinyavr in Single Ended Mode. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

Two-wire Serial EEPROM AT24C1024 (1)

USB Test Environment ATUSBTEST- SS7400. Summary

APPLICATION NOTE. Atmel AVR134: Real Time Clock (RTC) Using the Asynchronous Timer. Atmel AVR 8-bit Microcontroller. Introduction.

AT88CK490 Evaluation Kit

2-wire Serial EEPROM AT24C1024. Advance Information

Application Note. 8-bit Microcontrollers. AVR293: USB Composite Device

8-bit Microcontroller. Application Note. AVR410: RC5 IR Remote Control Receiver

Table of Contents. Section 1 Introduction Section 2 Getting Started Section 3 Hardware Description

AT91SAM ARM-based Flash MCU. Application Note

2-Wire Serial EEPROM AT24C32 AT24C64. 2-Wire, 32K Serial E 2 PROM. Features. Description. Pin Configurations. 32K (4096 x 8) 64K (8192 x 8)

USER GUIDE EDBG. Description

8051 Flash Microcontroller. Application Note. A Digital Thermometer Using the Atmel AT89LP2052 Microcontroller

STK 500, AVRISP, AVRISP

ATF15xx Product Family Conversion. Application Note. ATF15xx Product Family Conversion. Introduction

8-bit Microcontroller. Application Note. AVR134: Real-Time Clock (RTC) using the Asynchronous Timer. Features. Theory of Operation.

APPLICATION NOTE Atmel AT02509: In House Unit with Bluetooth Low Energy Module Hardware User Guide 8-bit Atmel Microcontroller Features Description

APPLICATION NOTE. AT07175: SAM-BA Bootloader for SAM D21. Atmel SAM D21. Introduction. Features

Application Note. Atmel ATSHA204 Authentication Modes. Prerequisites. Overview. Introduction

AVR2004: LC-Balun for AT86RF230. Application Note. Features. 1 Introduction

Atmel AVR1017: XMEGA - USB Hardware Design Recommendations. 8-bit Atmel Microcontrollers. Application Note. Features.

DIP Top View VCC A16 A15 A12 A7 A6 A5 A4 A3 A2 A1 A0 I/O0 I/O1 I/O2 GND A17 A14 A13 A8 A9 A11 A10 I/O7 I/O6 I/O5 I/O4 I/O3. PLCC Top View VCC A17

USER GUIDE. ZigBit USB Stick User Guide. Introduction

APPLICATION NOTE. Atmel AT02985: User s Guide for USB-CAN Demo on SAM4E-EK. Atmel AVR 32-bit Microcontroller. Features. Description.

AVR1321: Using the Atmel AVR XMEGA 32-bit Real Time Counter and Battery Backup System. 8-bit Microcontrollers. Application Note.

8-bit RISC Microcontroller. Application Note. AVR910: In-System Programming

8-bit RISC Microcontroller. Application Note. AVR335: Digital Sound Recorder with AVR and DataFlash

Transcription:

AVR245: Code Lock with 4x4 Keypad and I2C LCD Features Application example for code lock - Ideal for low pin count AVRs Uses I/O pins to read 4x4 keypad Uses Timer/Counter to control piezoelectric buzzer Uses USI in TWI mode to communicate with I2C LCD Firmware written entirely in C language 1 Introduction Code locks make the task of access management more flexible and easy to configure. Mechanical locks require new keys to be manufactured every time a user with access privileges is added. The lock has to be reconfigured or replaced to change access privileges of a single user, and it may also have to be replaced if any of the keys is lost. Situations like these may occur when people move from one household to another, or when people enter and leave as employees of a company. Code locks are easy to reprogram and can contain unique codes for each user. This application note describes how to build a code lock with an AVR and a handful of components. The code lock uses a 4x4 keypad for user input, a piezoelectric buzzer for audible feedback and an LCD for informational output. The design is based on ATtiny24/44/84 devices, but can easily be migrated to other AVR microcontrollers. 8-bit Microcontrollers Application Note Figure 1-1. Block Schematic of Code Lock. Rev.

2 Theory of Operation The code lock described in this application note consists of a tinyavr, a keypad, an LCD, a piezoelectric buzzer and the actual (door) lock. The AVR constantly scans the keypad for user input and will release the lock when the correct number sequence has been entered. An LCD is used for feedback and status information. A small piezoelectric buzzer is used for giving audible feedback on keystrokes and lock status. 2.1 Keypad 2.2 Piezoelectric Buzzer 2.3 LCD The input device is a standard 4x4 matrix keypad. The keypad contains 16 keys, symmetrically arranged in four rows with four keys, each. Each column and row of the keypad is connected to an I/O pin. The microcontroller continually scans the keypad by setting all row pins except one to high and reading all column pins. All column inputs have pull-up resistors enables so when a key is pressed the microcontroller will record a low level on one of the column inputs. Piezoelectric sound components produce clear, penetrating tones, free of harmonics. The devices have high acoustic output and low power requirements, making them ideal for microcontroller applications. The sound source of a piezoelectric buzzer is the diaphragm. Applying a DC voltage to the device causes mechanical distortion to the diaphragm and applying an AC voltage will move the diaphragm in a repeated bending motion, creating sound waves. The tone of the piezoelectric buzzer is directly proportional to the frequency of the AC signal applied. A timer/counter of the AVR is well suited for generating the piezoelectric control signal. The display used in this design is a 2x16-character LCD with an integrated controller. The special feature of this display is the I 2 C interface on the LCD controller. The I 2 C interface is compatible with the Two-Wire Interface (TWI) found on AVR controllers, and since ATtiny24 is equipped with a Universal Serial Interface (USI) capable of operating in TWI mode this means the LCD can be controlled using only two wires and pins. 2 AVR245

AVR245 3 Implementation 3.1 Hardware The hardware implementation is rather straightforward. A prototype can be built easily using an STK500, an STK505, some jumper cables and the essential keypad and LCD. The schematic is illustrated in the figure below. Figure 2-1. Schematic. The electric lock is an application specific part and can be an electromechanical striker, a magnetic lock, or anything relay-driven. Lock manufacturers include ASSA ABLOY and ESMI, for example. 3.2 Firmware The firmware is written entirely in C language. This is to make the design easy to understand and to make further development of the design as straightforward as possible. 3

The software is fully documented in the doxygen documentation provided with the source code (see readme.html). Compiler requirements and info are also listed in the file. 3.2.1 Overview The flow chart of the main program is shown in the figure below. Figure 2-2. Flow Chart of Main Program. 3.2.2 TWI Driver The TWI driver handles the serial interface protocol. It is based on application note AVR310 and uses the Universal Serial Interface (USI) in Two-Wire Mode (TWI). The driver provides a communication layer between the LCD driver and the LCD. Associated files: USI_TWI_Master.c USI_TWI_Master.h 3.2.3 LCD Driver The LCD driver provides a user-friendly interface between the main program and the LCD. It offers basic functions such as initialization and clearing of the LCD. It also offers functions for writing a single character to any location and writing a full row of text to the display. 4 AVR245

AVR245 Associated files: LCD.c LCD.h 3.2.4 Keypad Driver The keypad driver uses timer/counter 0 to time the scanning sequence. After a timer/counter overflow the active keypad row is increased and wrapped around, when necessary. A key push is registered and decoded via the Pin Change Interrupts. Associated files: KPD.c KPD.h Note: debugwire requires one of the pins used for the keypad interface. When the symbol DEBUGWIRE in KPD.h is defined this pin will be freed for debugging, but the last row of the keypad cannot be used. 3.2.5 Event Timer The design uses the watchdog timer as an event window handler. Each key press refreshes the watchdog timer and if no key presses are detected within a predefined time the watchdog interrupt will trigger. In ATtiny24/44/84 it is possible to choose between a watchdog and interrupt and a hardware reset. The watchdog interrupt service routine clears the keypad buffer and erases the line of LCD where keystrokes have been recorded. 3.2.6 Buzzer Driver The piezoelectric sound element is connected to the output of timer/counter 1. The buzzer control function uses the input parameter to directly set the output frequency. This means the frequency response of the buzzer is inversely proportional to the function parameter. In order words, increasing the value of the calling parameter decreases the frequency of the buzzer. A more user-friendly approach would be to take the inverse of the calling parameter and use the result to program the timer/counter. Alas, this requires a lot more code space due to the inclusion of a divide operation. 4 Quick Start Power up the application. The firmware will display the welcome message, as follows: Tiny24 CODE LOCK The second row is empty at this time. Push key number one on the keypad. The display will now update to show the keypad buffer, as follows: Tiny24 CODE LOCK...1 5

If no other keys are pushed in a few seconds time the keypad buffer and the second line of the display will be cleared. Enter the key sequence 1234. The application will accept this as the access code and proceed to open the lock. A progress bar is shown to indicate how long the lock will remain open, as follows: LOCK OPEN!!!!!!!!!!!!! When the progress bar has decreased to zero the lock will close. 5 Further Development 5.1 ESD Protection Here are outlined some ideas for improvement and further development of the design. In some applications it may be necessary to protect the internal electronics from external ESD. This is readily done by adding current limit resistors in series between keypad column & row pins and the microcontroller. This is shown in the figure below. Figure 5-1. ESD Protection. 5.2 Freeing Up I/O Pins ESD protection resistors are typically in the order of 1 kohm, or less. This application uses all available I/O pins of the 14-pin microcontroller. For applications where more I/O is required, it is possible to free up some of the I/O pins, hence removing the need to migrate to a microcontroller with higher pin count. At the end of the day, even 8-pin AVR microcontrollers can be used for this application. The following approaches are suggested. 5.2.1 Smaller Keypad Consider replacing the 4x4 keypad with a 4x3 keypad. Typically, only numerical keys and one or two special keys are required. This approach saves one I/O pin. 5.2.2 Keypad and LCD Multiplexing Consider multiplexing the keypad and the LCD. It is not required to write to the LCD and read the keypad at the same time. These two functions can therefore be multiplexed, freeing up two I/O pins. 6 AVR245

AVR245 5.2.3 Compact Keypad Interface Consider using diodes to reduce the number of pins required to read the keypad. It is possible to use only four I/O pins to control a 4x3 keypad. This enhancement saves up to four I/O pins. To interface a 3x4 keypad using only four I/O pins requires the use of six diodes, as shown in the figure below. Figure 5-2. Using Four I/O Pins to Control a 3x4 Keypad. 5.3 Additional I2C Devices 5.4 Multiple Access Codes The keypad driver in this configuration is similar to the default configuration; only the return codes from I/O pins are different. There is no longer a one-to-one relationship between key pressed and code returned. A single key press may toggle more than one I/O pin. The algorithm for scanning the keypad is as follows. First, set all four I/O pins to inputs and enable pull-up resistors. Then, set one I/O pin to output, low and read the three other I/O pins. The three-bit information will indicate if a key in the corresponding row was pressed or not. Repeat scanning for all I/O pins. The firmware already contains a driver for I2C communication, which means that it is a very simple task to add other devices with I2C interface on the same bus. A few examples of such devices are: Card Readers Fingerprint Sensors Remote Sensors (such as RF) It is a simple task to add multiple access codes to the design. The only limit is the amount of memory available. The default firmware fits into the memory of an ATtiny24 without code compression techniques. Applying code compression (by setting IAR compiler to Release Mode) frees up some space for additional access codes. More space is naturally available in pin and functionally compatible devices, such as ATtiny44 and ATtiny84. 7

6 Table of Contents Features... 1 1 Introduction... 1 2 Theory of Operation... 2 2.1 Keypad... 2 2.2 Piezoelectric Buzzer... 2 2.3 LCD... 2 3 Implementation... 3 3.1 Hardware... 3 3.2 Firmware... 3 3.2.1 Overview... 4 3.2.2 TWI Driver... 4 3.2.3 LCD Driver... 4 3.2.4 Keypad Driver... 5 3.2.5 Event Timer...5 3.2.6 Buzzer Driver...5 4 Quick Start... 5 5 Further Development... 6 5.1 ESD Protection... 6 5.2 Freeing Up I/O Pins... 6 5.2.1 Smaller Keypad... 6 5.2.2 Keypad and LCD Multiplexing... 6 5.2.3 Compact Keypad Interface... 7 5.3 Additional I2C Devices... 7 5.4 Multiple Access Codes... 7 Disclaimer... 9 8 AVR245

Disclaimer Atmel Corporation 2325 Orchard Parkway San Jose, CA 95131, USA Tel: 1(408) 441-0311 Fax: 1(408) 487-2600 Regional Headquarters Europe Atmel Sarl Route des Arsenaux 41 Case Postale 80 CH-1705 Fribourg Switzerland Tel: (41) 26-426-5555 Fax: (41) 26-426-5500 Asia Room 1219 Chinachem Golden Plaza 77 Mody Road Tsimshatsui East Kowloon Hong Kong Tel: (852) 2721-9778 Fax: (852) 2722-1369 Japan 9F, Tonetsu Shinkawa Bldg. 1-24-8 Shinkawa Chuo-ku, Tokyo 104-0033 Japan Tel: (81) 3-3523-3551 Fax: (81) 3-3523-7581 Atmel Operations Memory 2325 Orchard Parkway San Jose, CA 95131, USA Tel: 1(408) 441-0311 Fax: 1(408) 436-4314 Microcontrollers 2325 Orchard Parkway San Jose, CA 95131, USA Tel: 1(408) 441-0311 Fax: 1(408) 436-4314 La Chantrerie BP 70602 44306 Nantes Cedex 3, France Tel: (33) 2-40-18-18-18 Fax: (33) 2-40-18-19-60 ASIC/ASSP/Smart Cards Zone Industrielle 13106 Rousset Cedex, France Tel: (33) 4-42-53-60-00 Fax: (33) 4-42-53-60-01 1150 East Cheyenne Mtn. Blvd. Colorado Springs, CO 80906, USA Tel: 1(719) 576-3300 Fax: 1(719) 540-1759 Scottish Enterprise Technology Park Maxwell Building East Kilbride G75 0QR, Scotland Tel: (44) 1355-803-000 Fax: (44) 1355-242-743 RF/Automotive Theresienstrasse 2 Postfach 3535 74025 Heilbronn, Germany Tel: (49) 71-31-67-0 Fax: (49) 71-31-67-2340 1150 East Cheyenne Mtn. Blvd. Colorado Springs, CO 80906, USA Tel: 1(719) 576-3300 Fax: 1(719) 540-1759 Biometrics/Imaging/Hi-Rel MPU/ High Speed Converters/RF Datacom Avenue de Rochepleine BP 123 38521 Saint-Egreve Cedex, France Tel: (33) 4-76-58-30-00 Fax: (33) 4-76-58-34-80 Literature Requests www.atmel.com/literature Disclaimer: The information in this document is provided in connection with Atmel products. No license, express or implied, by estoppel or otherwise, to any intellectual property right is granted by this document or in connection with the sale of Atmel products. EXCEPT AS SET FORTH IN ATMEL S TERMS AND CONDITIONS OF SALE LOCATED ON ATMEL S WEB SITE, ATMEL ASSUMES NO LIABILITY WHATSOEVER AND DISCLAIMS ANY EXPRESS, IMPLIED OR STATUTORY WARRANTY RELATING TO ITS PRODUCTS INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, CONSEQUENTIAL, PUNITIVE, SPECIAL OR INCIDENTAL DAMAGES (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF PROFITS, BUSINESS INTERRUPTION, OR LOSS OF INFORMATION) ARISING OUT OF THE USE OR INABILITY TO USE THIS DOCUMENT, EVEN IF ATMEL HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. Atmel makes no representations or warranties with respect to the accuracy or completeness of the contents of this document and reserves the right to make changes to specifications and product descriptions at any time without notice. Atmel does not make any commitment to update the information contained herein. Unless specifically provided otherwise, Atmel products are not suitable for, and shall not be used in, automotive applications. Atmel s products are not intended, authorized, or warranted for use as components in applications intended to support or sustain life. Atmel Corporation 2005. All rights reserved. Atmel, logo and combinations thereof, Everywhere You Are, AVR, AVR Studio and others, are the registered trademarks or trademarks of Atmel Corporation or its subsidiaries. Other terms and product names may be trademarks of others.