A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from http://microcontrollerslab.com/getting-started-avr-microcontroller/ below:

GETTING STARTED WITH AVR MICROCONTROLLER

In this article, we will become familiar with the AVR Microcontroller. We will discuss every detail of the AVR microcontroller. What are its basic features and architecture? We will also learn about the programming strategy of the AVR microcontroller and the basic introduction of the AVR Studio software.

AVR Microcontroller

An AVR microcontroller is an advanced minicomputer integrated on a small chip with a processor, memory, and programmable input and output peripherals. The main function of an AVR microcontroller is to provide digital control over any type of system (electrical, mechanical, or automotive), different devices, industrial plants, and most electronic gadgets and appliances. The AVR microcontroller is the first on-chip flash memory and comes in 8-bit, 16-bit, and 32-bit integrated chips.

AVR Microcontroller’s History

In 1996, ATMEL designed and developed the AVR series of microcontrollers. These are more advanced and sophisticated than PIC microcontrollers. Their architecture was first designed by two students, Alf-Egil Bogen, and Vegard Wollan, at the Norwegian Institute of Technology. This term stands for Alf-Egil Bogen and Vegard Wollan’s RISC (reduced instruction set computing) microcontroller, or AVR for short. AVR microcontrollers are divided into six categories, which are listed below:

  1. Classic AVR (AT90SXXXX)
  2. Tiny AVR (ATtinyXXXX)
  3. Mega AVR (ATmegaXXXX)
  4. Xmega AVR (ATXmegaXXXX)
  5. Application-specific AVR
  6. 32-bit AVR
AVR Microcontroller ATMEGA32 Features

In this section, we will discuss the features of the ATMEGA32 microcontroller by ATMEL. The ATMEGA32 microcontroller comes with the following features:

32K Bytes of flash memory 1024 Bytes EEPROM 2K Byte of SRAM 8 channels, each f 10-bits ADC 32 general purpose I/O lines and registers JTAG interface Internal & external interrupts Serial programmable USART TWI interface 4 PWM channels SPI serial port Operating voltages: 4.5 V – 5.5 V Operating frequency: 16MHz Table 1: Features of ATMEGA32 Microcontroller Architecture of AVR ATMEGA32

The AVR microcontroller, Atmega32 is a low-power, efficient, and high-performance integrated chip that comprises of an advanced virtual RISC architecture. It can interpret 6 million instructions per second (MIPS). AVR Atmega32 is a 40-pin integrated chip in which 32 pins are input/output pins in the form of four ports: PORTA, PORTB, PORTC, and PORTD, and others are voltage supply, ground, analog reference, crystal oscillator, and reset pins. Each port provides a bi-directional I/O interface and comprises 8 pins, each of which is 8 bits wide.

Pin configuration of ATMEGA 32 Interface Functions of AVR Microcontroller Interface and pins Function Reset This pin is in the active-low configuration. It activates at 0 volts and resets the microcontroller to its initial state. PORTA Converts analog values to digital language so ATMEGA32 can understand. ADC Pins A0 to A7 are ADC pins. AREF The reference voltage pin is used as an external reference for ADC pins. AVCC Supplies voltage to the ADC pins. GND Two pins act as GND for ATMEGA32. VCC The main supply is 5 volts DC for ATMEGA32. Frequency The operating frequency is 16 MHz; for this, a crystal oscillator is connected to XTAL1 and XTAL2 using a 22 pF capacitor. TWI interface This interface provides serial communication through two bi-directional bus lines. JTAG Useful for programming, single-step testing, and debugging the ATMEGA32. ISP Useful for programming using dedicated pins. SPI Provides serial communication between ATMEGA32 and other devices. AVR Microcontroller Pinout

The following table will help you in understanding the functions of each and every pin.

PIN NO.
PIN NAME

