TECH 3233
Microprocessor Tech
Spring 2021

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
Arduino IDE (for avrdude utility)


Due to the uncertainty of Covid-19, it is possible we will be using different course delivery modes depending on current conditions. The calendar (below) will be updated for "Delivery Mode". Since this can change based on university covid conditions, faculty exposure / need to quarantine and other factors, it is best to check this website each day before class. If it is NOT posted for the day, assume the delivery method is the same as the previous class.

If we meet IN PERSON, students are expected to follow the current Covid-19 Policy (Linked Here) including, but not limited to: wearing masks, sanitizing your work area and maintaining social distancing.

If the class is a HYBRID, make sure you know what day(s) you attend class and what days you are online or doing assignments. If you are considered High Risk and do not wish to come on campus, see THIS WEBSITE on how to apply for a course modification.

If we are ONLINE, classes will be held synchronously at the scheduled time. Please make sure you are familiar with My Zoom Policies.

Also note:

Passcode 930853

As per the course catalog, you are required to have a computer (see this page). It will be impossible for you to be successfull in either Hybrid or On Line classes without one! You will also need a good internet connection for ZOOM conferencing software (please avoid using cell phones or tablets for zoom).

You will need to install the required software on your computer. (downloading and installing these programs will be discussed in class).

Course Outline:

DateDelivery ModeTopicReadingHandoutsAssignments
Jan 19 On Line Welcome

Course Policies

Introduction Computer History

Number System Review

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)

Number Systems

Class Notes

Class Notes
Jan 21 On Line
Memory and Bus Architecture

Flip Flops and Latches Review

Tri-State Buffers

Digital Buffer and the Tri-State Buffer


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).