The AVR is a Modified Harvard architecture 8-bit RISC single chip microcontroller. It was developed by Atmel in 1996. Harvard architecture means that the program and data are stored in separate memory spaces which are accessible simultaneously. The AVR was one of the first microcontroller families to use on-chip flash memory for program storage, as opposed to One-Time Programmable ROM, EPROM, or EEPROM used by other microcontrollers at the time. Flash memory is a nonvolatile (persistent on power-down) programmable memory.
Low power and high performance AVR microcontrollers can handle demanding 8 and 16-bit applications. With a single cycle instruction RISC CPU, picoPower technology, and a rich feature set, the AVR architecture ensures easy application development and fast code execution combined with the lowest possible power consumption.
The well-defined I/O structure limits the need for external components and reduce development cost. A variety of timers, SPIs, UARTs, internal oscillators, pull-up resistors, pulse width modulation, Analog Comparators, ADCs and Watch-Dog Timers are some of the features available for engineers. It is interesting to note that most instructions only take a single clock cycle to execute and there is no internal clock division. Whether you program in C, Pascal or assembly language, the tuned AVR instructions decrease program size and development time. The AVR processor features a real life stack and its instruction set was designed and optimized for use with high level languages - it is easy to program these chips using C. AVR microcontrollers may be programmed using assembly or a higher level language. Learning to program it in assembly language is a good idea, as it gives you in depth understanding of the internal operations.
A comprehensive collection of application notes also kick-start problematic tasks. Since the introduction of the classic AT90S1200 device with on-chip in-system programmable Flash and EEPROM memory in 1997, today's large AVR microcontroller portfolio consists of devices sharing a single CPU architecture. This makes it easy to find the AVR microcontroller for almost any application.
Learn only one tool chain supporting all AVR devices and development tools, including Starter Kits, Evaluation Kits and Reference Designs.