Introduction to AVR Microcontroller & Short History
AVR stand for Alf Vegard RISC is a modified Harvard architecture, 8-bit RISC, single chip microcontroller which was designed by two student of Norwegian Institutte of Technology, Alf-Egil Bogen and Vegard wollan and then 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 OTP ROM, EPROM or EEPROM used by other microcontrollers at that time.
ATmega & Xmega AVR chips became extremely popular after they were designed into the 8-bit Arduino platform.
Family of AVR Microcontroller
AVRs Microcontroller are generally classified into following:
- tinyAVR — the ATtiny series
- 0.5–16 kB program memory
- 6–32-pin package
- Limited peripheral set
- megaAVR — the ATmega series
- 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
- 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
- Application-specific AVR
- megaAVRs with special features not found on the other members of the AVR family, such as LCD controller, USB controller, advanced PWM, CAN, etc.
Features of ATmega32 Microcontroller
- 32K bytes of In-System Programmable Flash Program memory with Read-While-Write capabilities
- 1024 bytes EEPROM
- 2K byte SRAM
- 32 general purpose I/O lines
- JTAG interface for Boundary scan
- On-chip Debugging support and programming
- 3 flexible Timer/Counters with compare modes
- Internal and External Interrupts
- Serial programmable USART
- Byte oriented Two-wire Serial Interface ( I2C )
- 8-channel, 10-bit ADC
- Programmable Watchdog Timer with Internal Oscillator
- SPI serial port
- 6 software selectable power saving modes
Pinout Description of AVR Microcontroller
Port A (PA7..PA0) :- Port A serves as the analog inputs to the A/D Converter. Port A also serves as an 8-bit bi-directional I/O port, if the A/D Converter is not used. Port pins. Port pins metrical drive characteristics with both high sink and source capability. When pins PA0 to PA7 are used as inputs and are externally pulled low, they will source current if the internal pull-up.
Port B (PB7..PB0) :- Port B is an 8-bit bi-directional I/O port with internal pull-up resistors (selected for each bit).
Port C (PC7..PC0) :- Port C is an 8-bit bi-directional I/O port with internal pull-up resistors (selected for each bit).
Port D (PD7..PD0) :- Port D is an 8-bit bi-directional I/O port with internal pull-up resistors (selected for each bit).
RESET :- Reset Input. A low level on this pin for longer than the minimum pulse length will generate a reset, even if the clock is not running. The minimum pulse length is given in Shorter pulses are not guaranteed to generate a reset.
XTAL1 :- Input to the inverting Oscillator amplifier and input to the internal clock operating circuit.
XTAL2 :- Output from the inverting Oscillator amplifier.
AVcc : – AVcc is the supply voltage pin for Port A and the A/D Converter.
AREF :- AREF is the analog reference pin for the A/D Converter.