PDF Software Description - AVR Freaks



ATA6824 and ATmega88

(13 pages, revision A, updated 8/07) |DC Motor Control in High Temperature Environment | |

|AVR077: Opto Isolated Emulation for the |This application note describes how to implement an optoisolated interface for the |

|DebugWIRE |DebugWIRE. This device could help the debug of applications with non isolated power |

|(9 pages, revision A, updated 1/08) |supply like ballast, motors, vacuum cleaners, refridgerators, etc. |

|AVR137: Writing Software Compatible for |Two revisions of AT90PWM2/3 are available. Versions AT90PWM2B and AT90PWM3B are the |

|AT90PWM2/3 and AT90PWM2B/3B |evolutions of the AT90PWM2 and AT90PWM3. This application note lists the main |

|(3 pages, revision A, updated 10/06) |corrections and differences between the two designs, and showsan example of software|

| |that allows to detect which version is currently programmed. |

|AVR191: Anti-Pinch Algorithm for AVR |The purpose of this document is to explain how to adapt an anti-pinch algorithm to a|

|Adaptation Procedure |specified powered window. |

|(10 pages, revision A, updated 11/06) | |

|AVR275: Sensor-based Control of Three Phase |This application note described the control of a BLDC motor with Hall effect |

|Brushless DC Motors Using AT90USB family |position sensors (referred to simply as Hall sensors). The implementation includes |

|(10 pages, revision A, updated 09/06) |both direction and open loop speed control. |

|AVR276: USB Software Library for AT90USBxxx |This document describes the AT90USBxxx USB software library and illustrate how to |

|Microcontrollers |develop a USB device or reduced host applications using this library |

|(27 pages, revision A, updated 01/07) | |

|AVR277: On-The-Go |This document describes the new features brought by the OTG working group and how |

|(OTG) add-on to USB Software Library |they are integrated in the AT90USBxxx USB software library, illustrating how to |

|(15 pages, revision A, updated 07/07) |develop customizable USB OTG applications. |

|AVR280 USB Host CDC Demonstration |The aim of this document is to describe how to start and implement a Host CDC |

|(14 pages, revision A, updated 09/07) |application using the STK525 or USBKEY starter kit, and finally introduces a simple |

| |example of dual USB-UART bridge between two PCs. |

|Fully Integrated BLDC Motor Control from the |The purpose of this document is to explain the theory and application of Atmel’s |

|Signal Generation to the Full BLDC Motor |integrated BLDC driver solution. |

|Control Chain | |

|(17 pages, revision A, updated 3/07) | |

|USB PC Drivers Based on Generic HID Class |This document gives information on integrating the Atmel USB HID DLL functions. |

|(6 pages, revision A, updated 04/06) |Simple code examples that demonstrate different types of implementation are given. |

|AVR181: Automotive Grade0 - PCB and Assembly |This paper is a collection of technical advice aiming at providing automotive |

|Recommendations |electronic designers elements to manage high temperature constraints when addressing|

|(8 pages, revision A, updated 09/07) |the PCB development. |

|AVR282: USB Firmware Upgrade for AT90USB |The aim of this document is to describe how to perform the firmware upgrade of the |

|(13 pages, revision A, updated 1/08) |AT90USB products using the on-chip bootloader and FLIP software. |

|AVR2015: RZRAVEN Quick Start Guide |This application note describes how to get started with the RZRAVEN kit. The RZRAVEN|

|(20 pages, revision A, updated 02/08) |kit is built around three main components; the hardware itself, the firmware running|

| |on the RZUSBSTICK and AVRRAVENs, and the AVR Wireless Services PC suite. This |

| |document describes how to install the AVR Wireless PC Suite, use its different |

| |features and how to operate the AVRRAVENs accordingly. |

|AVR2016: RZRAVEN Hardware User's Guide |The RZRAVEN is a development kit for the AT86RF230 radio transceiver and the AVR |

|(26 pages, revision C, updated 03/08) |microcontroller. It serves as a versatile and professional platform for developing |

| |and debugging a wide range of RF applications; spanning from: simple point-to-point |

| |communication through full blown sensor networks with numerous nodes running complex|

| |communication stacks. On top of this, the kit provides a nice human interface, which|

| |spans from PC connectivity, through LCD and audio input and output. |

|AVR000: Register and Bit-Name Definitions for |This Application Note contains files which allow the user to use Register and Bit |

|the AVR Microcontroller |names from the databook when writing assembly programs. |

|(1 pages, revision B, updated 4/98) | |

|AVR001: Conditional Assembly and portability |This application note describes the Conditional Assembly feature present in the AVR |

|macros |Assembler version 1.74 and later. Examples of how to use Conditional Assembly are |

|(6 pages, revision D, updated 03/05) |included to illustrate the syntax and concept. |

|AVR030: Getting Started with IAR Embedded |The purpose of this application note is to guide new users through the initial |

|Workbench for Atmel AVR |settings of IAR Embedded Workbench, and compile a simple C-program. |

|(10 pages, revision D, updated 10/04) | |

|AVR031: Getting Started with ImageCraft C for |The purpose of this Application Note is to guide new users through the initial |

|AVR |settings of the ImageCraft IDE and compile a simple C program. |

|(8 pages, revision B, updated 5/02) | |

|AVR032: Linker Command Files for the IAR |This Application Note describes how to make a linker command file for use with the |

|ICCA90 Compiler |IAR ICCA90 C-compiler for the AVR Microcontroller. |

|(11 pages, revision B, updated 5/02) | |

|AVR033: Getting Started with the CodeVisionAVR|The purpose of this Application Note is to guide the user through the preparation of|

|C Compiler |an example C program using the CodeVisionAVR C compiler. The example is a simple |

|(16 pages, revision B, updated 5/02) |program for the Atmel AT90S8515 microcontroller on the STK500 starter kit. |

|AVR034: Mixing C and Assembly Code with IAR |This Application Note describes how to use C to control the program flow and main |

|Embedded Workbench for AVR |program and assembly modules to control time critical I/O functions. |

|(8 pages, revision B, updated 4/03) | |

|AVR035: Efficient C Coding for AVR |This Application Note describes how to utilize the advantages of the AVR |

|(22 pages, revision D, updated 01/04) |architecture and the development tools to achieve more efficient c Code than for any|

| |other microcontroller. |

|AVR040: EMC Design Considerations |This Application Note covers the most common EMC problems designers encounter when |

|(18 pages, revision D, updated 06/06) |using Microcontrollers. |

|AVR041: EMC Performances Improvement for |Thanks to a new Atmel IC design methodology, the EMC constraints are taken into |

|ATmega32M1 |account earlier in the IC design phase. This allows a better assessment of the EMC |

|(6 pages, revision A, updated 02/08) |performances such as the self-compatibility of the IC, the level of the radiated and|

| |conducted emissions as well as the internal and external immunity. The EMC |

| |performances of the Mega32M1 product are improved thanks to some design improvements|

| |detailed in this document. |

|AVR042: AVR Hardware Design Considerations |This Application Note covers the most common problems encountered when switching to |

|(14 pages, revision E, updated 06/06) |a new microcontroller architecture like the AVR. Solutions and considerations for |

| |the most common design challenges are covered. |

|AVR053: Calibration of the internal RC |This application note describes a method to calibrate the internal RC oscillator and|

|oscillator |targets all AVR devices with tunable RC oscillator. Furthermore, an easily adaptable|

|(15 pages, revision G, updated 05/06) |calibration firmware source code is also offered. This allows device calibration |

| |using AVR tools, and it can also be used for 3rd party calibration systems, based on|

| |production programmers. |

