AVR programming introduction

From Wikiversity
Jump to: navigation, search

The Atmel AVR microcontroller architecture has, since its inception in 1996, gained popularity over among the professionals and amateurs alike.

This course is intended to serve as a hands-on introduction into AVR programming by providing complete and explained examples on how to use each of the common on-die peripherals, while also outlining the basic programming and schematics considerations.

Prerequisites[edit]

At least basic understanding of the following subjects is presumed in this course.

The tasks in this course are intended to be completed using either a bare ATmega8 microcontroller (MCU; or a compatible one) with the Optiboot bootloader preloaded or one of the AVR-based Arduino boards. See the Simplistic device task for a variant of the circuit based on a bare MCU.

Contents[edit]

The beginning
Simplistic device
Simplistic program
Internal peripherals
Timer basics
Pulse-width modulator
Serial Peripheral Interface
Universal asynchronous receiver/transmitter
Two-wire interface
External peripherals
Nokia 5110 LCD
Complete devices, practical or not
Signal acquisition interface