⟩ What are the main difference between Micro-Controller and Micro- Processor?
A microcontroller is by definition a is a computer on a chip. It includes all the necessary parts (including the memory) all in one IC. You just need to apply the power (and possibly clock signal) to that device and it starts executing the program programmed to it. A microcontroller generally has the main CPU core, ROM/EPROM/EEPROM/FLASH, RAM and some necessary functions (like timers and I/O controllers) all integrated into one chip. The original idea behind the
microcontroller was to limit the capabilities of the CPU itself, allowing a complete computer (memory, I/O, interrupts, etc) to fit on the available silicon real estate.
Microcontrollers are typically used where processing power isn't so important. More important are generally compact construction, small size, low power consumption and that those chips are cheap. For example controlling a microwave oven is easily accomplished with the smallest of microcontrollers. There is countless number of small
electronic devices which are nowadays based on microcontroller. A modern home can include easily tens or hundreds of microcontrollers, as almost every modern device which has electronics have a microcontroller (or more than one) inside.
Microprocessor is generally just the CPU core itself, although nowadays it might have some accessory parts also integrated to the same chip