|AVR054: Run-time calibration of the internal |This application note describes how to calibrate the internal RC oscillator via the |

|RC oscillator |UART. |

|(17 pages, revision B, updated 02/06) | |

|AVR055: Using a 32kHz XTAL for run-time |This application note describes a fast and accurate way to calibrate the internal RC|

|calibration of the internal RC |oscillator using an external 32.768 kHz crystal as input to an asynchronous |

|(16 pages, revision C, updated 02/06) |Timer/Counter. |

|AVR060: JTAG ICE Communication Protocol |This application note describes the communication protocol used between AVR Studio® |

|(20 pages, revision B, updated 01/04) |and JTAG ICE. |

|AVR061: STK500 Communication Protocol |This document describes the protocol for the STK500 starterkit. This protocol is |

|(31 pages, revision B, updated 4/03) |based on earlier protocols made for other AVR tools and is fully compatible with |

| |them in that there should not be any overlapping or redefined commands. |

|AVR063: LCD Driver for the STK504 |The STK504 is a hardware expansion board for STK500 that add support for 100 pin AVR|

|(13 pages, revision A, updated 04/06) |LCD devices. This application note is an example of how to use the ATmega3290 and |

| |the STK504. |

|AVR064: STK502 - A Temperature Monitoring | |

|System with LCD Output | |

|(24 pages, revision C, updated 02/06) | |

|AVR065: LCD Driver for the STK502 and AVR |In applications where user interaction is required it is often useful to be able to |

|Butterfly |display information to the user. The ATmega169 is a MCU with integrated LCD driver. |

|(18 pages, revision C, updated 02/06) |It can control up to 100 LCD segments. The ATmega169 is therefore, an obvious choice|

| |when designing applications that requires both an efficient MCU and an LCD. |

|AVR067: JTAGICE mkII Communication Protocol |This document describes the communication protocol used between AVR Studio and |

|(82 pages, revision C, updated 04/06) |JTAGICE mkII. |

|AVR068: STK500 Communication Protocol |The document describes version 2.0 of the Atmel STK500 and the PC controlling the |

|(37 pages, revision C, updated 06/06) |STK500 communication protocol. The firmware is distributed with AVR Studio 4.11 |

| |build 401 or later. |

|AVR069: AVRISP mkII Communication Protocol |This document describes the AVRISP mkII protocol. The firmware is distributed with |

|(24 pages, revision B, updated 02/06) |AVR Studio 4.12 or later. |

|AVR070: Modifying AT90ICEPRO and ATICE10 to |Older AT90ICEPRO can be upgraded to support the new AVR devices with internal A/D |

|Support Emulation of AT90S8535 |converter. This Application Note describes in detail how to modify the AT90ICEPRO to|

|(5 pages, revision C, updated 5/02) |support emulation of AT90S8535 and other AVR devices with A/D converter. |

|AVR072: Accessing 16-bit I/O Registers |This Application Note shows how to read and write the 16-bit registers in the AVR |

|(4 pages, revision B, updated 5/02) |Microcontrollers. Since the AVR has an 8-bit I/O bus these registers must be written|

| |in two execution cycles. It explains how to safely read and write these 16-bit |

| |registers. |

|AVR073: Accessing 10- and 16-bit registers in |This application note explains how 10- and 16-bit accesses should be handled when |

|ATtiny261/461/861 |using the ATtiny261/461/861 family of microcontrollers. A complete set of C macros |

|(6 pages, revision B, updated 1/08) |for accessing 10- and 16-bit. registers is also included with this application note.|

|AVR074: Upgrading AT90ICEPRO to ICE10 |This Application Note describes how to upgrade the AT90ICEPRO emulator to ATICE10 |

|(8 pages, revision B, updated 5/02) |Version 2.0 |

|AVR100: Accessing the EEPROM |This Application Note contains assembly routines for accessing the EEPROM for all |

|(7 pages, revision C, updated 09/05) |AVR devices. Includes code for reading and writing EEPROM addresses sequentially and|

| |at random addresses. |

|AVR101: High Endurance EEPROM Storage |Having a system that regularly writes a parameter to the EEPROM can wear out the |

|(5 pages, revision A, updated 9/02) |EEPROM, since it is only guaranteed to endure 100.000 erase/write cycles. This |

| |Application Note describes how to make safe high endurance parameter storage in |

| |EEPROM. |

|AVR102: Block Copy Routines |This Application Note contains routines for transfer of data blocks. |

|(5 pages, revision B, updated 5/02) | |

|AVR103: Using the EEPROM Programming Modes |This application note implements a driver utilizing the programming modes available |

|(5 pages, revision A, updated 03/05) |for the EEPROM in some new AVR parts, involving both time and power savings. |

|AVR104: Buffered Interrupt Controlled EEPROM |Many applications use the built-in EEPROM of the AVR to preserve and hence restore |

|Writes |system information when power is removed from the system. This application note |

|(9 pages, revision A, updated 07/03) |presents a buffered interrupt driven approach, which significantly increases general|

| |performance and decreases power consumption compared to a polling implementation. |

|AVR105: Power efficient high endurance |This application note describes how to implement a high endurance parameter storage |

|parameter storage in Flash memory |method in Flash memory using the self-programming feature of the AVR. |

|(10 pages, revision A, updated 9/03) | |

|AVR106: C functions for reading and writing to|Recent AVRs have a feature called Self programming Program memory. This feature |

|Flash memory |makes it possible for an AVR to reprogram the Flash memory during program run and is|

|(10 pages, revision B, updated 08/06) |suitable for applications that need to self-update firmware or store parameters in |

| |Flash. This application note provides C functions for accessing the Flash memory. |

|AVR107: Interfacing AVR serial memories |This application note describes the functionality and the architecture of SPI serial|

|(22 pages, revision A, updated 03/05) |memories drivers as well as the motivation of the selected solution. |

|AVR108: Setup and use of the LPM Instructions |This Application Note describes how to access constants saved in Flash program |

|(4 pages, revision B, updated 5/02) |memory of the AVR microcontrollers |

|AVR109: Self Programming |This Application note describes how an AVR with the SPM instruction can be |

|(11 pages, revision B, updated 06/04) |configured for Self Programming. |

|AVR120: Characterization and Calibration of |This application note explains various ADC (Analog to Digital Converter) |

|the ADC on an AVR |characterization parameters and how they effect ADC measurements. It also describes |

|(15 pages, revision D, updated 02/06) |how to measure these parameters during application testing in production and how to |

| |perform run-time compensation. |

|AVR121: Enhancing ADC resolution by |This Application Note explains the method called "Oversampling and Decimation" and |

|oversampling |which conditions need to be fulfilled to make this method work properly to get |

|(14 pages, revision A, updated 09/05) |achieve higher resolution without using an external ADC. |

|AVR122: Calibration of the AVR's internal |This application note describes how to calibrate and compensate the temperature |

|temperature reference |measurements from the ATtiny25/45/85. It can also be used on other AVR® |

|(14 pages, revision A, updated 2/08) |microcontrollers with internal temperature sensors. |

|AVR128: Setup and use the Analog Comparator |This Application Note serves as an example on how to set up and use the AVR's |

|(4 pages, revision B, updated 5/02) |on-chip Analog Comparator. |

|AVR130: Setup and use the AVR Timers |This Application Note describes how to use the different timers of the AVR. The |

|(16 pages, revision A, updated 2/02) |AT90S8535 is used as an example. The intention of this document is to give a general|

| |overview of the timers, show their possibilities and explain how to configure them. |

| |The code examples will make this clearer and can be used as guidance for other |

| |applications. |

|AVR131: Using the AVR’s High-speed PWM |This application note is an introduction to the use of the high-speed Pulse Width |

