TECH 3233
Microprocessor Tech
Spring 2022

Instructor Info

Daniel Kohn
Office ET218
Phone: 678-4515
Office Hours

Course Info

Course Policies
GradeWatch Access

Assignment Files

Submit Assignments
Graded Work (Feedback)

Required Text

The AVR Microcontroller and Embedded Systems Using Assembly and C: Using Arduino Uno and Atmel Studio by Sarmad Naimi and Muhammad Ali Mazidi 2nd Ed available via Amazon. Please Buy the NOT Rent.

Author's Website

Required Software

Atmel Studio 7 (Now called "Microchip Studio")
Arduino IDE (for avrdude utility)

Course Outline:

Jan 18 Welcome

Course Policies

Introduction Computer History

Timeline of Computer History

Computer History

 · History of Intel Processors (Video)
 · History Lost and Found - Mark I Computer (Video)
 · History Lost and Found - ENIAC (Video)
 · History Lost and Found - Transistor (Video)
 · History Lost and Found - Apple Computer (Video)
 · The Most Important Invention of the 20th Century: Transistors (Video)
 · The Most Important Invention of the 20th Century: Transistors (Video)

Class Notes  
Jan 20 Number System Review

Memory and Bus Architecture
Number Systems

Flip Flops and Latches Review

Tri-State Buffers

Digital Buffer and the Tri-State Buffer

Mux / DeMux

Memory (Note: This chapter goes into greater detail than required for this class.)

Class Notes

(including how to access simulations)
Jan 25Memory and Bus Architecture (cont)  Lab 1 - Due in one week via online submission.

Reference Links:

ATmega328P Website
ATmega328P / Arduino pinout
C Quick Reference
NASA C Styleguide
AVR-C Video Series
Using Named Bits in ATEML Studio
IO Issue - AVR Freaks
Timer Calculator
Atmega328P names in Atmel Studio

Info needed for Labs

Determine Com Port

With Arduino plugged in to computer's USB port
Win 10 - Search for "Powershell" and open
Type - "Get-WMIObject Win32_SerialPort" (no quotes)
check results for Arduino Uno (Com __ )

Atmel Studio

Setup Strings:

C:\Program Files (x86)\Arduino\hardware\tools\avr\bin\avrdude.exe

-C "C:\Program Files (x86)\Arduino\hardware\tools\avr\etc\avrdude.conf" -p atmega328p -c arduino -P COM7 -b 115200 -U flash:w:"$(ProjectDir)Debug\$(TargetName).hex":i"

To get printf to work with floating point values:

Project | nameofproject Properties | Toolchain : AVR/GNU Linker | General | Check "Use vprintf library(-Wl,-u,vfprintf)"
Project | nameofproject Properties | Toolchain : AVR/GNU Linker | Miscellaneous | Other Linker Flags put into textbox | "-lprintf_flt" (leave off quotes).