The AVR is a microcontroller developed by Atmel. Its an 8-bit RISC μController based on the Harvard architecture which physically seperates the data storage memory (RAM) and the program code memory (Flash-ROM ). AVRs are classified into few family groups which differentiate in the amount of memory, I/O pins, additional instruction sets,… but they are all based on the same AVR core which makes it easier to reuse code (ATtiny, ATmega,…).
Atmel provides AVR Studio, a free development envoirement for writing and debugging assembler applications which includes a software simulator as well.
You can write applications using Assembler, C (avr-gcc) or Basic (bascom) .
For more information about AVR μControllers visit the wikipedia avr article or visit Atmel AVR.
I am using a 40 pin ATmega16 which comes with 16kB Flash-ROM, 1kB SRAM, 256B EEPROM with a price about 3€. There is also an ATmega32 which has more memory than the ATmega16 and it costs just few € more so its better to buy the 32 version straight away.
I am also using the AVR-Ready board from mikroelektronika which is basically a simple prototype board with extension pin headers, an IDC10 connector for the programmer hardware, connector for power supply (8-16V AC/DC), a reset pushbutton, and an external crystal oscillator (per default the μController works on the internal 1MHz clock, which can be changed to an extrnal crystal or crystal oscillator by setting the fuse bits). Of course you can build this by yourself using a breadboard.
Because the programmer hardware was expensive ($59.00 USD) i decided to make one (ISP - parallel port interface) by myself as it didnt seem complicated. I suggest you use the shematic from the PonyProg website which has some improvments to other shematics found on the internet. Btw PonyProg is a software used to read/write the compiled code to/from the μController. I also bought a plastic box and packed everything inside it. Luckiely everything worked straight away
Useful links:
Atmel AVR 8bit RISC
Wikipedia
AVR Freaks
Links collection - odp
Very good AVR + Assembler/C tutorials (German)
EXCELLENT
Brilliant piece of work. Good time to write it as well. If you had done this last week, I probably would have been busy learning the AVR assembler this week instead of writing my PIC tutorial!! That’s a BIG instruction set, though.
Where do I get free engineering samples? I hadn’t realised there were DIL versions of these ICs. Perfect for those of us who don’t do SMD.
God created the integers; all else is the work of man - Leopold Kronecker
This is excellent! Thanks!
This is excellent! Thanks! So much to do and look into
Thanks!
/ Fritsl
This text is supposed to be
This text is supposed to be just a tip to those who are making their own programmer so they know what shematic to use, and to touch on the AVR thematic as the microcontroller seems very powerfull and beginner friendly.
Still exploring the avr too so i dont dare yet to get much into technical details
I think its good to start with assembler when learning microcontrollers because one can better understand its structure and operating concept.
I hope I get the time to do a small robot based on AVR, but i’ll let you know for sure when if it happens
Thanks, very interesting
Thanks, very interesting post. I’m enjoying all these low-level tutorials.
Dan