AVR programming introduction
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
editAt least basic understanding of the following subjects is presumed in this course.
- A text editor.
- C – the general-purpose programming language the examples in this course are written in.
- Either Bash (preferably) or some other Text (CLI) shells|command-line shell.
- GNU Make – a dependency-drived build tool.
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