to Embedded Electronic Control and Firmware Development
8 session mini-course is a practical, hands-on introduction
to microcontrollers, embedded electronic control, and firmware
how microcontrollers are
responsible for the operation, safety, and functionality of
all kinds of devices including digital watches, thermostats,
automobile engines, and industrial machines.
how to apply microcontroller hardware to old and new designs,
while learning to program a versatile experimenter's board
developed by the course instructor.
course includes a versatile
by the instructor to demonstrate
several different practical
applications of microcontrollers.
of this course are:
- To instill
in students a fundamental understanding of microcontroller architectures
and microcontroller-based electronic control with comparisons
of parts from leading manufacturers (including Motorola and Microchip
- To provide
a working knowledge of microcontroller programming with simple
hands-on excercises using the Microchip PIC16 assembly-language
instruction set and Microchip MPLAB development software.
provide students with everything they need to continue learning
on their own after the course is completed. Each student keeps
a complete firmware development system. The instructor provides
follow-up email support.
- To illustrate
the advantages of good design technique using labels, subroutines,
and macros to keep programming code readable and transportable.
completion of the course, students will have a fundamental
understanding of what microcontrollers do, the tools used
for development, and the nature of assembly-language programming.
will be familiar with analog-to-digital and digital-to-analog
conversion, power output, keypad scanning, using LED and
LCD displays, and powering motors and lamps.
civil, aeronautical, chemical, and manufacturing engineers.
process planners and industrial electricians.
and administrators of technical programs.
attorneys, medical personnel, and budget officers.
professionals working outside electrical engineering who need
a basic understanding of the subject field.
who is interested in knowing more about embedded control, including
those with a hobby interest.
this is an introductory course, students should be familiar with:
logic (AND, OR, NOR, XOR, etc.)
electrical principles (AC, DC, current, voltage, etc.)
and Microsoft Windows basic operation and file management
should possess reasonable keyboard skills. Experience with any programming
or scripting language is helpful but not mandatory. No advanced
mathematics skills are required.
sessions will include installation and troubleshooting of development
software on PDC computer lab machines running WindowsNT. This software
runs under Windows95/98/NT and does NOT require a fast processor
or lots of memory.
This is not a ladder-logic programming course
and does not involve PLCs (Programmable Logic Controllers).
Because PLCs are internally based on microntroller technology, this
course will still provide valuable insight into the inner workings
of this kind of industrial equipment.
Each student will receive:
Microchip In-Circuit Debugger (MPLAB-ICD) kit:
MPLAB software on CD and an in-circuit debugger for
the PIC16F87x series of microcontroller facilitates
easy programming and debugging in realtime without the
need for a UV eraser or other cumbersome hardware.
PIC16F components feature flash memory and on-chip debugging
to speed the development process.
versatile experimenter's board:
by the course instructor specifically for this course.
board can sense temperature and light and includes
a matrixed keypad, LED display, relay,
and a pulse-width-modulated MOSFET power output circuit
capable of driving small 12V lamps, motors, etc.
documentation of the experimenter's board, including schematics,
PCB layouts, and sample software. The board features multiple
channels of analog-to-digital conversion, a simple digital-to-analog
output for controlling lamps, motors, etc., and various other
list of recommended books and online resources.
and Internet technical
support from the course instructor after the course is completed
(some limitations apply).
A brief history of the computer.
What is a "microprocessor"?
Common architectures: Harvard vs. Princeton.
What is a "peripheral"?
What is a "port"? What is a "pin"?
Modern day microcontroller architectures from Motorola and Microchip
Details of the PIC16 mid-range family of processors from Microchip.
Create a specification for an experimenter's board.
Choose a microcontroller.
A closer look at the Microchip PIC16F877.
Creation of a real design: power supply, master oscillator, etc.
Creation of a schematic, printed-circuit layout, etc.
Presentation of the final manufactured product.
What can be accomplished with the final experimenter's board.
Introduction to the PDC computer lab, network, and login.
Introduction to the Microchip ICD kit and a review of the contents.
Installation of the ICD kit.
creation of a firmware project using files supplied by the instructor
to test the experimenter's board.
Class closes with all software installed and hardware tested, ready
to start programming.
The remaining four sessions will focus on:
- programming environment directives (MPLAB and MPASM)
- the instruction set (PIC16 mid-range RISC language)
- troubleshooting techniques.
The instruction set is introduced through a series of simple exercises.
Instruction set exercises continue with the creation of
simple flow-control routines:
if greater-than, less-than, or equal.
Common programming errors to watch out for.
A closer look at software provided by the instructor, including
the "Shell Application" servicing the LEDs, keypad, analog-to-digital
converter, and other peripherals on experimenter's board, all running
in the background under interrupt control.
The class will define a sophisticated application for the
experimenter's board, divide the project spec into manageable subroutines,
and start coding.
Coding continues from the previous session.
The instructor will help students troubleshoot problems
and learn more about the development software.
completion of the course, the instructor will accept additional
questions via email from class participants.
Smith is the president and chief designer for Soundsculpture
Incorporated, a Toronto-based developer of electronics and machines
for entertainment and industry.
Mr. Smith is an accredited
member of the Microchip consultant program, providing technical
support for users of Microchip components. Products designed by
Mr. Smith include:
PLS (programmable limit switch) technology used in Magna auto-parts
SwingPro consumer golf-swing analyzer.
Soundsculpture RC4 Radio Control System used in high-profile
productions around the world (including productions of Beauty
and the Beast and The Phantom of the Opera).
custom-designed control devices used at Ontario Place, the
Tower, and various film and theatrical productions.
has written various application notes including "Managing Variations
Between In-Circuit Emulators and Real Components in Critical Designs",
and "Successful Microcontroller Emulation in High Static Environments".
All required materials are provided in the course, including manuals
for the development system, PDF files and/or manuals for selected
components, and complete documentation for the experimenter's board.
will provide course notes on PIC16 assembly language instructions,
programming code for common structures (including testing for greater-than,
less-than, and equal), and a verbosely commented advanced application
for the supplied experimenter's board.
to James David Smith Home