Course Information

Instructor - Alexander Nelson
Lecture: Monday, Wednesday 4:00 - 5:15
Discussion: Monday or Wednesday 5:30 - 6:45
Office Hours: Monday, Wednesday 3:00 - 3:55 ITE 201F

TA - Deepak Krishnankutty
Office Hours: Monday, Wednesday 12:00 - 1:00 ITE 375 or ITE 240

Schedule


Date

Notes

Info

8/27/2014 Intro, Syllabus, 310 Review and Chapter 1
9/3/2014 Review and AVR Architecture, IO Ports Syllabus Updated
9/8/2014 AVR CPU Registers, AVR Addressing Modes Quiz 1
9/10/2014 Processor Review, Assembler Examples
9/15/2014 State Machine Example, Designing an Embedded System
9/17/2014 Begin C Introduction Homework 1 Assigned, Quiz 2
9/22/2014 C Introduction
9/24/2014 Finish C Introduction Quiz 3, Homework 1 Part 1 due
9/29/2014 Functions, Macros, Separate Compilation
10/1/2014 Arrays Homework 1 Due, Homework 2 Announced, Quiz 4
10/6/2014 Strings
10/8/2014 Pointers Quiz 5 - Pointer Example
10/13/2014 Structs and Unions
10/15/2014 Advanced Pointers Quiz 6 - Pointer Arithmetic
10/20/2014 Final C
10/22/2014 Memory Related Pitfalls Quiz 7
10/27/2014 Review
10/29/2014 In-Class Assignment LinkedList.c, LinkedList.h, InClass1.c, makefile, Solution
11/3/2014 Interrupts
11/5/2014 Timers and Counters Quiz 8
11/10/2014 Timers and Counters Continued
11/12/2014 Analog To Digital Converters Quiz 9, Dr. Robucci's Converter's lesson
11/17/2014 Real-Time Operating Systems
11/19/2014 Tasks Quiz 10
11/24/2014 Finish Tasks
11/26/2014 Data Represenation
12/1/2014 Communications Systems Review for In-Class 2
12/3/2014 In-Class 2 Solution
12/8/2014 Review for Final Exam


Discussions


Date

Notes

Info

9/3/2014 & 9/8/2014 Discussion 1 Instruction Set
9/10/2014 & 9/15/2014 Discussion 2 Keyboard Code, Discussion Code, Solution
9/17/2014 & 9/22/2014 Discussion 3 UART.asm
9/24/2014 & 9/29/2014 Discussion 4 C Example
10/1/2014 & 10/6/2014 Discussion 5
10/8/2014 & 10/13/2014 Discussion 6 Discussion 6 C Code, LCD Driver.c, LCD Driver.h
10/20/2014 & 10/22/2014 LinkedList.c
11/3/2014 & 11/5/2014 Discussion 7 PinChangeInterrupt.c, U0_LCD_Driver.c, U0_LCD_Driver.h
11/10/2014 & 11/12/2014 Timer.c
11/17/2014 & 11/19/2014 ADC Tutorial ADCSampleCode.c
11/24/2014 & 11/26/2014 Making AVRX Projects, AVRX avrx.zip
12/1/2014 & 12/3/2014 Project 4 Demos & Project 5 Help


Projects

All dates are tentative and subject to change.

Date Assigned

Date Due

Project Link

Info

9/17/2014 Part 1 - 9/24/2014
Part 2 - 10/2/2014
Assignment 1 ATMega169 Datasheet, Butterfly User Guide
10/1/2014 Part 1 - 10/8/2014
Part 2 - 10/15/2014
Assignment 2 Uart.c, Uart.h
10/22/2014 11/5/2014 Assignment 3 Input File 1
11/12/2014 11/26/2014 Assignment 4
11/26/2014 12/9/2014 Assignment 5 AVRX_EEPROM.c


Resources


Type

Links

AVR Assembly Beginner AVR Assembler - AVR Assembler Begginer Guide
AVR Command Set - AVR Assembler Command Set
Beginner Guide - Full AVR Assembler Tutorial
AVR Assembler Macros Useful Macros, How to use Macros
Subroutines Writing Subroutines
AVR Parts Parts List, JTAG Connection
AVR Butterfly ATMega169P Datasheet, Butterfly User Guide
Valgrind Quick-Start Guide
C Examples MIT OpenCourseWare, AVR C Code Examples
Course Feedback Survey - Send anonymous feedback about the course to the instructor