When you start learning about Microprocessors (in most cases you will begin with Intel 8085) and Microcontrollers (usually you will begin with Intel 8051 from the MCS 51 micro controller family), the first question that pops up is “hey… what’s the difference in between”? In this article, I am explaining the basic differences and similarities between a microprocessor and microcontroller. In fact, you can call this article a simple comparison of both micro computing devices. This comparison will be same (at the basic level) for any microprocessor and controller. So let’s begin.
At the basic level, a microprocessor and micro controller exist for performing some operations – they are – fetching instructions from the memory and executing this instruction (arithmetic or logic operations) and the result of these executions are used to serve to output devices. Are you clear? Both devices are capable of continuously fetching instructions from memory and keep on executing these instructions as long as the power is not turned off. Instructions are electronic instructions represented by a group of bits. These instructions are always fetched from their storage area, which is named as memory. Now, let’s take a closer look at block diagrams of a microprocessor-based system and a microcontroller-based system.
Take a closer look at the block diagram and you will see a microprocessor that has many support devices like Read-only memory, Read-Write memory, Serial interface, Timer, Input/Output ports, etc. All these support devices are interfaced to the microprocessor via a system bus. So one point is clear now, all support devices in a microprocessor-based system are external. The system bus is composed of an address bus, data bus, and control bus.
Okay, now let’s take a look at the microcontroller.
The above block diagram shows a microcontroller system in general. What’s the primary difference you see? All the support devices like Read-only memory, Read-Write memory, Timer, Serial interface, I/O ports are internal. There is no need for interfacing these support devices and this saves a lot of time for the individual who creates the system. Did you get the basic understanding? A microcontroller is nothing but a microprocessor system with all support devices integrated inside a single chip. There is no need for any external interfacing in a microcontroller unless you desire to create something beyond the limit, like interfacing an external memory or DAC/ADC unit, etc. To make this microcontroller function, you need to give a DC power supply, a reset circuit and a quartz crystal (system clock) from an external source.
Okay, so we have an idea about the basic difference between a microprocessor and a microcontroller. Now, let’s compare some features of both systems.
So you wanna read more about a specific microprocessor and microcontroller? Here is:-
As you already know, support devices are external in a microprocessor-based system where as support devices are internal for a microcontroller. Micro controllers offer software protection where a microprocessor base system fails to offer a protection system. This is made possible in microcontrollers by locking the on-chip program memory which makes it impossible to read using an external circuit. Okay! So that are basic differences, now you can come up with some more. As we need to interface support devices externally in a microprocessor-based system, the time required to build the circuit will be more, the size will be more and power consumption will be more in a microprocessor-based system compared to the microcontroller.