An embedded system is an electronic device designed to perform a small number of custom tasks or functions. They are often small devices (but not always), with limited processing power and memory with the ability to interact with the real world directly (also known as micro-controllers, more on this is a moment). The types of embedded systems runs the gamete from simplistic to complicated. Here are just a few examples of an embedded system:
Just take a look around where you are now and count how many embedded systems are around you now. You will be absolutely astonished with how many of them there are.
Much like a PC, the heart of an embedded system is a processor. However this is where the line begins to blur between a PC based processor and a micro-controller (MCU). A PC's processor is many orders of magnitude faster than a MCU, able to perform millions of calculations lightening fast. Today's PC based processors are running at speeds of around 3 GHz, thats a 3 with 9 0's behind it or 3,000,000,000 Hz! They also require other external components such as memory to perform their magic.
In contrast, many MCU's run at a fraction of speed some as slow as 4MHz, thats a 4 with only 6 0's behind it, 4,000,000 Hz! There are several manufacturers of MCU's such as Microchip, Texas Instruments, Freescale and Phillips and come in literally thousands of different flavors . They are able to interact with the real world directly with very little else, as they have everything they need to perform these interactions. In their most basic form they monitor the outside world for a change, once the change occurs, they perform some action and output their result.
So, lets say for what ever reason you want to monitor a button all day, every day forever! Lets also assume that once that switch changes state (Off to On position) that you want to make a light blink 56 times and then stop blinking until the button is pushed again at some time in the future.
While you could sit there for the rest of your life waiting for someone to push that little button, you probably have better things to do. This is the perfect application for a MCU! Simply connect the button and LED to the MCU, write a little code and poof, you have a LED which blinks 56 times every time that little button is pressed from now to eternity! Impressive huh?