TECH 3233
Microprocessor Tech
Spring 2017

Instructor: Daniel Kohn (
Office Hours: (click here)
Course Policies: (click here)
Grades: GradeWatch
Assignment Submission: Submit Assignments
Required Text: Vaious Handouts supplied by instructor.
Course Outline:
Jan 17Welcome

Course Policies
Jan 19Digital Logic Review Logic Review

Number Systems Review

IEEE Floating Point
Basic Gates

Jan 24+26Digital Logic Review
Flip Flops and Latches Review

Tri-State Buffers

Mux / DeMux

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

Internal Architecture
FF and Latches

Mux / DeMux / Ram
Multiple Roms


How A CPU Works

Lab #1 - Due start of next weeks lab.
Jan 31Intro to Arduino / ATmega 328PHarvard Vs Von NeumannATmega328P Website 
Feb 2Programming: Arduino vs C vs ASM How to get Hex FileLab #2 - Comparing Arduino, C and ASM Programming.
Feb 7ASM (Cont)Big-endian vs Little-endian HW #1 - Given the ASM Code from the Lab and the Hex File figure out how the hex relates to the section of code starting with 1: and ending with the brcc 1b. Due start of next class. Remember that we figured out the following:

Hex of 3,200,000

Use the ATMega328P Instruction Set Manual as a reference of the bits (nibbles) that make up the instructions.

Here is a spreadsheet of what we did in class.

Feb 9   Lab #3 - Using this Morse Code website as a referce (for letters to morse code and timing), modify both the Arduino and Arduino C (not the Arduino ASM) to spell out the first 3 letters of your last name as long (dash) and short (dit) led flashes. Submit arduino file via online submission for both. Due Feb 16.
Feb 14Port Output (Stepper Motor Driver Discussion)   
Feb 16Attend Auto Id Session (More Info)  Lab #4 - Stepper Motor Drive (Full step and Half step) as discussed in class. Code due via online submission by start of next weeks lab.
Feb 21Port Input
Internal Pull Up's
Feb 23   Lab #5 - Using 3 inputs and the stepper motor program (for half step), use one input to control forward/reverse, one input to control full/half step, and the 3rd input to control run/stop. Due by end of lab on Mar 2.
Feb 28    
Mar 2Work on Lab #5   
Mar 7Spring Break (No Class)   
Mar 9Spring Break (No Class)   
Mar 14A/D ConversionADC AVR

AVR ADC Tutorial
Mar 16   Lab #6 - Use a Potentiometer input to adjust the speed of the stepper motor in Lab #5. Due March 23 at start of lab.
Mar 21No Class   
Mar 23Uart (Asyc Serial)Sample Code Lab #7 - Using the Uart and the A2D Converter, display the current room temperature to the console (or serial plotter) once every 5 seconds. The temperature sensor to be used will be an LM35.
Reference Links: Running Simulations on Website
  ATmega328P Website
  ATmega328P / Arduino pinout