Course Syllabus

Instructor: James Tunnell

Email: TunnellJa@cwu.edu

Phone: 360-348-2184

Office: Hogue 203C

Summary

Learn the basics of programming microcontrollers (MCUs).

  • From a MCU datasheet we can learn about the fundamental chip architecture, and how to use features like digital I/O, analog inputs, timers, comparators, PWM, etc.
  • The development environment provides a simple way to write, program, and debug code on the MCU.
  • The demonstration board provides real hardware to interact with, like:
    • LEDs
    • Buttons
    • Potentiometers
    • LCD
    • Motors
    • Serial port

Textbook

There is no book. Instead, you will use Microchip documentation to educate yourself on the operation of the MCU and its features.

Look on the Microchip website (www.microchip.com) for their documents on:

  • MCU part: PIC16F917
  • Mechatronics board: DM163029
  • MPLAB® X IDE
  • MPLAB® XC8 C Compiler

Homework & Quizzes

Homework will be fairly simple. Find documentation that is relevant for the topic of the upcoming class session and read up on the topic. If you have a question that you can't find an answer for, please bring your question to class.

There will be a weekly quiz each Monday, to make sure you are prepared for the upcoming week's material. I will try to set up quizzes online so you can do them outside of class at your convenience.

Labs

Most class periods will have related labwork. I will try to save enough class time that you can make a good start and maybe finish any related labwork.

Grading

There are 200 points possible.

  • Attendance will be worth 20 points (1 point each class session you attend).
  • Quizzes will be worth 60 points (6 points each quiz).
  • Labwork will be worth 120 points (10 points each lab).

The grading scale for determining letter grades is:

A: 90 – 100%
B: 80 – 89%
C: 70 – 79%
D: 60 – 69%
F: 59% and below

Schedule 

Week

Dates

Topics

1

Sep 25

Microcontroller: PIC16F917
Target hardware: Mechatronics Demonstration Board

2

       30

Development environment pt 1: MPLAB® X IDE
Assembler: MPASM

Oct 2

Running on simulated hardware

3

       7

Running on hardware

       9

I/O ports

4

       14

Oscillator and timing loops

       16

Faculty Development (no class).

5

       21

Interrupts

       23

Interrupt Service Routine (ISR)

6

       28

Timers

       30

Pulse-Width Modulation (PWM)

7

Nov 4

Development environment pt 2: MPLAB® X IDE
Compiler: XC8

       6

Running and debugging C
Reading dissasembly

8

       11

Veteran's Day (no class)

       13

I/O ports and timing loops in C

9

       18

Timers and interrupts in C

       20

PWM in C

10

       25

Analog-to-Digital Converter (ADC)

       27

ADC in C

11

Dec 2

Comparators

        4

Comparators in C

 

Specific Learner and Expressive Outcomes and Assessment Strategies:

 

ABET

Outcome Criteria #

Learner Outcomes

Assessment

1

1. The student will use assembly language to configure, read from, and write to parallel ports.

The student will complete homework assignments, a written test, laboratory work, and write reports on laboratory work.

2 - 9.A.3.

2. The student will use assembly language to manipulate data for use by the machine or by a user.

The student will complete homework assignments, a written test, laboratory work, and write reports on laboratory work.

3 - 9.A.7.

3. The student will use assembly language to configure and use an analog-to-digital (A/D) converter.

The student will complete homework assignments, a written test, laboratory work, and write reports on laboratory work.

4 – 9.a.2.

4. The student will use assembly language to configure and use a serial port.

The student will complete homework assignments, a written test, laboratory work, and write reports on laboratory work.

5 – 3.f.

5. The student will be able to write interrupt service routines to respond to a system input.

The student will complete homework assignments, a written test, laboratory work, and write reports on laboratory work.

6

6. The student will be able to use specification sheets to determine the how to configure and program microcontrollers and their associated ports.

The student will complete homework assignments, a written test, laboratory work, and write reports on laboratory work.

7

7. The student will communicate their development process, work, assumptions, and evaluations to their peers and the professor.

The student will complete homework assignments, a written test, laboratory work, and write reports on laboratory work.

Course Summary:

Date Details Due