PIN FUNCTIONS
1 XCK/T0/PBO T0 -Timer 0 external counter input or XCK- USART clock I/O or PB0-I/O pin 0 of PORTB 2 PB1/T1 Timer 1 external counter input or I/O pin 1 of PORTB 3 PB2/INT2/AIN0 PB2-I/O pin 2 of PORTB or INT2-external interrupt 2 or   AIN0-analog comparator 4 PB3/OC0/AIN1 PB3-I/O pin 3 of PORTB or OC0-timer0 output or   AIN1-analog comparator 5 PB4/SS I/O pin 4 of PORTB or ISP & SPI 6 PB5/MOSI I/O pin 5 of PORTB or ISP & SPI 7 PB6/MISO I/O pin 6 of PORTB or ISP & SPI 8 PB7/SCK I/O pin 7 of PORTB or ISP & SPI 9 RESET active low, RESET pin 10 VCC Main supply (5 volts DC) 11 GND Ground 12 XTAL1 for providing input to the inverting clock oscillator and internal clock operating circuit 13 XTAL2 output from the inverting oscillator amplifier 14 PD0/RXD I/O pin 0 of PORTD or USART serial communication interface 15 PD1/TXD I/O pin 1 of PORTD or USART serial communication interface 16 PD2/INT0 I/O pin 2 of PORTD or external interrupt 0 17 PD3/INT1 I/O pin 3 of PORTD or external interrupt 1 18 PD4/OC1B I/O pin 4 of PORTD or PWM channel 19 PD5/OC1A I/O pin 5 of PORTD or PWM channel 20 PD6/OCIB I/O pin 6 of PORTD or timer/counter 1 input 21 PD7/ICP1 I/O pin 7 of PORTD or timer/counter 2 output 22 PC0/SCL I/O pin 0 of PORTC or TWI interface 23 PC1/SDA I/O pin 1 of PORTC or TWI interface 24 PC2/TCK I/O pin 2 of PORTC or JTAG interface 25 PC3/TMS I/O pin 3 of PORTC or JTAG interface 26 PC4/TD0 I/O pin 4 of PORTC or JTAG interface 27 PC5/TDI I/O pin 5 of PORTC or JTAG interface 28 PC6/TOSC1 I/O pin 6 of PORTC or timer oscillator pin1 29 PC7/TOSC2 I/O pin 7 of PORTC or timer oscillator pin2 30 AVCC voltage supply for ADC 31 GND Ground 32 AREF analog reference pin for ADC 33-40 PA0/ADC0 – PA7/ADC7 I/O PORTA or 8 channel, 10-bit wide ADC AVR ATMEGA32 Programming Strategy

The AVR ATMEGA32 is a programmable integrated chip, which is why it is necessary to program ATMEGA32 to operate it for the required applications. For the programming of an AVR microcontroller, the simplest way is to use AVR Studio.

AVR Studio

AVR Studio is an integrated development environment by ATMEL for developing different applications as per requirements. We can use C or assembly language to build up codes for AVR microcontrollers.

To build a project on AVR Studio, follow the steps below:

  1. First, open the AVR Studio and select the “New Project” option.
  2. Enter the project name and select AVR GCC; enter the location; then click “next”.
  3. Select your debug platform (AVR simulator) and required device (AtmegaXX) and click “Finish”.
  4. A window will open; click the “project” button, go to the configuration option, select the required options, and click “OK”.
  5. Write the code in the main window.
  6. For compilation, select the build button and go to the compile option. In the event of an error, compiling will fail.

After the generation of the HEX file, store the program on the AVR microcontroller. For this, you have to dump the HEX file into AVR by using the programmer. The common programmers used for AVR microcontrollers are AVRISP and AVRISP2.

AVR Microcontrollers Applications

AVR microcontroller can be used for any type of project application such as:

Signal Sensing Data Acquisition Motion Control Interface motors LCD Displays Interface sensors and transducers Interface GSM and GPS systems Automation and control of industrial plants. Automation of electrical and mechanical systems. Automation of heavy machines Development of UAVs (Unmanned Aerial Vehicles) Conclusion

In this article we have discussed the following topics:

You may also like to read about other AVR Microcontrollers:

Related Articles

If you liked reading this article, there are similar articles provided in the list below:

In the next tutorial, we will talk about AVR Studio 6 and how to create our first project using AVR Studio 6. For more information, keep visiting our blog. In case you face any issues, leave a comment below.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4