AVR microcontrollers

This is an old revision of this page, as edited by 81.243.239.210 (talk) at 16:48, 8 April 2005. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

The Atmel AVR is a family of RISC microcontrollers from Atmel. The AVR architecture was conceived by two students at the Norwegian Institute of Technology (NTH) and further refined and developed at Atmel Norway, the Atmel daughter company founded by the two chip architects.

The AVR instruction set is more regular than that of many other 8-bit microcontrollers (PIC for example), but not strictly orthogonal. Compatibility across models is preserved.

The AVR was designed at the outset for efficient execution of compiled C code. Thus some instructions, such as 'add immediate', are strangely missing (you have to 'subtract immediate' the complement instead), while others, such as 'compare with carry', are included.

The AVR is a Harvard architecture CPU. It has 32 8-bit registers. Some instructions only operate on a subset of these registers. Memory access is via Load/Store instructions. Unlike the PIC, the Stack is located in RAM and isn't strictly limited to a fixed size.

Like the PIC, it has a dedicated hobbyist following (exemplified by the AVRFreaks Internet forum), largely due to the existence of inexpensive/free development tools, for instance a port of the GNU GCC tools.

The acronym "AVR" has been reported/rumoured to stand for Advanced Virtual RISC and/or the initials of the two company founders—Alf Egil Bogen and Vegard Wollan—who for their part have chosen to let the matter rest unresolved, giving mostly shadowy answers when asked directly.