EE 351 - Fall 2021
EE 351: Microcontrollers - Fall 2021
Instructor: Kevin Wedeward (Workman Center 221, 835-5708, kevin.wedeward@nmt.edu, https://sites.google.com/nmt.edu/kevin-wedeward/)
Class Day, Time and Place: TR 12:15pm-01:30pm in Workman Center 109
Office Hours: TWR 02:30pm-04:00pm, by appointment, and any time office door is open
Textbook (Required):
The AVR Microcontroller and Embedded Systems Using Assembly and C: Using Arduino Uno and Atmel Studio, 2nd Edition, by Sepehr Naimi, Sarmad Naimi and Muhammad Ali Mazidi, MicroDigitalEd, November 2017, ISBN-10: 0997925965, ISBN-13: 978-0997925968
Online-only parts of the book, tutorials and other material can be found on the publisher's website: http://www.microdigitaled.com/AVR/AVR_book_v2.htm
Integrated Development Environment (One of the Following is Required):
Microchip (formerly Atmel) Studio - recommended and used for examples in class - don't need XC8 compiler - https://www.microchip.com/en-us/development-tools-tools-and-software/microchip-studio-for-avr-and-sam-devices
MPLAB X - https://www.microchip.com/en-us/development-tools-tools-and-software/mplab-x-ide that will require additional toolchains - https://www.microchip.com/en-us/development-tools-tools-and-software/gcc-compilers-avr-and-arm
Prerequisite: EE 271 (Mathematical Engineering)
Course Description: Introduction to microcontrollers. Topics include: programming in assembly and C, bus structures, interrupts, timing, real-time control, parallel and serial interfaces, support devices, disassemblers, and related topics.
Topics:
Digital logic, terminology and numbering systems (binary, decimal, hexadecimal)
Fundamentals of microcontrollers and microprocessors
Architecture of AVR microcontrollers, and specifically the ATmega328 family
Instruction set, assembly programming and the hex file
Programming a chip and/or evaluation board
C programming
Digital Input/Output
Timers
Interrupts
Input capture, wave generation and Pulse Width Modulation (PWM)
Analog-to-digital converters (ADC)
Serial Peripheral Interface (SPI)
Inter-Integrated Circuit (IIC or I2C)
Course Outcomes: Students will be able to
read, interpret and use the AVR Instruction Set Manual and data sheets for the ATmega328 family of microcontrollers;
develop, debug and simulate assembly and C programs for the AVR microcontroller in an Integrated Development Environment (IDE);
program an evaluation board based upon the ATmega328 family of microcontrollers; and
interface with a variety of peripherals.
Grading:
Homework - 33%
Projects - 33%
Exams - 34%