User`s guide
© 2006 Microchip Technology Inc. DS51519B-page 9
MPLAB
®
IDE
USER’S GUIDE
Chapter 1. What is MPLAB
®
IDE?
1.1 AN OVERVIEW OF EMBEDDED SYSTEMS
MPLAB IDE is a software program that runs on a PC to develop applications for
Microchip microcontrollers. It is called an Integrated Development Environment, or IDE,
because it provides a single integrated “environment” to develop code for embedded
microcontrollers. Experienced embedded systems designers may want to skip ahead
to Section 1.7 “Components of MPLAB IDE”. It is also recommended that
Section 1.9 “MPLAB IDE On-line Help” and Section 1.10 “MPLAB IDE Updates
and Version Numbering” be reviewed. The rest of this chapter briefly explains
embedded systems development and how MPLAB IDE is used.
1.1.1 Description of an “Embedded System”
An embedded system is typically a design making use of the power of a small micro-
controller, like the Microchip PICmicro
®
MCU or dsPIC
®
Digital Signal Controller
(DSCs). These microcontrollers combine a microprocessor unit (like the CPU in a desk-
top PC) with some additional circuits called “peripherals”, plus some additional circuits
on the same chip to make a small control module requiring few other external devices.
This single device can then be embedded into other electronic and mechanical devices
for low-cost digital control.
1.1.2 Differences Between an Embedded Controller and a PC
The main difference between an embedded controller and a PC is that the embedded
controller is dedicated to one specific task or set of tasks. A PC is designed to run many
different types of programs and to connect to many different external devices. An
embedded controller has a single program and, as a result, can be made cheaply to
include just enough computing power and hardware to perform that dedicated task. A
PC has a relatively expensive generalized central processing unit (CPU) at its heart
with many other external devices (memory, disk drives, video controllers, network inter-
face circuits, etc.). An embedded system has a low-cost microcontroller unit (MCU) for
its intelligence, with many peripheral circuits on the same chip, and with relatively few
external devices. Often, an embedded system is an invisible part, or sub-module of
another product, such as a cordless drill, refrigerator or garage door opener. The con-
troller in these products does a tiny portion of the function of the whole device. The
controller adds low-cost intelligence to some of the critical sub-systems in these
devices.
An example of an embedded system is a smoke detector. Its function is to evaluate sig-
nals from a sensor and sound an alarm if the signals indicate the presence of smoke.
A small program in the smoke detector either runs in an infinite loop, sampling the sig-
nal from the smoke sensor, or lies dormant in a low-power “sleep” mode, being awak-
ened by a signal from the sensor. The program then sounds the alarm. The program
would possibly have a few other functions, such as a user test function, and a low bat-
tery alert. While a PC with a sensor and audio output could be programmed to do the
same function, it would not be a cost-effective solution (nor would it run on a nine-volt
battery, unattended for years!). Embedded designs use inexpensive microcontrollers to
put intelligence into the everyday things in our environment, such as smoke detectors,
cameras, cell phones, appliances, automobiles, smart cards and security systems.