Getting Started with PIC16F1xxx using State Machines

r

Replace "Course Title" with your course title.Add course title abstract here

Course Outline

r

Coaching Interview 3. Develop a Course OutlineFrom the Job/Task analysis, group content together into chapters and name the chapters."Knowledge" (Concept/Fact/Principle) bubbles map to "Lessons""Procedure" bubbles map to "Lab Exercises" or "Quizzes" or other hands-on activities.Typically, a 1:1 relationship exists between Major Tasks and Chapters. However, you are free to group knowledge and procedures from several different Tasks into the same Chapter in the course outline.When finished, the TTE will produce a course outline in word format that captures this structure.

Chapter 1 - Introductions to State Machines

What is a State Machine

Benefits of a State Machine

Implementation of a State Machine in C

Chapter 2 - Setting up a Digital Output

Create MPLAB X Project using Simulated Curiosity Board (SCB)

Open MCC and Configure MCU

Setup Digital I/O in MCC

Generate Application and Main.c from MCC

Create State Machine application to light LED

Demo 1 - Program Digital Output Application into SCB

Chapter 3 - Controlling a Timer

Introduction to PIC16F1xxx Timer1 and Interrupts

Setup Timer and Interrupt in MCC

Create State Machine to Blink LED

Demo 2 - Program Timer Application into SCB

Chapter 4 - Reading a Keypad to control Digital Input/Output

Introduction or Read Modify Write (Latch vs PORT)

Setup I/O for Keypad in MCC

Create State Machine for reading Keypad

Demo 3 - Controlling LED on SCB with Keypad

Chapter 5 - Serial Communications using USART

Introduction to Serial Communication with USART

Configure USART using MCC

Create State Machine for USART Serial Communication

Demo 4 - Communicate with Terminal Program from SCB

Chapter 6 - Analog to Digital Conversion (ADC)

Introduction to ADC and Potentiometer control

Configure ADC to in MCC

Create State Machine for ADC to reading Potentiometer

Demo 5 - Communicate ADC value from Pot to Serial Terminal

Chapter 7 - Using Pulse Width Modulation (PWM)

Introduction to PWM

Configure PWM in MCC

Create State Machine to Read ADC value into PWM

Demo 6 - Control LED brightness from Potentiomentor using PWM

Summary

Summary of training

Knowledge Test Quiz

Main topic

Requirements

r

Coaching Interview 1. Gather top-level project constraints.Interview SME and sponsor to fill in each of the requested constraints.

Due Date

August 15, 2020

Major Job Outcome

r

What will Attendees be able to produce or accomplish back on the job after taking this training? State it as a noun-phrase, for example:"Customized LoRaWAN demo application using the SAMR34 Module"

Customer will be able to compile and execute their own PIC16F1xxx application using State Machines on a Microchip Demo Board using MPLAB X, MCC and XC8 Compiler.

Target Audience

r

Who are the major audience groups the training is targeted to?Expected background knowledge and experience level?

Basic understanding of MCU applications

Basic knowledge of C programming

Some familiarity with PIC16F1xxx

Some familiarity with MPLAB X, MCC and XC8

Implementation and Delivery Constraints

r

Course Type (Lecture-Only, Hands-On)?Course Duration (Hours)? Number of instructors required?

Self-Paced Online Training

10 minute segments

Optional Lab Manual for Home study

Target 6 sections each with a demo

Windows Operating System Only

Curiosity Board Simulator within MPLAB X used for any Demos

Major Tasks

r

What are the major engineering tasks required in order to accomplish the Job Outcome?For a Job Outcome of "Custom LoRaWAN demo application using the SAMR34 Module", we could have the following tasks:Evaluate the functional fitness of the SAMR34 for the demo applicationBuild/purchase a hardware prototype for the applicationDownload/Install firmware development toolsWrite and test firmware for the application

Introductions to State Machines

Setting up a Digital Output

Controlling a Timer

Reading a Keypad to control Digital Input/Output

Serial Communications using UART

Analog to Digital Conversion

Using Pulse Width Modulation