CP316: Microprocessor Systems and Interfacing

I'm in the process of making significant changes to this course for Winter 2020. This website will be constantly changing over the next several months as I update the information.
My goal in this course is to discuss some hardware issues introduced in CP/PC320 in more detail.
This will involve less assembly language programming than in the past, but will rely on examination and understanding of what is happening at the assembly language level. -TS

Pages created and updated by Terry Sturtevant Date Posted: July 16, 2019

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


Section numbers in the data sheet are written in red.

Lecture: Lecture: Lecture:

Jan. 13   Lecture: Lecture:
  • Lab followup : code examination - polling timer
    timer flag polling code
    testing flag, return, toggling bit, clearing flag

    flag polling
    more flag polling
    Look at bits in TIFRx to see why you want to write a single bit to clear a flag

  • ALC exercise: Timer 2 changes to program

Jan. 20   Lecture: Lecture:
  • Lab followup:
  • ALC exercise:

Jan. 27  


Lecture: Lecture:
  • Lab followup: code examination - interrupt vectors

Feb. 3  


  • Lab prep:
  • Lab followup:
  • ???
  • Lab Exercise: I2C displays

Feb. 10   Lecture:
  • UART [ Tuesday June 18, 2019 ]

  • SoftwareSerial uses PinChange interrupts
    AltSoftSerial uses Timer1

  • SPI [ Tuesday June 18, 2019 ]

  • ALC exercise: UART Initialization
    9600 baud, N81
  • ALC exercise: SPI Initialization
  • Lab prep:
  • Project discussion
    1. Two projects: Integration project and exploration project?
      Integration: Robots?

  • Lab followup:
  • ???


Feb. 24  


Lecture: Lecture:
  • Lab followup:
  • ???

Mar. 3   Lecture: Lecture:
  • Lab followup:
  • ???

Mar. 10   blah
  • project
  • project

Mar. 17  

  • project

Mar. 24  
  • project
    course evaluation in lab April 1
  • project

Mar. 31  

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