Embedded microcontrollers are everywhere today. In the average household you will
find them far beyond the obvious places like cell phones, calculators, and MP3 players.
Hardly any new appliance arrives in the home without at least one controller and, most
likely, there will be several—one microcontroller for the user interface (buttons and
display), another to control the motor, and perhaps even an overall system manager. This
applies whether the appliance in question is a washing machine, garage door opener,
curling iron, or toothbrush. If the product uses a rechargeable battery, modern high
density battery chemistries require intelligent chargers.
A decade ago, there were significant barriers to learning how to use microcontrollers.
The cheapest programmer was about a hundred dollars and application development
required both erasable windowed parts—which cost about ten times the price of the
one time programmable (OTP) version—and a UV Eraser to erase the windowed part.
Debugging tools were the realm of professionals alone. Now most microcontrollers use
Flash-based program memory that is electrically erasable. This means the device can be
reprogrammed in the circuit—no UV eraser required and no special packages needed for
development. The total cost to get started today is about twenty-five dollars which buys
a PICkit™ 2 Starter Kit, providing programming and debugging for many Microchip
Technology Inc. MCUs. Microchip Technology has always offered a free Integrated
Development Environment (IDE) including an assembler and a simulator. It has never
been less expensive to get started with embedded microcontrollers than it is today.
While MPLAB® includes the assembler for free, assembly code is more cumbersome
to write, in the first place, and also more difficult to maintain. Developing code using
C frees the programmer from the details of multi-byte math and paging and generally
improves code readability and maintainability. CCS and Hi-Tech both offer free “student”