|(8 pages, revision A, updated 09/03) |Modulator (PWM) available in some AVR microcontrollers. The assembly code example |

| |provided shows how to use the fast PWM in the ATtiny26. The ATtiny15 also features a|

| |high-speed PWM timer. |

|AVR132: Using the Enhanced Watchdog Timer |This Application Note describes how to utilize the Enhanced Watchdog Timer (WDT) |

|(15 pages, revision B, updated 01/04) |used on new AVR devices. In addition to performing System Reset, the WDT now also |

| |has the ability to generate an interrupt. |

|AVR133: Long Delay Generation Using the AVR |The solution presented here shows how the AVR AT90 series microcontrollers generate |

|Microcontroller |and handle long delays. On-chip timers are used without any software intervention, |

|(8 pages, revision B, updated 01/04) |thus allowing the core to be in a low-power mode during the delay. Since the timers |

| |are clocked by the system clock, there is no need for additional components. |

|AVR134: Real-Time Clock using the Asynchronous|This Application Note describes how to implement a real-time (RTC) on AVR |

|Timer |microcontrollers that features the RTC module. |

|(9 pages, revision F, updated 08/06) | |

|AVR135: Using Timer Capture to Measure PWM |This application note describes how the pulse width and period may be computed using|

|Duty Cycle |the Input Capture Unit (ICP). |

|(12 pages, revision A, updated 10/05) | |

|AVR136: Low-jitter Multi-channel Software PWM |This application note shows how an multi-channel software pulse-width modulation can|

|(5 pages, revision A, updated 05/06) |be implemented. The implementation uses an 8-bit timer with overflow interrupt to |

| |generate 10 PWM channels with very low jitter. |

|AVR138: ATmega32M1 family PSC Cookbook |This application note is an introduction to the use of the Power Stage Controller |

|(17 pages, revision A, updated 03/08) |(PSC) available in ATmega32M1 family. The object of this document is to give a |

| |general overview of the PSC, show its various modes of operation and explain how to |

| |configure them. |

|AVR140: ATmega48/88/168 family run-time |This application note describes how to calibrate the internal RC oscillator via the |

|calibration of the Internal RC oscillator |UART. The method used is based on the calibration method used in the Local |

|(12 pages, revision A, updated 09/06) |Inteconnect Network (LIN) protocol, synchronizing a slave node to a master node at |

| |the beginning of every message frame. |

|AVR151: Setup and use of the SPI |This application note describes how to setup and use the on-chip Serial Peripheral |

|(14 pages, revision B, updated 09/05) |Interface (SPI) of the AVR microcontrollers. |

|AVR155: Accessing I2C LCD Display Using the |This application note includes a 2-wire/TWI driver for bus handling and describes |

|AVR 2-Wire Serial Interface |how to access a Philips I2C LCD driver on a Batron LCD display. |

|(10 pages, revision B, updated 09/05) | |

|AVR180: External Brown-Out Protection |This Application Note shows in detail how to prevent system malfunction during |

|(16 pages, revision B, updated 5/02) |periods of insufficient power supply voltage. |

|AVR182: Zero Cross Detector |This Application Note describes how to implement an efficient zero cross detector |

|(8 pages, revision B, updated 01/04) |for mains power lines using an AVR microcontroller. |

|AVR200: Multiply and Divide Routines |This Application Note lists subroutines for multiplication and division of 8 and |

|(21 pages, revision C, updated 05/06) |16-bit signed and unsigned numbers. |

|AVR2001: AT86RF230 Software Programmer's Guide|This document goes into greater depth than the datasheet when it comes to correct |

|(62 pages, revision A, updated 07/07) |configuration and usage of the features that the radio transceiver provides. |

|AVR2005: Design Considerations for the |The ATAVRRZ502 is designed for evaluation of the Atmel AT86RF230 2.4 GHz radio |

|AT86RF230 |transceiver. This application note describes the design and layout of the so-called |

|(9 pages, revision A, updated 08/07) |“Radio Extender Board” (REB) that are provided with the ATAVRRZ502. |

|AVR2006: Design and characterization of the |This application note describes the PCB antenna used on the Radio Controller Board |

|Radio Controller Boards 2.4GHz PCB Antenna |as a part of the ATAVRRZ200. This kit is designed for the evaluation of the Atmel® |

|(9 pages, revision A, updated 08/07) |AT86RF230 2.45 GHz radio transceiver. |

|AVR2007: IEEE802.15.4 MAC power consumptions |This Application Note describes two ways of estimating the current consumption of |

|for AT86RF230 and ATmega1281 |the AT86RF230 radio and the ATmega1281 microcontroller as a transceiver system for |

|(14 pages, revision A, updated 09/07) |the IEEE802.15.4™ standard. |

|AVR2009: AT86RF230 – Software Programming |The AT86RF230 Software Programming Model (SWPM) shall provide a reference for |

|Model |developers utilizing the radio transceiver AT86RF230 as effective as possible. |

|(4 pages, revision A, updated 08/07) | |

|AVR201: Using the AVR Hardware Multiplier |Examples of using the multiplier for 8-bit arithmetic. |

|(11 pages, revision C, updated 6/02) | |

|AVR202: 16-Bit Arithmetics |This Application Note lists program examples for arithmetic operation on 16-bit |

|(3 pages, revision B, updated 5/02) |values. |

|AVR204: BCD Arithmetics |This Application Note lists routines for BCD arithmetics. |

|(14 pages, revision B, updated 01/03) | |

|AVR220: Bubble Sort |This Application Note implements the Bubble Sort algorithm on the AVR controllers. |

|(5 pages, revision B, updated 5/02) | |

|AVR221: Discrete PID controller |This application note describes a simple implementation of a discrete |

|(10 pages, revision A, updated 05/06) |Proportional-Integral-Derivative (PID) controller. |

|AVR222: 8-Point Moving Average Filter |This Application Note gives an demonstration of how the addressing modes in the AVR |

|(5 pages, revision B, updated 5/02) |architecture can be utlized. |

|AVR223: Digital Filters with AVR |This document focuses on the use of the AVR hardware multiplier, the use of the |

|(24 pages, revision A, updated 9/02) |general purpose registers for accumulator functionality, how to scale coefficients |

| |when implementing algorithms on fixed point architectures, the actual implementation|

| |examples and finally, possible ways to optimize/modify the implementations |

| |suggested. |

|AVR230: DES Bootloader |This application note describes how firmware can be updated securely on AVR |

|(24 pages, revision D, updated 04/05) |microcontrollers with bootloader capabilities. The method includes using the Data |

| |Encryption Standard (DES) to encrypt the firmware. This application note also |

| |supports the Triple Data Encryption Standard (3DES). |

|AVR231: AES Bootloader |This application note describes how firmware can be updated securely on AVR |

|(29 pages, revision D, updated 08/06) |microcontrollers with bootloader capabilities. The method uses the Advanced |

| |Encryption Standard (AES) to encrypt the firmware. |

|AVR236: CRC check of Program Memory |The Application Note describes CRC (Cyclic Redundancy Check) theory and |

|(9 pages, revision B, updated 5/02) |implementation of CRC checking of program memory for secure applications. |

|AVR240: 4x4 Keypad-Wake Up on Keypress |This Application Note describes a simple interface to a 4 x 4 keypad designed for |

|(14 pages, revision D, updated 06/06) |low power battery operation. |

|AVR241: Direct driving of LCD display using |This application note describes software driving of LCDs with one common line, using|

|general I/O |the static driving method. |

|(11 pages, revision A, updated 04/04) | |

