Dissemination of Microprocessor Courses through Classroom and Interactive Cyber-Enabled Technologies

National Science Foundation (NSF) Award Number: DUE-1120000

Project Period:  September 2011 through August 2014

Type II – Dissemination Phase  

 

    Back to Intro    Workshops   Regional Breakdown  Workshop Application    Terms and Conditions

Workshop Announcement    Project Poster PDF    Project Concept Logo

       

Course Curricula and Lab Modules Topics and Contents

(.pdf version)

 Course Module #1:  Microcontroller Technology

A history of microprocessor development, differences between microcontrollers and microprocessors, microcontroller applications, microprocessor architectures, memory types, microcontroller packaging/appearance, PIC16F84A, PIC16F88, and PIC16F877A memories

Lab Module #1:

Download operation software and become familiarized with the PIC training system hardware

 

Course Module #2:  Numbers and Programming Languages

Number systems, number system conversions, logic gates, logic math (addition & subtraction), assembly language format, the environment and software operations, header files, and source code

Lab Module #2:

MPLAB simulation, PICKIT2 programming, header file creation, PIC training system operations

 

Course Module #3:  Register and Memory Programming

PIC instruction sets & registers, 16F84A, 16F88, & 16F877A internal blocks and data memory (DM) distributions, DM blocks and program memory (PM) page controls, C, Z, and DC flags in the STATUS registers, setting and clearing bits, logic & math operations, and addressing modes.

   

Lab Module #3:

Assembly code writing, math and logic operations, addressing modes, program simulation and execution

 

Course Module #4:  I/O and Routines

PIC embedded system design, use of internal oscillators and external resonators, port configuration, I/O port interfacing, DIP switch inputs, LED controls, 7-segment interfacing, flowcharts, programming & controls, counters, loops, time delays, subroutines, DM memory banks, PM pages.

Lab Module #4:

Logic inputs from a DIP switch and outputs to LEDs, 7 segment display controls, programming loop design, time delay on LEDs activations, subroutines.

 

Course Module #5:  I/O and Watch Dog Applications

CONFIG register configuration, Watch Dog Configuration, WDT controls & applications, the WDT in low power hibernation.

Lab Module #5:

WDT controls and demonstrations

 

Course Module #6:  Interrupts

Sources of interrupts, flags and enable setup, interrupt handler, IRQ configuration, polling vs. IRQ, IRQ service routines, prioritization of IRQ services, multitasking applications, ISR implementations.

Lab Module #6:

IRQs on RB0 or RB4-RB7 controls and demonstrations

 

Course Module #7:  LCD Communications

Parallel interfaces, data transmission protocols, long and short table lookup implementations, LCD module interface.

Lab Module #7:

LCD module display with different lookup tables

 

Course Module #8:  Keypad Controls

Software debounce designs, key decoding designs, matrix keypad interface design, Software interface design, testing and verification.

Lab Module #8:

Matrix keypad, scanning, debouncing, and decoding exercises

 

Course Module #9:  Stepper Motors Controls

Uni-polar & bipolar stepper motors, stepper motor interfacing, H-bridge:  driver, speed, and direction designs/controls.

Lab Module #9:

Controls of a stepper motor’s speed and direction

 

Course Module #10: DC Motors Controls

H-bridge controls, DC motors interface, driver, speed, and direction designs/controls, PWM controls.

Lab Module #10:

Control of two DC Motors’ speeds and directions

 

Course Module #11: ADC and DAC Controls

Analog to digital and digital to analog conversion, scaling, and communication with the LCD

Lab Module #11:

Collecting analog data, data processing, analog to digital, and digital to analog

 

Course Module #12: Remote Data Logging

                             2.4 GHz radio frequency data logger, RF transceiver through serial peripheral interface (SPI) Bus

Lab Module #12:

RF data logger Exercise with 2.4 GHz MRF24J40MA transceiver

   

Course Module #13: Wave Forms Generation

Design a waveform generator which outputs sinusoid, square, and triangle forms

Lab Module #13:

Waveform generation with the PIC trainer

 

Course Module #14: Parallel Control of DC Motors

PWM control of DC motors, monitoring the state of the motor, changing the DC motor output

Lab Module #14:

PWM control of a DC motor, altering motor speeds, altering the duty cycle of the PWM module

 

Course Module #15: Feedback Loops with RF Sensing and DC Motors

Use multiple built-in microcontroller functions, A/D conversion and PWM with interrupt, control DC motors, RF sensing, controlling the speed of DC motors

Lab Module #15:

Hardware and software implementation of the ADC, PWM interrupt functions to control multiple DC motors through RF sensing

 

Course Module #16: Multi-Processors with SPI Protocols

Multi-processor communications with SPI protocol designs

Lab Module #16:

Communicate data from one processor to the other

 

 

 

 

Webmaster - rljones@odu.edu

©2013 Old Dominion University

Engineering Technology

Last Update - 02/09/2013