What is AVR?
AVR Stands for Alf (Egil Bogen) and Vegard (Wollan) RISC processor.
AVR microcontroller is an enhanced RISC (Reduced Instruction Set CPU) high-speed 8-bit microcontroller with built-in Flash developed by ATMEL in 1997.
Read about: RISC Vs CISC
RISC does not simply reduce the number of instructions but increases the speed of computing by making the structure of the computer simpler and more rational.
von neumann vs harvard architecture
A brief history of the AVR microcontroller
The basic architecture of AVR was designed by two students of Norwegian Institute of Technology (NTH), Alf-Egil Bogen and Vegard Wollan, and then was bought and developed by Atmel in 1996.
Atmel says that AVR’s name is nothing more than a product name, but it might stand for Advanced Virtual RISC, or Alf and Vegard RISC (the names of the AVR designers).
There are many kinds of AVR microcontrollers with different properties.
Except for AVR32, which is a 32-bit microcontroller, AVRs are all 8-bit micro-processors, meaning that the CPU can work on only 8 bits of data at a time.
Data larger than 8 bits has to be broken into 8-bit pieces to be processed by the CPU.
One of the problems with the AVR microcontrollers is that they are not all 100% compatible in terms of software when going from one family to another family.
To run programs written for the ATtiny25 on an ATmega64, we must recompile the program and possibly change some register locations before loading it into the ATmega64.
AVR Classification
AVRs are generally classified into four broad groups: Mega, Tiny,Special purpose, and Classic.
Mega family microcontrollers are widely used.
Also, ATmega32 is powerful, widely available, and comes in DIP packages, which makes it ideal for educational purposes.
The following is a brief description of the AVR microcontroller.
AVR features
The AVR is an 8-bit RISC single-chip microcontroller with Harvard architecture that comes with some standard features such as on-chip program (code) ROM, data RAM, data EEPROM, timers and I/O ports.
Most AVRS have some additional features like ADC, PWM, and different kinds of seri- al interface such as USART, SPI, 12C (TWI), CAN, USB, and so on.
AVR microcontroller program ROM
In microcontrollers, the ROM is used to store programs and for that reason, it is called program or code ROM.
Although the AVR has 8M (megabytes) of the program (code) ROM space, not all family members come with that much ROM installed.
The program ROM size can vary from 1K to 256K at the time of this writing, depending on the family member.
The AVR was one of the first microcontrollers to use on-chip Flash memory for program storage.
The Flash memory is ideal for fast development because Flash memory can be erased in seconds compared to the 20 minutes or more needed for the UV-EPROM.
AVR microcontroller data RAM and EEPROM
While ROM is used to store program (code), the RAM space is for data storage.
The AVR has a maximum of 64K bytes of data RAM space. Not all of the family members come with that much RAM.
the data RAM space has three components: general-purpose registers, V/O memoะณั, and internal SRAM.
There are 32 general-purpose registers in all of the AVRS, but the SRAM’s size and the I/O memory’s size vary from chip to chip.
Atmel whenever the size of RAM is mentioned the internal SRAM size is meant.
The internal SRAM space is used for a read/write scratch pad.
In AVR, we also have a small amount of EEPROM to store critical data that does not need to be changed very often.
AVR microcontroller I/O pins
The AVR can have from 3 to 86 pins for I/O. The number of I/O pins depends on the number of pins in the package itself.
The number of pins for the AVR package goes from 8 to 100 at this time.
In the case of the 8-pin AT90S2323, we have 3 pins for I/O, while in the case of the 100-pin ATmega1280, we can use up to 86 pins for I/O.
AVR microcontroller peripherals
Most of the AVRS come with ADC (analog-to-digital converter), timers, and USART (Universal Synchronous Asynchronous Receiver Transmitter) as stan- dard peripherals.
the ADC is 10-bit and the number of ADC channels in AVR chips varies and can be up to 16, depending on the number of pins in the package.
The AVR can have up to 6 timers besides the watchdog timer.
The USART peripheral allows us to connect the AVR-based system to serial ports such as the COM port of the x86 IBM PC.
Most of the AVR family members come with the FC and SPI buses and some of them have USB or CAN bus as well.
AVR family overview
AVR can be classified into four groups: Classic, Mega, Tiny, and special purpose.
Classic AVR (AT90SXXXX)
This is the original AVR chip, which has been replaced by newer AVR chips.
Mega AVR (ATmegaxxxx)
These are powerful microcontrollers with more than 120 instructions and lots of different peripheral capabilities, which can be used in different designs.
Some of their characteristics are as follows:
- Program memory: 4K to 256K bytes
- Package: 28 to 100 pins
- Extensive peripheral set
- Extended instruction set: They have rich instruction sets.
Tiny AVR (ATtinyxxxx)
As its name indicates, the microcontrollers in this group have less instructions and smaller packages in comparison to mega family.
We can design systems with low costs and power consumption using the Tiny AVRs.
Some of their characteristics are as follows:
- Program memory: IK to 8K bytes
- Package: 8 to 28 pins
- Limited peripheral set
- Limited instruction set: The instruction sets are limited. For exam- ple, some of them do not have the multiply instruction.
Special purpose AVR
The ICs of this group can be considered as a subset of other groups, but their special capabilities are made for designing specific applications.
Some of the special capabilities are: USB controller, CAN controller, LCD controller, Zigbee, Ethernet controller, FPGA, and advanced PWM.
AVR product number scheme
All of the product numbers start with AT, which stands for Atmel.
Now, look at the number located at the end of the product number, from left to right, and find the biggest number that is a power of 2.
This number most probably shows the amount of the microcontroller’s ROM.
For example, in ATmega1280 the biggest power of 2 that we can find is 128; so it has 128K bytes of ROM.
In ATtiny44, the amount of memory is 4K, and so on.
Although this rule has a few exceptions such as AT90PWM216, which has 16K of ROM instead of 2K, it works in most of the cases.
AVR Grades
AVR microcontrollers are available in 3 grades.
Low-grade Tiny series: mainly Tiny11/12/13/15/26/28 etc;
Mid-range AT90S series: mainly AT90S1200/2313/8515/8535, etc.; (being phased out or transformed into Mega)
High-grade ATmega: mainly ATmega8/16/32/64/128 (storage capacity of 8/16/32/64/128KB) and ATmega8515/8535, etc.
Other microcontrollers & Manufactures
There are many other popular 8-bit microcontrollers besides the AVR chip.
Among them are the 8051, HCS08, PIC, and Z8.
- The AVR is made by Atmel Corp.
- Microchip produces the PIC family.
- Freescale (formerly Motorola) makes the HCS08 and many of its variations.
- Zilog produces the Z8 microcontroller.
- The 8051 family is made by Intel
What is AVR microcontroller used for?
AVR microcontroller is used for high speed signal processing operation inside an embedded system.
Is AVR microcontroller or microprocessor?
AVR and ARM comes under the family of micro-controller. But ARM can be used as both Microcontroller or as Microprocessor. ARM micro-controller and AVR micro-controller differs from each other in terms of different architecture and different sets of instruction, speed, cast, Memory, Power Consumption, Bus Width etc.
Read More on Microcontroller
- Features of AVR|AVR Microcontrollers
- 8051 ARCHITECTURE|8051 Microcontroller Architecture
- 8051 Microcontroller Architecture|RISC and CISC CPU Architectures|HARVARD & VON- NEUMANN CPU Architecture
- Microprocessor VS Microcontroller| Comparison of Microprocessor and Microcontroller|Difference between Microprocessor and Microcontroller
- Addressing modes of 8051 Microcontroller|8051 Addressing Modes
- 8051 Microcontroller Instruction Set|KSEB Sub Engineer Notes
- 8051 Microcontroller MCQ|8051 Questions and Answers
- Microcontroller|Types of microcontroller
- 8051 Microcontroller Notes pdf|8051 microcontroller pdf
- Interrupts in 8051|Interrupts in 8051 Microcontroller
Books for Microcontroller 8051
- KSEB Sub Engineer and AE Books
- The 8051 Micro controller 3rd Edition,by Kenneth Ayala
- The 8051 Microcontrollers & Embedded Systems, by Mazidi
- 8051 MICROCONTROLLER AND APPLICATIONS FOR BSC
- Microcontroller & Embedded Systems for BE
- [PDF] Syllabus Workshop Instructor Tool and Die|242/2023 syllabus Kerala PSC
- [PDF]Junior Instructor Technician Mechatronics Syllabus|654/2023 syllabus Kerala PSC
- [PDF]Tracer in Soil Survey and Soil Conservation Syllabus|600/2023 Syllabus Kerala PSC
- [PDF] Junior Instructor Fitter Syllabus|659/2023 syllabus Kerala PSC
- [PDF] Junior Instructor Turner Syllabus|661/2023 Syllabus Kerala PSC
- [PDF] Technical Supervisor Travancore Sugars and Chemicals Syllabus|693/2023 syllabus Kerala PSC
- [PDF]AE Electrical Universities Syllabus|070/2024 syllabus Kerala PSC
- [PDF] Junior Instructor Mechanic Diesel Syllabus|658/2023 Syllabus
- [PDF]Latest Syallbus Industries Extension Officer Kerala PSC|30/2024 Syllabus | IEO 2025 Syllabus
- [PDF] Junior Instructor Wireman Syllabus|673/2023 Syllabus
- [PDF]Syllabus Junior Instructor Electroplater|669/2023 Syllabus
- KSEB- Kerala State Electricity Board|KSEB AE Electrical Interview