Below is the Wikipedia definition of a Microcontroller:
This is a fairly accurate definition but it leaves out some key points. Lets first talk about what a microcontroller is not.
|Slow||Microcontroller can be very fast. Microcontroller speeds are now approaching 1GHz. While slower then a P4, this is still very fast. MCUs also typically can execute many instructions in a single clock cycle (just like a processor in your PC)|
|Simple||Many MCUs have immense feature sets, including Analog-Digital converters, serial ports, Flash controller, and USB support, all devices that are not normally included on the die of a normal CPU|
|Cheap||While many MCUs are inexpensive, there are also many that would rival the prices of today's CPUs.|
|Unreliable||MCUs are designed to be much more reliable then the CPU in your computer. They are used in industrial environments where temperatures can go from one extreme to the next in the matter of minutes. They also have a fairly wide tolerance of voltages and radiation.|
So now we have dispelled some of the myths of microcontrollers lets talk about what they do. A microcontroller is a CPU. It is that simple. Take a CPU attach some added features to it and you have a Microcontroller. Intel did precisely that when they developed the i186 (80186) MCU. It is a x86 core with I/O and other features. Over the years MCUs have matured and added many features that help them interface with the outside world.
|ADC/DAC||Analog->Digital Converters and Digital->Analog Converters. These are devices that take real world data (like temperature or pressure) and convert them to a format that the MCU can process and display. DACs convert the digital data back to analog for things like audio output|
|I/O||Input/Output. This is just a general purpose port used for talking to other things around the MCU.|
|Timers/Counters||These are essential for working with the outside world. They provide timing to say check the temperature once a second. Or to count how many times a sensor is tripped and do something when it reaches a certain number.|
|PWM||Pulse-Width-Modulation: This is what is used for controlling servos, motors and other things.|
|RAM||a MCU contains RAM ONBOARD, meaning that programs can run directly on the chip itself.|
|ROM||MCUs use a variety of ROMs, most common now is Flash. Just like the card that stores the images on your camera, a MCU contains ROM to store the program that it runs. The ROM (if writable) can also be used to store data for future reference.|
|Networking||Many MCUs now have Ethernet, USB, or CAN (Control Area Network) to talk to other MCUs in the same product. This is useful for passing data between subsystems.|
|DSP||Digital Signal Processing. DSP is one of the biggest applications of MCUs. They take analog data (like voice, or music, or radio) and convert it to digital to do something to it such as removing noise, or adding another signal to it, and then can output it back out as analog to be heard, or sent. Cell phones are huge users of DSP.|
|Power Management||MCUs have been using advanced power management methods for much longer then CPUs in your computer. Power is often critical for a microcontroller, especially for applications that run off of batteries. Such things as static cores, suspend, sleep and turning off of unused portions of the chip were first used on microcontroller.|
That's a lot of features for just a tiny little MCU. In addition to features on the chip itself a MCU is also available in many different physical packages. A pentium 4 can be had in just a couple packages where most microcontrollers are available in many packages, temperature ranges, and burn-in options. Some applications require a very small package like a TSOP while others (like industrial or military) may require a radiation hardened ceramic package with gold leads.
Microcontrollers also have variety. There are about 4 companies
who make processors for PCs, Intel, AMD, VIA, and IBM. On the
other hand there is over 100 companies that make microcontrollers,
of all different features, speeds, and data widths (8 bit 16 bit
32 bit etc) Everywhere you go there are microcontrollers, they
are the brains that keep everything in day to day life working.
(from devices I found walking around my home)
Surround Sound System
Car (most all of them)
Fluke Digital Multi-Meter
Hospital Equipment (IVs, Heart Monitors, Defibs, etc)
And MUCH more
Take a walk around your home or office and think of all the products that you use on a daily basis that rely on a microcontroller. You will be surprised at how many of them it takes to keep us going in todays digital world. Microcontrollers also last a great deal longer in the market. Many MCUs made today have been made for over 20 years. If it works, there is no need to change it (other then up the clock some). Check out the CPU lifecycle page and see how old some of the designs are.