ECE205 MCU Architecture and Programming - 2020 Course Calendar

Dates

Monday

Wednesday

Friday

Homework due
Friday by 5pm

August
24, 26, 28

Summer break

Course Overview

Introduction to uC, typical architecture & principle of work
[Chapter 0] [Chapter 1], [Data Sheets]

 

Aug. 31
Sept. 2, 4

AVR: CPU, The idea how it works
[Chapter 2], [Data Sheets]

Assembler: Accessing registers, memory and immeidate constants.
[Chapter 3], [Data Sheets]

Assembler: Jump, Branch and Call, Stack
[Chapter 4], [Data Sheets]
H1-1 - Our datasheet [328P]

September
7, 9, 11

Digital IO Setup, Setup projects and run programs on the board

 Setting up the homewokr kit, run a programs in the simulator, step by step debuggiong in the simulation, run on the board

Expanding the program to use more LEDs and some buttons (towards HW 2-1) [Examples]

H1-2 - CPU and assembler

September
14, 16, 18

Atmega128 Data ALU operations
[Chapter 5], [Data Sheets]

Assembler directives, Memory access modes, Loader for assembly programs
[Chapter 6], [Data Sheets]

H2-2 code introduced, Pseudocode for program outline, Modular programming in Assembler [Examples] [Chapter 8]

H2-1 - First program in Assembler [Assembler]

September
21, 23, 25

Homewokr submission revisited, Algorithms for HW2-2, After lecture: competition hints.

Modular programs in C, HAL concept,
Started debugging in C and Assembler (AV problems in class) [Chapter 7], [Examples]

More on multifile projects, Compiling in Debug and Release mode, Volatile, C Decompiled

H2-2 - Second program in Assembler [Assembler]

S. 28, 30
October 2

Review of Microcontroller Architecture and AVR Assembler for Exam 1

Exam 1
Naimi Chapters 0 through 6, Assembler

Binary operations in C introduced/revisited, binary vs. Boolean, <stdint.h> library for variable types.

Competition Extra Credit
None

October
5, 7, 9

Concept of Hardware Abstraction Layer (HAL). Intro to HW3-2

Digital IO and Scanning Keypads - algorithm
[Chapter 12 part 2]

Digital IO and Scanning Keypads - code, HW3-3 [Examples] H3-1 - C code optimization and debugging

October
12, 14, 16

Interrupts: Pin Changed Interrupt, External Interrupt [Chapter 10] [Examples] H3-2 Revisited in details. Interrupts: - inspection and debugging [Examples]

Timers - Hardware, Timer Interrupts
[Chapter 9] [Chapter 10]

H3-2 Intro modular program with HAL in C

October
19, 21, 23

Timers - Prescaler, Interrupt Handler and main loop [Data Sheets] [Examples]

H3-3 Revisited. Timers - Interrupt handler software and event timing [Examples] Timers - summary so far, communicating back to the interrupt  [Examples] H3-3 Keypad scanning in C

October 
26, 28, 30

Homework 4-1 [Examples] Software PWM generators, Homework 4-2
[Examples].

Timer Interrupt Summarized [talk],
Serial I/O -UART - Hardware [Chapter 11]

H-4-1 Timers and main loop Synchronization

November
2, 4, 6

Review before Exam 2

Exam 2
Interrupts, Timers, PWM, Keypad, Embed C

Serial I/O -UART - Software [Examples] None

November
9, 11, 13

Timer Interrupt and PWM revisited. Homework 4-2 (Good review for Test 3) ADC and DAC - How they are built in principle [Chapter 13] ADC software, ADC started from Timer interrupt [Examples] H4-2 Timers and PWM

November
16, 18, 20

UART revisited, Homework 4-3 [Examples] Watchdog, Low Power Sleep, SPI and I2C communication [Chapter 17] [Chapter 18] Floating point vs. Integer,
Homework 4-4 (longer lecture) [Examples]
H4-3 Bidirectional UART communication

November
23, 25, 27

Thanksgiving  Break Thanksgiving Break Thanksgiving Break  

Nov. 30
Dec. 2, 4

Test 2 Summarized, Final Project, Review before Exam 3 More about the Final Project (versions: 1-2), review of C for uC, binary ops, digital IO More about the Final Project (version 3)
Timer input capture mode (version 4)
H 4-4 Analog input with ADC (+ extra credits)

December
7, 9, 10

Exam 3
Interrupts, UART, ADC, Misc peripherals, Embed C
Study Day Time to work on the final project
Thursday, December 10
H-5 Group Final Project

web site front local main page general bookmarks software bookmarks go back copyright info