|AVR242: 8-bit Microcontroller Multiplexing LED|This Application Note describes a comprehensive system providing a 4 x 4 keypad as |

|Drive & a 4x4 Keypad. |input into a real time clock/timer with two outputs. |

|(26 pages, revision B, updated 5/02) | |

|AVR243: Matrix Keyboard Decoder |This application note describes a software driver interfacing an 8x8 keyboard. The |

|(11 pages, revision A, updated 01/03) |application is designed for low power battery operation. The application also |

| |supports user-defined alternation keys to implement Caps Lock, Ctrl-, Shift- and |

| |Alt-like functionality. |

|AVR244: UART as ANSI Terminal Interface |This application note describes some basic routines to interface the AVR to a |

|(8 pages, revision A, updated 11/03) |terminal window using the UART (hardware or software). |

|AVR245: Code Lock with 4x4 Keypad and I2C™ LCD|This application note describes how to build a code lock with an AVR and a handful |

|(9 pages, revision A, updated 10/05) |of components. The code lock uses a 4x4 keypad for user input, a piezoelectric |

| |buzzer for audible feedback and an LCD for informational output. |

|AVR270: USB Mouse Demonstration |This document describes a simple mouse project. It allows users to quickly test USB |

|(19 pages, revision A, updated 2/06) |hardware using AT90USB without any driver installation. |

|AVR271: USB Keyboard Demonstration |The aim of this document is to describe how to start and implement a USB keyboard |

|(20 pages, revision A, updated 1/06) |application using the STK525 starter kit and FLIP in-system programming software for|

| |AT90USB microcontrollers. |

|AVR272: USB CDC Demonstration UART to USB |The aim of this document is to describe how to start and implement a CDC (Virtual |

|Bridge |Com Port and UART to USB bridge) application using the STK525 starter kit and FLIP |

|(20 pages, revision A, updated 03/06) |in-system programming software for AT90USB microcontrollers. |

|AVR273: USB Mass Storage Implementation |The aim of this document is to describe how to start and implement a USB application|

|(23 pages, revision A, updated 03/06) |based on the Mass Storage (Bulk only) class to transfer data between a PC and user |

| |equipment. For AT90USB microcontrollers. |

|AVR274: Single-wire Software UART |This application note describes a software implementation of a single wire UART. The|

|(14 pages, revision A, updated 03/07) |protocol supports half duplex communication between two devices. The only |

| |requirement is an I/O port supporting external interrupt and a timer compare |

| |interrupt. |

|AVR286: LIN Firmware Base for LIN/UART | |

|Controller | |

|(19 pages, revision A, updated 03/08) | |

|AVR301: C Code for Interfacing AVR® to |This Application Note describes how to In-System-Program (ISP) and Atmel FPGA |

|AT17CXXX FPGA Configuration Memories |Configuration Memory using an Atmel AVR MCU and how to bit bang TWI using port pins |

|(20 pages, revision D, updated 01/04) |on an AT90S8515 AVR MCU |

|AVR303: SPI-UART Gateway |The SPI-UART Gateway application runs on the ATmega8 and allows the developer to |

|(5 pages, revision A, updated 03/05) |test and debug an SPI slave application isolated from the master, using manually |

| |controlled communications via a suitable RS232 terminal. |

|AVR304: Half Duplex Interrupt Driven Software |This Application Note describes how to make a half duplex UART on any AVR device |

|UART |using the 8-bit Timer/Counter0 and an external interrupt. |

|(11 pages, revision A, updated 8/97) | |

|AVR305: Half Duplex Compact Software UART |This Application Note describes how to implement a polled software UART capable of |

|(9 pages, revision C, updated 09/05) |handling speeds up to 614,400 bps on an AT90S1200. |

|AVR306: Using the AVR UART in C |This Application Note describes how to set up and use the UART present in most AVR |

|(3 pages, revision B, updated 7/02) |devices. C code examples are included for polled and interrupt controlled UART |

| |applications |

|AVR307: Half Duplex UART Using the USI Module |The Universal Serial Interface (USI) present in AVR devices like the ATtiny26, |

|(18 pages, revision A, updated 10/03) |ATtiny2313, and ATmega169, is a communication module designed for TWI and SPI |

| |communication. The USI is however not restricted to these two serial communication |

| |standards. It can be used for UART communication as well. |

|AVR308: Software LIN Slave |This Application Note shows how to implement a LIN (Local Interconnect Network) |

|(12 pages, revision B, updated 5/02) |slave task in an 8-bit RISC AVR microcontroller without the need for any external |

| |components. |

|AVR309: Software Universal Serial Bus |This application note describes the USB implementation in a low-cost microcontroller|

|(USB) |through emulation of the USB protocol in the firmware. Supports Low Speed USB (1.5 |

|(23 pages, revision B, updated 02/06) |Mbit/s) in accordance with USB2.0. |

|AVR310: Using the USI module as a I2C master |This Application Note describes how to use the USI for TWI master communication. |

|(8 pages, revision B, updated 09/04) | |

|AVR311: Using the TWI module as I2C slave |This application note describes a TWI slave implementation, in form of a |

|(12 pages, revision D, updated 10/04) |fullfeatured driver and an example of usage for this driver. |

|AVR312: Using the USI module as a I2C slave |This Application Note describes how to use the USI for TWI slave communication. |

|(9 pages, revision C, updated 09/05) | |

|AVR313: Interfacing the PCAT Keyboard |Most microcontrollers requires some kind of human interface. This Application Note |

|(13 pages, revision B, updated 5/02) |describes one way of doing this using a standard PC AT Keyboard. |

|AVR314: DTMF Generator |This Application Note describes how DTMF (Dual-Tone Multiple Frequencies) signaling |

|(8 pages, revision B, updated 5/02) |can be implemented using any AVR microcontroller with PWM and SRAM. |

|AVR315: Using the TWI module as I2C master |This Application Note describes a TWI master implementation, in form of a |

|(11 pages, revision B, updated 09/04) |fullfeatured driver and an example of usage for this driver. |

|AVR316: SMBus Slave Using the TWI Module |This application note provides background information on the SMBus specification and|

|(20 pages, revision A, updated 10/05) |the AVR TWI module, an interrupt-driven SMBus slave driver and a sample |

| |implementation. |

|AVR317: Using the USART on the ATmega48/88/168|Some applications might need more than one SPI module. This can be achieved using |

|as a SPI master |the new Master SPI Mode of the ATmega48/88/168 USART. |

|(10 pages, revision A, updated 09/04) | |

|AVR318: Dallas 1-Wire® master |This application note shows how a 1-Wire master can be implemented on an AVR, either|

|(21 pages, revision A, updated 09/04) |in software only, or utilizing the U(S)ART module. |

|AVR319: Using the USI module for SPI |This application note describes a SPI interface implementation, in form of a |

|communication |fullfeatured driver and an example of usage for this driver. |

|(8 pages, revision A, updated 09/04) | |

|AVR320: Software SPI Master |The Synchronous Peripheral Interface (SPI) is gaining rapidly in popularity, |

|(5 pages, revision C, updated 09/05) |allowing faster communication than I2C. For the smaller AVR Microcontrollers, which |

| |do not have hardware SPI, this Application Note describes a set of low-level |

| |routines for software implementation. These can be used as the basis for |

| |communicating with Atmel's 25xxx family of Serial EEPROM memories, as well as a host|

| |for other peripheral ICs such as display drivers. |

|AVR322: LIN Protocol Implementation on Atmel |The LIN protocol is introduced in this application note, along with its |

|AVR Microcontrollers |implementation on Atmel Automotive AVR microcontrollers. |

|(21 pages, revision A, updated 12/05) | |

