AVR Microcontroller - Tutorial
The AVR is a modified Harvard architecture 8-bit RISC single chip microcontroller which was developed by Atmel in 1996. 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.
All Atmel AVR microcontrollers require some software to be useful. To create and debug this software, you can use an integrated development environment (IDE), such as Atmel Studio 6. This IDE contains everything you need to create, compile and debug code, and it will let you download your code straight into the on-chip Flash of the AVR microcontroller - without any other software components.
The AVR architecture was conceived by two students at the Norwegian Institute of Technology Alf-Egil Bogen and Vegard Wollan.
The original AVR MCU was developed at a local ASIC house in Trondheim, Norway called Nordic VLSI at the time, now Nordic Semiconductor, where Bogen and Wollan were working as students. It was known as a µRISC (Micro RISC) and was available as silicon IP/building block from Nordic VLSI. When the technology was sold to Atmel from Nordic VLSI, the internal architecture was further developed by Bogen and Wollan at Atmel Norway, a subsidiary of Atmel. The designers worked closely with compiler writers at IAR Systems to ensure that the instruction set provided for more efficient compilation of high-level languages. Atmel says that the name AVR is not an acronym and does not stand for anything in particular. The creators of the AVR give no definitive answer as to what the term "AVR" stands for. However, it is commonly accepted that AVR stands for Alf (Egil Bogen) and Vegard (Wollan)'s Risc processor.
I will try to teach you the use of AVR’s built-in peripherals.
Timer - Blinking LED using timer modules
USART - Serial Port Interfacing
ADC - Analog to Digital Conversion
Serial Peripheral Interface Tutorial
SPI - MAX7221 - 7-Segment Driver
Software SPI - 6610 LCD Interfacing



