CP316: Microprocessor Systems and Interfacing

Pages created and updated by Terry Sturtevant Date Posted: August 24, 2021

Week 1, Week 2, Week 3, Week 4, Week 5, Week 6, Week 7, Week 8, Week 9, Week 10, Week 11, Week 12


Development Environment

Target Hardware

Arduino based on AVR Microcontroller

Reference Material

Course Material

Week of ... Lab/Lecture Reference Material
[ white background indicates required reading;
gray background indicates optional reading]

Jan. 3  


Lecture: Lecture: Lecture:

Jan. 10   Lecture: Lecture: Lecture:

Jan. 17  


Lecture: Lecture: Lecture:

Jan. 24   Lecture:
  • UART [ Tuesday June 18, 2019 ]

  • SoftwareSerial uses PinChange interrupts
    AltSoftSerial uses Timer1

  • 2 -wire interface (TWI, a.k.a. I2C) [ Tuesday June 18, 2019 ]

  • SPI [ Tuesday June 18, 2019 ]

  • Display options: Shield, UART, SPI, TWI, (a.k.a. I2C)
  • ATmega328/Arduino pin mapping
Lecture: Lecture:

Jan. 31  


Lecture: Lecture: cancelled


Feb. 7   Lecture:
  • Dithering [ Monday February 10, 2020 ]

  • ALC exercise: pulsewidth to ultrasonic measurement

  • Copying volatile variables

    Consider the following:
    volatile somevar;

    // more stuff

    What is the potential problem in the above code?

  • ALC exercise: robot control options

  • Project ideas
    Prototype 2 different process diagram options to compare. (Maybe carry both to the end?)
    adaptive cruise control checklist (preliminary)

Lecture: Lecture: cancelled

Feb. 14  


  • Project update:
    Dual prototype options:
    The goal is to abstract the option details as close to the hardware as possible. There should be a single program, with a boolean that determines which is in operation.
    2 PWM options
    fixed/adaptive distance measurement
    open/closed loop straightness (1 or 2 sensors)
    ultrasonic or IR distance
    servo or DC motors
    revised adaptive cruise control project checklist
  • Lab prep: Motor control options
    What are the options for PWM motor control?
  • ALC exercise: Motor PWM parameters determination
Lecture: Lecture:


Feb. 28   No lectures: project work
  • Decide on option to pursue

Mar. 7   No lectures: project work
  • project work; try straight line movement?

Mar. 14  

revised adaptive cruise control project checklist No lectures: project work
  • project; user programmable top speed and minimum distance ?

Mar. 21  
No lectures: project work
  • project - smooth acceleration and deceleration

Mar. 28  
No lectures: project work
  • Project demonstration - March 31

    course evaluation in lab March 31 MyLearningSpace evaluation open March 30 to April 5

Creative Commons License

Information on this site which is produced by Terry Sturtevant is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 2.5 Canada License.


To view pdf documents, you can download Adobe Acrobat Reader .
get Acrobat Reader
If you need to update a browser, you might try Firefox which is Get Firefox!
Since this page uses cascading style sheets for its layout, it will look best with a browser which supports the specifications as fully as possible.

If you are looking for an office package, with a word processor, spreadsheet, etc., you might try LibreOffice which is Get LibreOffice!

Go to the main page for the Department of Physics and Computer Science.

Valid XHTML 1.1

Valid CSS!

(Level AA)

Wilfrid Laurier University