|AVR323: Interfacing GSM modems |This application note describes how to use an AVR to control a GSM modem in a |

|(21 pages, revision A, updated 02/06) |cellular phone. The interface between modem and host is a textual protocol called |

| |Hayes AT-Commands. |

|AVR325: High-Speed Interface to Host EPP |This Application Note describes a method for high-speed bidirectional data transfer |

|Parallel Port |between an AVR Microcontroller and an of-the-shelf IBM (R) PC-compatible desktop |

|(7 pages, revision A, updated 2/02) |computer. The interface provides an 8-bit parallel data path, yeilding data transfer|

| |rates up to 60 kilobytes/second with an AVR processor operating at 4 MHz. This is an|

| |order of magnitude faster than a standard RS-232 connection while not requiring |

| |complex external interface hardware (like USB or SCSI). |

|AVR328: USB Generic HID Implementation |The aim of this document is to describe how to start and implement a USB |

|(20 pages, revision A, updated 01/06) |application, based on the HID class, to transfer data between a PC and user |

| |equipment, using AT90USB microcontrollers. |

|AVR335: Digital Sound Recorder with AVR and |This Application Note describes how to record, store and play back sound using any |

|DataFlash |AVR MCU with A/D converter, the AT45DB161 DataFlash memory and a few extra |

|(20 pages, revision C, updated 04/05) |components. |

|AVR336: ADPCM Decoder |This application note focuses on decoding the ADPCM signal, Adaptive Differential |

|(20 pages, revision A, updated 11/04) |Pulse Code Modulation, and turning it to a signal suitable for loudspeakers. |

|AVR340: Direct Driving of LCD Using General |This application note describes the operation of a Multiplexed LCD. Also discussed |

|Purpose IO |are electrical waveforms and connections needed by a LCD, as well as a C-program to |

|(15 pages, revision A, updated 09/07) |operate the LCD. The result is an excellent low cost combination and a starting |

| |point for many products. |

|AVR341: Four and five-wire Touch screen |Resistive 4- and 5-wire touch systems belong to the most popular and most common |

|Controller |touch screen technologies. AVR® microcontrollers are excellent in this type of |

|(19 pages, revision A, updated 07/07) |application due their analog features combined with low power modes, required in |

| |e.g. portable battery powered applications. |

|AVR350: Xmodem CRC Receive Utility for AVR |The Xmodem protocol was created years ago as a simple means of having two computers |

|(7 pages, revision D, updated 1/08) |talk to each other. With its half-duplex mode of operation, 128-byte packets, |

| |ACK/NACK responses and CRC data checking, the Xmodem has found its way into many |

| |applications. |

|AVR360: Step Motor Controller |This Application Note describes how to implement a compact size and high-speed |

|(4 pages, revision B, updated 4/03) |interrupt driven step motor controller. |

|AVR400: Low Cost A/D Converter |This Application Note targets cost and space critical applications that need an ADC.|

|(6 pages, revision B, updated 5/02) | |

|AVR401: 8-Bit Precision A/D Converter |This Application Note describes how to perform a kind of dual slope A/D conversion |

|(12 pages, revision C, updated 2/03) |with an AVR Microcontroller. |

|AVR410: RC5 IR Remote Control Receiver |This Application Note describes a receiver for the frequently used Philips/Sony RC5 |

|(10 pages, revision B, updated 5/02) |coding scheme |

|AVR411: Secure Rolling Code Algorithm for |This application note describes a Secure Rolling Code Algorithm transmission |

|Wireless Link |protocol for use in a unidirectional wireless communication system. |

|(22 pages, revision A, updated 04/06) | |

|AVR414: User Guide - ATAVRRZ502 - Accessory |This application note describes the ATAVRRZ502 Accessory Kit (RZ502). The RZ502 is |

|Kit |designed for evaluation of the Atmel AT86RF230 2.4 GHz radio transceiver. This radio|

|(21 pages, revision B, updated 12/06) |transceiver fully complies with the IEEE 802.15.4™ standard and targets low-power |

| |wireless technologies within home, building and industrial automation such as |

| |ZigBee™. |

|AVR415: RC5 IR Remote Control Transmitter |In this application note the widely used RC5 coding scheme from Philips will be |

|(5 pages, revision A, updated 5/03) |described and a fully working remote control solution will be presented. This |

| |application will use the ATtiny28 AVR microcontroller for this purpose. |

|AVR433: Power Factor Corrector |This application note explains how to develop a stand alone PFC (Power Factor |

|(PFC) with AT90PWM2/2B Re-triggable High Speed|Corrector) with the AT90PWM2. |

|PSC | |

|(7 pages, revision A, updated 03/06) | |

|AVR434: PSC Cookbook |This application note is an introduction to the use of the Power Stage Controllers |

|(32 pages, revision A, updated 10/06) |(PSC) available in some AVR microcontrollers. The object of this document is to give|

| |a general overview of the PSC, show their various modes of operation and explain how|

| |to configure them. The code examples will make this clearer and can be used as guide|

| |for other applications. The examples are developed and tested on AT90PWM3. |

|AVR435: BLDC/BLAC Motor Control Using a Sinus |BLDC motors are designed to be supplied with a trapezoidal shape current, |

|Modulated PWM Algorithm |respectively BLAC motors are designed to be supplied with a sinusoidal shape |

|(12 pages, revision A, updated 09/06) |current. This application note proposes an implementation using the latter with an |

| |ATAVRMC100 board mounted with an AT90PWM3B. |

|AVR440: Sensorless Control of Two-Phase |This application note describes how to implement the electronics and microcontroller|

|Brushless DC Motor |firmware to control a two-phase BLDC motor using an 8-bit AVR microcontroller. The |

|(16 pages, revision A, updated 09/05) |implementation is based on the small and low cost ATtiny13. |

|AVR441: Intelligent BLDC Fan Controller with |This application note describes how to integrate a low-cost, feature-rich AVR |

|Temperature Sensor and Serial Interface |microcontroller into the commutator electronics of a BLDC fan. The ATtiny25 is as an|

|(26 pages, revision A, updated 09/05) |example. |

|AVR442: PC Fan Control using ATtiny13 |This application note describes the operation of 12 volt DC cooling fans typically |

|(10 pages, revision A, updated 09/05) |used to supply cooling air to electronic equipment, and controlling them with the |

| |ATtiny13. |

|AVR443: Sensor-based control of three phase |This application note described the control of a BLDC motor with Hall effect |

|Brushless DC motor |position sensors. The implementation includes both direction and open loop speed |

|(8 pages, revision B, updated 02/06) |control. |

|AVR444: Sensorless control of 3-phase |This application note describes how to implement sensorless commutation control of a|

|brushless DC motors |3-phase brushless DC (BLDC) motor with the low cost ATmega48 microcontroller. |

|(14 pages, revision A, updated 10/05) | |

|AVR446: Linear speed control of stepper motor |This application note describes how to implement an exact linear speed controller |

|(15 pages, revision A, updated 06/06) |for stepper motors. It also presents a driver with a demo application, capable of |

| |controlling acceleration as well as position and speed. |

|AVR447:Sinusoidal driving of three-phase |This application note describes the implementation of sinusoidal driving for |

|permanent magnet motor using ATmega48/88/168 |threephase brushless DC motors with hall sensors. The implementation can easily be |

|(26 pages, revision A, updated 06/06) |modified to use other driving waveforms such as sine wave with third harmonic |

| |injected. |

|AVR448: Control of High Voltage 3-Phase BLDC |Using a microcontroller as a control device, 3-phase motors can be used for a wide |

|Motor |range of applications. Motor sizes below one horsepower are efficiently controlled |

