Purdue AVR Lab

C Programming:
Embedded Software
Problem Solving
Algorithm Development
Program Structure
I/O Operations
Control Statements

Development Board
Atmel Resources

Configuring Ports for Input or Output

Configuring Timers
Configuring the Serial Port
Using the Standard Library
Number Conversions
Lab Hardware
Chip Programming
Examples Index

Analog to Digital Conversions:

"Normal" usage of Timer1
Using Timer0 to create a 0.1 second delay (embedded in the synchronous serial example)
Using Timer 2 to create a 1 second delay for tracking time
Timer Interrupt based on Timer 0

Synchronous Serial
Interfacing with a synchronous serial device (connecting to a digital pot)
Reading and Writing synchronous serial data at the same time (using a MAX3100)

Serial Communication
Configuring the UART and using the Standard Library for serial communication

Memory Mapped LCD
Eight-bit LCD connected directly to a microcontroller port
LCD with separate driver chip(embedded in Game Timer example)

Scanning a keypad connected to a port (embedded in Data Terminal example)

7-Segment Displays
Driving 7-segment displays directly
Scanning 7-segment displays
Lecture 1- Class Introduction
Lecture 2 - I/O Ports and I/O Operations
Lecture 3 - Serial Communications
Lecture 4 - Math Operations
Lecture 5 - More Math
Lecture 6 - And more math
Lecture 7 - Algorithms and Flowcharts
Lecture 8 - Loops and Delays
Lecture 9 - Decisions with Bitwise Operators
Lecture 10 - In-class Examples
Lecture 11 - Timers
Lecture 12 - Timer Functions      Serial LCD
Lecture 13 - Keypads
Lecture 14 - Keypad Functions
Lecture 15 - Software Libraries
Lecture 16 - Exam Preview
Lecture 17 - EXAM #1
Lecture 18 - Lab Practical Prep
Lecture 19 & 20 - Analog to Digital 1
Lecture 21 - Timer Interrupts - Making Measurements with Timers - 2 Lectures with nothing to post
Lecture 22 - 7-Segment Display Board and Arrays
Lecture 23 - Stepper Motors
Lecture 27 - Pulse Width Modulation
Lecture 28 - PWM Part 2
Lecture 29 - Lab Prep - DC Motors
Lecture 30 - Liquid Crystal Displays - Parallel Interface
Lecture 31 - Introduction to Synchronous Serial
Lecture 32 - Sync Serial part 2 (MAX 512)
Lecture 33 - Sync Serial part 3 (ML2036)
Lecture - AVR Hardware Design 1
Lecture - AVR Hardware Design 2 and Lab Practical Prep
Lecture - Course Evaluations
Lecture - Course Review
Lecture - Final Exam Prep
Lights and Switches Board Schematic
Keypad Schematic
Synchronous Serial Board Schematic
7 - Segment Display Board
Multiple Interface LCD Board
Stepper Motor Board
Parallel Analog / Digital Board
ATmega16 Data Sheet
MAX 1243 Data Sheet
Max 512 Data Sheet
ML2036 Data Sheet
74C922 Data Sheet