For proper working of an AVR, we requires the following four things to start:
- An IDE, in which we can write a program in C language/assembly language; which compiles it and generates a .hex file (machine language file) as Microcontrollers only understand .hex file.
- A Programmer hardware that act as a link between computer and Microcontroller.
- A programming software interface that uses programmer hardware and sends necessary .hex file to be placed in Microcontroller through that programmer.
- An ATmega32 microcontroller and its basic circuit.
Among the many softwares available, the two most popular are:
- Code Vision AVR evaluation version.
- AVR studio 4 + WinAVR (WinAVR is compiler and AVR studio is text editor and debugger. Together they make an IDE.)
A programmer depends upon the communication port (Serial, parallel or USB port) of a computer. As new computers rarely have serial or parallel port, I will be here using a USB programmer.
USBasp: It is a USB in-circuit programmer for Atmel AVR controllers.
- AVRDUDE Linux or windows.
- Khazama AVR Programmer is a Windows XP/Vista GUI application for USBasp and avrdude.
- eXtreme Burner - AVR is a Windows GUI Software for USBasp based USB AVR programmers.
Combination of Avr studio 4 , WinAVR and eXtreme burner will be good for windows user.
Basic setting of how to make a new project in AVR studio 4 is shown in the video below: (watch it at full screen high resolution!)For Linux user a simple text editor, avr-gcc compier and avr-dude. You can use this makefile for building your AVR code.
Now we can move ahead and understand the basic input output concepts of AVR microcontrollers.
Hope this was helpful to you! Any questions ? Comment here!
More on PlaywithRobots
- Introduction to AVR microcontrollers
- Basic hardware and software required for AVR
- AVR fuse bits
- Input/Output Concept