|(10 pages, revision C, updated 05/06) |in speed, acceleration, and power levels. |

|AVR449: Sinusoidal driving of 3-phase |This application note describes the implementation of sinusoidal driving for |

|permanent magnet motor using ATtiny261/461/861|threephase brushless DC motors with hall sensors on the ATtiny261/461/861 |

|(24 pages, revision B, updated 10/07) |microcontroller family. |

|AVR450: Battery Charger for SLA, NiCd, NiMH |This Reference Design is a battery charger that fully implements the latest |

|and Li-ion Batteries |technology in battery charger designs. The charger can fast-charge all popular |

|(43 pages, revision C, updated 09/06) |battery types without any hardware modifications. The charger design contains |

| |complete libraries for SLA, NiCd, NiMH and Li-Ion batteries. |

|AVR451: BC100 Hardware User's Guide |The BC100 is reference design/development kit that targets especially battery |

|(12 pages, revision A, updated 09/07) |charging. As the kit is general in nature it can be used to charge various battery |

| |types, as long as the requirements to charging voltage and currents are within the |

| |output range that the kit offers (1.2V to 38V, max 5A). |

|AVR452: Sensor-based Control of Three Phase |This application note describes the control of a BLDC motor with Hall effect |

|Brushless DC Motors Using AT90CAN128/64/32 |position sensors. The implementation includes both direction and open loop speed |

|(10 pages, revision A, updated 03/06) |control. |

|AVR453: Smart Battery Reference Design |This application note describes the implementation of a smart battery using the |

|(37 pages, revision C, updated 02/06) |Atmel ATmega406 microcontroller. The ATmega406 AVR microcontroller has been created |

| |with smart battery applications in mind. The feature set includes high accuracy |

| |ADCs, a TWI interface for SMBus communications, as well as independent hardware |

| |features that can protect the battery from incorrect use. |

|AVR454: Users Guide - ATAVRSB100 - Smart |This document describes the ATAVRSB100 smart battery development kit. The SB100 is |

|Battery Development kit |designed for evaluation of the Atmel AVR ATmega406, which is designed for smart |

|(20 pages, revision D, updated 06/06) |battery applications. The ATmega406 is designed for 2, 3 or 4 cell Lithium-Ion |

| |battery packs. |

|AVR458: Charging Lithium-Ion Batteries with |This application note is based on the ATAVRBC100 Battery Charger reference design |

|ATAVRBC100 |(BC100) and focuses on how to use the reference design to charge Lithium-Ion |

|(30 pages, revision A, updated 09/07) |(Li-Ion) batteries. The firmware is written entirely in C language (using IAR® |

| |Systems Embedded Workbench) and is easy to port to other AVR® microcontrollers. |

|AVR460: Embedded Web Server |This Reference Design demonstrates how embedded applications can be connected |

|(53 pages, revision C, updated 5/02) |directly to the internet. |

|AVR461: Quick Start Guide for the Embedded |This Quick Start Guide gives an introduction to using the AVR Embedded Internet |

|Internet Toolkit |Toolkit and can be used as a guide for getting started with embedded internet |

|(16 pages, revision B, updated 5/02) |applications. |

|AVR462: Reducing the Power Consumption of |This Application Note describes a small modification to the AVR Embedded Internet |

|AT90EIT1 |Toolkit. This will reduce the power consumption and the operating temperature of the|

|(3 pages, revision A, updated 3/02) |board. |

|AVR463: Charging Nickel-Metal Hydride |This application note is based on the ATAVRBC100 Battery Charger reference design |

|Batteries with ATAVRBC100 |(BC100) and focuses on how to use the reference design to charge Nickel-Metal |

|(26 pages, revision A, updated 09/07) |Hydride (NiMH) batteries. The firmware is written entirely in C language (using IAR |

| |Systems Embedded Workbench) and is easy to port to other AVR® microcontrollers. |

|AVR465: Energy Meter |This application note describes a single-phase power/energy meter with tamper logic.|

|(40 pages, revision A, updated 07/04) |The design measures active power, voltage, and current in a single-phase |

| |distribution environment. The meter is able to detect, signal, and continue to |

| |measure reliably even when subject to external attempts of tampering. |

|AVR480: Anti-Pinch System for Electrical |This application note provides an example of how to create an anti-pinch system for |

|Window |electrical windows. Based on Speed and Current parameters measured out of the window|

|(19 pages, revision B, updated 12/06) |DC motor, it benefits from the internal digital and analog resources of the AVR |

| |ATmegax8 family to support the FMVSS118 and 20/64/ECC standards. |

|AVR481: DB101 Hardware User's Guide |The DB101 is a graphical LCD module. It demonstrates how to use an AVR® |

|(10 pages, revision B, updated 09/07) |microcontroller to control a 128x64 pixel graphical LCD. |

|AVR482: DB101 Software User's Guide |The DB101 firmware is a complex piece of software that uses a number of drivers and |

|(13 pages, revision A, updated 09/07) |libraries to implement a set of applications to the user. This document gives a |

| |brief introduction to every driver, library, and application. |

|AVR483: DB101 Firmware - Getting Started |This application explains, step by step, how to create a new firmware project, add |

|(17 pages, revision A, updated 2/08) |the bare essentials for a basic graphics application, build it and run it on the |

| |DB101. |

|AVR492: Brushless DC Motor control using |This application note describes how to implement a brushless DC motor control in |

|AT90PWM3/3B |sensor mode using AT90PWM3/3B AVR microcontroller. |

|(26 pages, revision B, updated 05/07) | |

|AVR493: Sensorless Commutation of Brushless DC|This application note describes how to implement a sensorless commutation of BLDC |

|Motor |motors with the ATAVRMC100 developement kit. |

|(BLDC) using AT90PWM3/3B and ATAVRMC100 | |

|(20 pages, revision B, updated 12/06) | |

|AVR494: AC Induction Motor Control Using the |Induction motors can only run at their rated speed when they are connected to the |

|constant V/f Principle and a Natural PWM |main power supply. This is the reason why variable frequency drives are needed to |

|Algorithm |vary the rotor speed of an induction motor. The aim of this application note is to |

|(12 pages, revision A, updated 12/05) |show how these techniques can be easily implemented on a AT90PWM3, an AVR RISC based|

| |microcontroller dedicated to power control applications. |

|AVR495: AC Induction Motor Control Using the |In a previous application note [AVR494], the implementation on an AT90PWM3 of an |

|Constant V/f Principle and a Space-vector PWM |induction motor speed control loop using the constant Volts per Hertz principle and |

|Algorithm |a natural pulse-width modulation (PWM) technique was described. A more sophisticated|

|(11 pages, revision A, updated 12/05) |approach using a space vector PWM instead of the natural PWM technique is known to |

| |provide lower energy consumption and improved transient responses. The aim of this |

| |application note is to show that this approach, though more computationally |

| |intensive, can also be implemented on an AT90PWM3. |

|AVR910: In-System Programming |This Application Note shows how to design the system to support in-system |

|(10 pages, revision C, updated 11/00) |programming. |

|AVR911: AVR Open-source Programmer |The AVR Open-source Programmer (AVROSP) is an AVR programmer application that |

|(13 pages, revision A, updated 07/04) |replaces the AVRProg tool included in AVR Studio. It is a command-line tool, using |

| |the same syntax as the STK500 and JTAGICE command-line tools in AVR Studio. |

|AVR914: CAN & UART based Bootloader for |This document describes the UART & CAN bootloader functionality as well as the |

|AT90CAN32, AT90CAN64, & AT90CAN128 |serial protocols to efficiently perform operations on the on chip Flash & EEPROM |

