My Books‎ > ‎

AVR GUIDE

This guide was written by me 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: * = work in progress



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 micro controller 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


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

5.0b - PWM(Pulse Width Modulator) on the ATmega168/328:
The Closest thing to Analog outputs

Measure incoming voltage levels from analog devices, aka ADC (Analog to Digital Converter)

* 5.2a - Analog Comparator on the ATmega8:
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