# Detail of AVR microcontroller
AVR stands for Alf Vegard RISC which is a microcontroller designed by Atmel and now owned by Microchip. The AVR was one of the first microcontrollers families to use on-chip flash memory for program storage, as opposed to OTP ROM, EPROM or EEPROM used by other microcontrollers at that time.
# Classification
AVR microcontroller are generally classified as tinyAVR, megaAVR, XMEGA.
TinyAVR: The ATtiny series consists of :
- 0.5–16 kB program memory
- 6–32-pin package
- Limited peripheral set
MegaAVR:The ATmega series consists of :
- 4–512 kB program memory
- 28–100-pin package
- Extended instruction set (multiply instructions and instructions for handling larger program memories)
- Extensive peripheral set
Xmega:The ATxmega series consists of :
- 16–384 kB program memory
- 44–64–100-pin package (A4, A3, A1)
- Extended performance features, such as DMA, “Event System”, and cryptography support.
- Extensive peripheral set with ADCs
# Features of AVR Microcontroller atmega32
Memory
Program Memory : 32K bytes of In-System Programmable Flash memory , it is also called program memory as it store the program flashed to micro controller .
ROM : It consists of 1k bytes Electrically Erasable Programmable Read Only Memory (EEPROM) . This is the type of non-Volatile memory integrated into the microprocessor , micro-controller in order to store the limited amount of data.
Data Memory : It consists of 2K byte SRAM , It is also called data memory as the data are stored on it during the program execution.
Clock The clock generation module supports various clock sources
- Internal Clock Sources : The device is shift with 1Mhz internal clock and it extends up-to 8 Mhz
- External Clock Sources : Microcontroller can be clocked upto 16 Mhz externally.
Interrupts
- Internal and External Interrupts
Programmable Pins
- 32 general purpose I/O lines
Counter/Timer
- 3 flexible Timer/Counters with compare modes
ADC
- 8-channel, 10-bit ADC
Communication Protocol Supported
- Serial programmable USART
- Byte oriented Two-wire Serial Interface ( I2C )
- SPI serial port