|(28 pages, revision B, updated 01/06) |memories. This bootloader example will help you develop your own bootloader with |

| |custom security levels adapted to your own applications. |

|Modification for Rev. B to Rev C. STK200 | |

|Errata Sheet | |

|Understanding the AVR ICEPRO I/O Registers |This Application Note describes the I/O Register views seen in AVR Studio when using|

|(9 pages, revision A, updated 4/98) |the ICEPRO emulator. |

|Using the STK500 as an AT89C51Rx2 Target Board|This Application Note explains how to use the STK500 as a development board for 8051|

|(7 pages, updated 7/04) |Architecture microcontrollers. |

|AVR078: STK524 User's Guide |The STK524 kit is made of the STK524 board, AVRCANAdapt and AVRLINAdapt boards. The |

|(20 pages, revision A, updated 02/08) |STK524 board is a top module for the STK500 development board from Atmel |

| |Corporation. It is designed to support the ATmega32M1, ATmega32C1 products and |

| |future compatible derivatives. |

|AVR080: Replacing ATmega103 by ATmega128 |This Application Note describes issues to be aware of when migrating from the |

|(12 pages, revision D, updated 01/04) |ATmega103 to the ATmega128 Microcontroller. |

|AVR081: Replacing AT90S4433 by ATmega8 |This Application Note describes issues to be aware of when migrating from the |

|(11 pages, revision D, updated 07/03) |AT90S4433 to the ATmega8 Microcontroller. |

|AVR082: Replacing ATmega161 by ATmega162 |This Application Note describes issues to be aware of when migrating from the |

|(8 pages, revision D, updated 01/04) |ATmega161 to the ATmega162 Microcontroller. |

|AVR083: Replacing ATmega163 by ATmega16 |This Application Note describes issues to be aware of when migrating from the |

|(8 pages, revision F, updated 09/05) |ATmega163 to the ATmega16 Microcontroller. |

|AVR084: Replacing ATmega323 by ATmega32 |This Application Note describes issues to be aware of when migrating from the |

|(6 pages, revision C, updated 7/03) |ATmega323 to the ATmega32 Microcontroller. |

|AVR085: Replacing AT90S8515 by ATmega8515 |This Application Note describes issues to be aware of when migrating from the |

|(10 pages, revision C, updated 01/04) |AT90S8515 to the ATmega8515 Microcontroller. |

|AVR086: Replacing AT90S8535 by ATmega8535 |This Application Note describes issues to be aware of when migrating from the |

|(10 pages, revision B, updated 7/03) |AT90S8535 to the ATmega8535 Microcontroller. |

|AVR087: Migrating between ATmega8515 and |This application note is a guide to help current ATmega8515 users convert existing |

|ATmega162 |designs to ATmega162. The information given will also help users migrating from |

|(5 pages, revision B, updated 07/03) |ATmega162 to ATmega8515. |

|AVR088: Migrating between ATmega8535 and |This application note is a guide to help current ATmega8535 users convert existing |

|ATmega16 |designs to ATmega16. The information given will also help users migrating from |

|(3 pages, revision C, updated 01/04) |ATmega16 to ATmega8535. |

|AVR089: Migrating between ATmega16 and |This application note is a guide to help current ATmega16 users convert existing |

|ATmega32 |designs to ATmega32. The information given will also help users migrating from |

|(3 pages, revision A, updated 06/03) |ATmega32 to ATmega16. |

|AVR090: Migrating between ATmega64 and |This application note is a guide to help current ATmega64 users convert existing |

|ATmega128 |designs to ATmega128. The information given will also help users migrating from |

|(3 pages, revision B, updated 12/05) |ATmega128 to ATmega64. |

|AVR091: Replacing AT90S2313 by ATtiny2313 |This application note is a guide to help current AT90S2313 users convert existing |

|(11 pages, revision A, updated 10/03) |designs to ATtiny2313. |

|AVR092: Replacing ATtiny11/12 by ATtiny13 |This application note is a guide to help current ATtiny11/12 users convert existing |

|(7 pages, revision A, updated 10/03) |designs to ATtiny13. |

|AVR093: Replacing AT90S1200 by ATtiny2313 |This application note is a guide to help current AT90S1200 users convert existing |

|(7 pages, revision A, updated 10/03) |designs to ATtiny2313. |

|AVR094: Replacing ATmega8 by ATmega88 |This application note is a guide to help current ATmega8 users convert existing |

|(11 pages, revision C, updated 04/05) |designs to ATmega88. |

|AVR095: Migrating between ATmega48, ATmega88 |This application note describes issues to be aware of when migrating between the |

|and ATmega168 |ATmega48, ATmega88 and ATmega168 microcontrollers. |

|(5 pages, revision A, updated 02/04) | |

|AVR096: Migrating from ATmega128 to AT90CAN128|This application note is a guide to help current ATmega128 users convert existing |

|(17 pages, updated 03/04) |designs to AT90CAN128. |

|AVR097: Migration between ATmega128 and |ATmega128 and ATmega1281/ATmega2561 are designed to be a pin and functionality |

|ATmega1281/ATmega2561 |compatible sub family. This application note points out the differences to be aware |

|(7 pages, revision E, updated 07/06) |of when porting code between the devices. |

|AVR098: Migration between ATmega169, ATmega329|The ATmega169, ATmega329 and ATmega649 are designed to be a pin and functionality |

|and ATmega649 |compatible sub family, this application note summarizes the differences between |

|(5 pages, revision D, updated 02/07) |them. |

|AVR099: Replacing AT90S4433 by ATmega48 |This application note is a guide to assist current AT90S4433 users in converting |

|(11 pages, revision A, updated 07/04) |existing designs to ATmega48. ATmega48 is not designed to be a replacement for |

| |AT90S4433, but is pin compatible and has a very similar feature set. |

|AVR500: Migration between ATmega64 and |This application note is a guide to assist a current ATmega64 user in converting |

|ATmega645 |existing designs to ATmega645, and vice versa. ATmega64 and ATmega645 coexisting |

|(6 pages, revision A, updated 07/04) |devices and they are not designed to be a replacement device for each other |

|AVR501: Replacing ATtiny15 with ATtiny25 |This application note is a guide to assist users of ATtiny15 in converting existing |

|(9 pages, revision A, updated 03/05) |designs to ATtiny25. |

|AVR502: Migration between ATmega165 and |The ATmega165 and ATmega325 are designed to be a pin and functionality compatible |

|ATmega325 |sub family, but there may be a need for some minor modifications in the application |

|(4 pages, revision B, updated 12/05) |when porting code between the devices. |

|AVR503: Replacing AT90S/LS2323 or AT90S/LS2343|This application note is a guide to assist users of AT90S/LS2323 and, AT90S/LS2343 |

|with ATtiny25 |converting existing designs to ATtiny25. |

|(8 pages, revision B, updated 09/05) | |

|AVR504: Migrating from ATtiny26 to |This application note is a guide to assist users of ATtiny26 in converting existing |

|ATtiny261/461/861 |designs to ATtiny261. The document will also assist ATtiny26 users to migrate to the|

|(9 pages, revision A, updated 10/06) |ATtiny461 and ATtiny861 devices, which are members of the same family as the |

| |ATtiny261 offering larger memories. |

|AVR505: Migration between ATmega16/32 and |This application note summarizes the differences between ATmega16/32 and |

|ATmega164P/324P/644(P) |ATmega164P/324P/644(P) and is a guide to assist current ATmega16/32 users in |

|(11 pages, revision C, updated 06/06) |converting existing designs to the ATmega164P/324P/644(P). |

|AVR506: Migration from ATmega169 to ATmega169P|The ATmega169P is designed to be pin and functionality compatible with ATmega169, |

