AVR GUIDE
This guide was written by me (Q) over several months and, it took way too many hours then I'd
like to
admit. The information was gathered from the data sheet, bench testing and from other sites that
I had come
across. This site is my way of giving back to the DIY community that helped me out so many
times, thanks
guys. Feel free to link to the information but please do not pass it off as your own.
Cheers
Q
NOTE: * = Unfortunately, AVR GUIDE - QEEWiki was removed from Google Sites after Feb
2021.
I'm
able to restore it using Wayback Machine. And here is the new start.
Maintainer:
Chayan Mistry
Email: chayanforyou@yahoo.com
Feel free to reach out if you have any questions or need assistance with the AVR GUIDE.
TABLE OF CONTENTS
AVR Basics:
What you need Software/Hardware wise to get started
If your New to AVRs this is the order I recommend reading my tutorials
in
The basics of data storage and how we could understand it as humans
The hardest part of microcontroller programming, but the most
important thing to
understand
Deals mainly with abbreviations and shortcuts and using multiple
operands together
How special registers work
Covers the basic power hookup and the ISP hookup
How to program your Arduino from AVR Studios 4 and 5
1.8 - A Few Notes On AVR Programming:
A few important notes on AVR programming
Digital I/O:
Covers Digital Output Hardware and Digital Output AVR Software Code
Covers Digital Input Hardware and Digital Input AVR Software Code
Interrupts:
The basic theory of Interrupts in the AVR micro controller
Covers the External Interrupts
Covers the External Interrupts and the new Pin Change Interrupts
Timers:
Theory common to timers for both ATmega8 and ATmega168/328
8 and 16 bit timers on the ATmega8
8 and 16 bit timers on the ATmega168/328
8 and 16 bit counters on the ATmega8
8 and 16 bit counters on the ATmega168/328
4.3a - Input Capture Unit on the ATmega8:
A unit that can capture an event and give it a time-stamp on the
ATmega8
4.3b - Input Capture Unit on the ATmega168/328:
A unit that can capture an event and give it a time-stamp on the
ATmega168/328
Analog I/O:
The Closest thing to Analog outputs
The Closest thing to Analog outputs
Measure incoming voltage levels from analog devices, aka ADC (Analog
to Digital
Converter)
A strange uncommonly used feature
5.2b - Analog Comparator on the ATmega168/328:
A strange uncommonly used feature
Communication:
Serial Communication protocol
6.1 - I2C / TWI:
A standard two wire buss protocol for controlling Slave devices
Serial Peripheral Interface, a simple and common multi-slave control
protocol
Other:
7.0 - EEPROM:
Write data to internal none-volatile memory
7.1 - External Crystals/Resonators:
Hooking up external clock sources
7.2 - Fuse Bits:
Blah, I woun't lie, I really don't want to write this tutorial, but
one day I will