Make: AVR Programming - PDF
By the end of this book, the reader should be able to program a range of AVR chips and understand the basic functions of AVR's.
AVR microcontrollers are at the heart of the Arduino, making them ubiquitous in the hobbyist/hacker/Maker world. This book peels away the layers of abstraction in Arduino to show you how to program micro controllers directly in C. By the end of this book, you'll be able to program a range of AVR chips, know how to extend and re-use other people's code and circuits, and know how to begin interfacing with USB, I2C, and SPI peripheral devices.
Each chapter of this book is centered around avproject and includes schematics, (download sample code here) and illustrations of a live system.