|(6 pages, revision C, updated 02/07) |and this application note summarizes the differences between them. |

|AVR507: Migration from ATmega329 to ATmega329P|The ATmega329P is designed to be pin and functionality compatible with ATmega329, |

|(5 pages, revision B, updated 11/06) |but because of improvements mentioned in this application note there may be a need |

| |for minor modifications in the application when migrating from ATmega329 to |

| |ATmega329P. |

|AVR508: Migration from ATmega644 to ATmega644P|The ATmega644P is designed to be pin and functionality compatible with ATmega644, |

|(5 pages, revision A, updated 07/06) |but because of improvements mentioned in this application note there may be a need |

| |for minor modifications in the application when migrating from ATmega644 to |

| |ATmega644P. |

|AVR509: Migration between ATmega169P and |The ATmega169P and ATmega329P are designed to be a pin and functionality compatible |

|ATmega329P |sub family, but because of the differences in memory sizes and other issues |

|(4 pages, revision B, updated 11/06) |mentioned in this application note there may be a need for minor modifications in |

| |the application when porting code between the devices. |

|AVR510: Migration between ATmega329/649 and |The ATmega3290/6490 are designed to be functionality compatible with ATmega329/649, |

|ATmega3290/6490 |but with 4x40 Segment LCD driver instead of 4x25 segments. Because of the extra pins|

|(3 pages, revision A, updated 07/06) |needed for the LCD control they are not pin compatible, and there will be need for |

| |modifications when porting code between the devices. This migration note describes |

| |the necessary modifications. |

|AVR511: Migration from ATmega3290 to |The ATmega3290P is designed to be pin and functionality compatible with ATmega3290, |

|ATmega3290P |but because of improvements mentioned in this application note there may be a need |

|(5 pages, revision B, updated 11/06) |for minor modifications in the application when migrating from ATmega3290 to |

| |ATmega3290P. |

|AVR512: Migration from ATmega48/88/168 to |The ATmega48P/88P/168P is designed to be pin and functionality compatible with |

|ATmega48P/88P/168P |ATmega48/88/168, but because of improvements mentioned in this application note |

|(5 pages, revision A, updated 07/06) |there may be a need for minor modifications in the application when migrating from |

| |ATmega48/88/168 to ATmega48P/88P/168P. |

|AVR513: Migration from ATmega165 to ATmega165P|The ATmega165P is designed to be pin and functionality compatible with ATmega165, |

|(6 pages, revision A, updated 03/07) |and this application note summarizes the differences between them. |

|AVR514: Migration from ATmega325 to ATmega325P|The ATmega325P is designed to be pin and functionality compatible with ATmega325, |

|(5 pages, revision A, updated 03/07) |but because of improvements mentioned in this application note there may be a need |

| |for minor modifications in the application when migrating from ATmega329 to |

| |ATmega329P. |

|AVR515: Migrating from ATmega48/88/168 and |This application note is a guide to assist users of ATmega48/88/168 and |

|ATmega48P/88P/168P/328P to ATtiny48/88 |ATmega48P/88P/168P/328P in converting existing designs to ATtiny48/88. |

|(10 pages, revision A, updated 09/07) | |

|Migrating from T89C51CC01 & AT89C51CC03, to |This application note is a guide, on the CAN controller, to help current T89C51CC01,|

|AT90CAN128, AT90CAN64, AT90CAN32 |AT89C51CC03 users convert existing designs to AT90CAN128, AT90CAN64, AT90CAN32. |

|(7 pages, revision A, updated 06/05) | |

|AVR1000: Getting Started Writing C-code for |Short development times and high quality requirements on electronic products has |

|XMEGA |made high-level programming languages a requirement. The choice of programming |

|(15 pages, revision A, updated 2/08) |language alone does not ensure high readability and reusability; good coding style |

| |does. Therefore the XMEGA™ peripherals, header files and drivers are designed with |

| |this in mind. |

|AVR1001: Getting Started With the XMEGA Event |The XMEGA™ event system is a set of features that allows peripherals to interact |

|System |without intervention from the CPU. Several peripheral modules can generate events, |

|(8 pages, revision A, updated 2/08) |often on the same conditions as interrupt requests. |

|AVR1003: Using the XMEGA Clock System |The XMEGA™ Clock System is a set of highly flexible modules that provides a large |

|(10 pages, revision A, updated 2/08) |portfolio of internal and external clock sources. An internal high-frequency PLL and|

| |a flexible prescaler block provide a vast amount of possible clock source |

| |configurations, both for the CPU and peripherals. |

|AVR1301: Using the XMEGA DAC |This application note describes the basic functionality of the XMEGA DAC with code |

|(10 pages, revision A, updated 2/08) |examples to get up and running quickly. A driver interface written in C is included |

| |as well. |

|AVR1302: Using the XMEGA Analog Comparator |This application note describes the basic functionality of the XMEGA AC with code |

|(6 pages, revision A, updated 2/08) |examples to get up and running quickly. A driver interface written in C is included |

| |as well. |

|AVR1303: Use and configuration of IR |This application note describes the basic functionality of the IRCOM module in the |

|communication module |AVR® XMEGA™ with code examples to get up and running quickly. A driver interface |

|(5 pages, revision B, updated 03/08) |written in C is included as well. |

|AVR1304: Using the XMEGA DMA Controller |This application note describes the basic functionality of the XMEGA DMAC with code |

|(10 pages, revision A, updated 2/08) |examples to get up and running quickly. A driver interface written in C is included |

| |as well. |

|AVR1305: XMEGA Interrupts and the Programmable|The XMEGA™ Interrupt mechanisms and the Programmable Multi-level Interrupt |

|Multi-level Interrupt Controller |Controller (PMIC) are described in this application note. The application note also |

|(6 pages, revision A, updated 2/08) |offers a C code example that shows how the PMIC can be accessed. |

|AVR1306: Using the XMEGA Timer/Counter |The XMEGA™ Timer/Counter modules are true 16-bit Timer/Counters with Input Capture |

|(17 pages, revision A, updated 2/08) |and Pulse Width Modulation (PWM) functionality. This application note gives an |

| |introduction on how to use the XMEGA Timer/Counter modules for timing, Input Capture|

| |and PWM. |

|AVR1307: Using the XMEGA USART |This application note describes how to set up and use the USART in asynchronous mode|

|(7 pages, revision A, updated 2/08) |in the XMEGA™. C code drivers and examples are included for both polled and |

| |interrupt controlled USART applications. |

|AVR1308: Using the XMEGA TWI |This application note describes how to set up and use the TWI module in the XMEGA. C|

|(11 pages, revision A, updated 2/08) |code drivers and examples are included for both master and slave applications. |

|AVR1309: Using the XMEGA SPI |This application note describes how to set up and use the SPI module in the AVR® |

|(7 pages, revision A, updated 2/08) |XMEGA. Both interrupt controlled and polled C code drivers and examples are included|

| |for master and slave applications. |

|AVR1312: Using the XMEGA External Bus |This application note describes the basic functionality of the XMEGA EBI with code |

|Interface |examples to get up and running quickly. A driver interface written in C is included |

|(10 pages, revision A, updated 2/08) |as well. |

|AVR1313: Using the XMEGA IO Pins and External |This application note gives an introduction to the usage of the highly configurable |

|Interrupts |XMEGA™ I/O pins and external interrupts. |

|(9 pages, revision A, updated 2/08) | |

|AVR1314: Using the XMEGA Real Time Counter |This application note covers the use of the 16-bit Real Time Counter (RTC) in the |

|(6 pages, revision A, updated 2/08) |XMEGA™. |

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download