# 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.
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
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.
- Internal and External Interrupts
- 32 general purpose I/O lines
- 3 flexible Timer/Counters with compare modes
- 8-channel, 10-bit ADC
Communication Protocol Supported
- Serial programmable USART
- Byte oriented Two-wire Serial Interface ( I2C )
- SPI serial port