Friday, April 24, 2020

Getting started with ATMega32 in Atmel Studio 7

Atmel Studio is a free IDE for developing firmware for Atmel (Now Microchip)  microcontroller ranging from 8-bit AVR to 32-bit.

Currently the latest version is Atmel Studio 7. You can download it freely from Microchip website.
After we download and install it on our PC, let get started.
Open Atmel Studio 7, From File Menu ->New->Project

Atmel Stuio 7 IDE

Choose C/C++ language, select GCC C Executable Project, and Click OK Button.

Atmel Device Selection Window

In the Device Selection Window, scroll to select Atmega32 and click on OK Button

After this, you will find the main.c file displayed.

Programming Windows

In the main.c file try to write a test program.

/*
* example_1.c
*
* Created: 4/24/2020 9:57:39 PM
* Author : admin
*/
#include <avr/io.h>
//F_CPU set the frequency for delay.h
#define F_CPU 16000000UL
#include "util/delay.h"
#define dTime 1000
int main(void)
{
PORTC=0x00; //Clear PORTC
DDRC=0xFF; //Set PORTC AS OUTPUT
/* Replace with your application code */
while (1)
{
PORTC=0x00; //Clear PORTC
_delay_ms(dTime); //Wait for 1 second
PORTC=0xFF; //PORTC ON
_delay_ms(dTime); //Wait for 1 second
}
}

After complete the code writing, press F7 key to build the project.

Building the project

After building the project successfully, the IDE generate hex and other files in the Debug folder of the project directory.

Now I want to upload the hex file to Atmega32 via an ISP programmer. I use a DIY usbasp.
This programmer need any software interface like AVRDude.
I use AVRDude with GUI to progrm this device.

Now I open this program to flash the hex file into chip.

AVRDUDESS IDE to flash the firmware

The pictures below show the running example on my ATmega32 board.


Back to main tutorial page ATMega32 tutorials in C with Atmel Studio 7.



No comments:

Post a Comment

Search This Blog

Labels

25AA010A (1) 8051 (7) 93AA46B (1) ADC (30) Analog Comparator (1) Arduino (15) ARM (6) AT89C52 (7) ATMega32 (56) AVR (57) CCS PICC (28) DAC (1) DHT11 (2) Display (105) Distance Sensor (3) DS18B20 (3) dsPIC (2) dsPIC30F1010 (2) EEPROM (5) Environment Sensor (4) esp8266 (1) I2C (29) Input/Output (67) Interrupt (19) Keil (5) Keypad (10) LCD (47) Master/Slave (1) MAX7221 (1) MCP23017 (5) MCP23S17 (4) Meter (3) MikroC (2) Motor (15) MPLABX (71) Nokia 5110 LCD (3) OLED (2) One-Wire (6) Oscillator (8) PCB (6) PCD8544 (3) PCF8574 (5) PIC (107) PIC12F (2) PIC16F628A (2) PIC16F630 (1) PIC16F716 (3) PIC16F818 (10) PIC16F818/819 (2) PIC16F84A (15) PIC16F876A (1) PIC16F877A (9) PIC16F88 (1) PIC16F887 (60) PIC18 (19) PIC18F1220 (4) PIC18F2550 (3) PIC18F4550 (12) PWM (11) RTC (8) Sensor (10) SH1106 (1) Shift Register (11) Shift Registers (3) SPI (24) STM32 (6) STM32 Blue Pill (6) STM32CubeIDE (6) STM32F103C8T6 (6) SysTick (3) temperature sensor (11) Thermometer (21) Timer/Counter (31) TM1637 (2) UART (7) Ultrasonic (4) Voltmeter (7) WDT (1) XC16 (2) XC8 (94)