views:

232

answers:

4

One difference is microcontrollers are usually designed to perform a small set of specific functions whereas microprocessors are for huge, general functions.

Anything else??

+4  A: 

From http://wiki.answers.com/Q/What_is_the_difference_between_a_microprocessor_and_a_microcontroller

A microcontroller is a specialized form of microprocessor that is designed to be self-sufficient and cost-effective, where a microprocessor is typically designed to be general purpose (the kind used in a PC). Microcontrollers are frequently found in automobiles, office machines, toys, and appliances.

The microcontroller is the integration of a number of useful functions into a single IC package. These functions are:

The ability to execute a stored set of instructions to carry out user defined tasks. The ability to be able to access external memory chips to both read and write data from and to the memory.

Basically, a microcontroller is a device which integrates a number of the components of a microprocessor system onto a single microchip.

So a microcontroller combines onto the same microchip :

The CPU core (microprocessor) Memory (both ROM and RAM) Some parallel digital I/O Also, a microcontroller is part of an embedded system, which is essentially the whole circuit board. Look up "embedded system" on Wikipedia. The difference is that microcontroller incorporates features of microprocessor(CPU,ALU,Registers)along with the presence of added features like presence of RAM,ROM,I\O ports,counter etc.Here microcontroller control the operation of machine using fixed programme stored in Rom that doesn't change with lifetime.

The other difference is that the micro controllers usually has to handle real time tasks while on the contrary the microprocessors in a computer system may not handle a real time task at all times.

Sidharth Panwar
Source: http://wiki.answers.com/Q/What_is_the_difference_between_a_microprocessor_and_a_microcontroller
Dennis Delimarsky
+1  A: 

A microcontroller is much more of a complete computer system. A microprocessor is just that -- a processor. A microcontroller will normally include memory (often both RAM and some sort of ROM) as well as peripherals such as serial ports and timers, and (in some case) more specialized hardware. For example, a microcontroller intended for motor control will typically include some PWM ports, while one intended for communication use might include encryption hardware.

Jerry Coffin
+2  A: 

A microcontroller is a microprocessor (a.k.a. CPU core or cores) with additional peripherals on-chip. The terms come from the 1970s, where a microprocessor (e.g. Motorola 6800 or Intel 8086) would have an address bus, a data bus, and control lines, and a microcontroller (e.g. Motorola 6801 or Intel 8051) would have peripheral I/O pins (serial ports, parallel I/O, timer I/O, etc.) but no external memory bus (you were stuck with what was on the chip).

Additionally, microprocessors executed their programs from external ROM and microcontrollers would use internal masked (as in "programmed at the factory by changing the IC photo mask") ROM. The only practical erasable ROMs were UV-erased EPROMS, electrically erasable PROMS (EEPROMS) were expensive, slow, and not very dense, and "flash" meant the bits of plastic sticking out of the mold seam lines on the chip.

Honestly, the line between them is fading away. Modern microcontrollers such as the Motorola 6812 series have an external memory bus and peripheral I/O pins at the same time, and can be used as either a microprocessor or microcontroller.

Mike DeSimone
The ARM architecture helps to blur the lines by being the core used in microcontrollers as well as microprocessors. Mips, same story. And with a few I/O lines you can add a spi or i2c flash or memory to a microcontroller, cant necessarily execute from it, but also blurs that line.
dwelch
The 6800 and x86 were the same core used in microprocessors and microcontrollers as well. For example, you could build a 6800-based system that looked like a 6801 so you could prototype your circuit and program before sending out to make the custom-ROM chips. The thing the ARM does different is that its "microprocessor" form is HDL code instead of an actual chip, so you can do almost all the prototyping on your workstation. Serial flash doesn't really blur the line; it works as a form of secondary storage (e.g. disk) instead of primary (e.g. BIOS).
Mike DeSimone
A: 

In short:
Microprocessor= CPU
Microcontroller= CPU+ peripherals+ memory

This link was useful too.