Microcontroller vs Microprocessor

Microcontroller:

Microcontroller is a compact integrated circuit designed to govern a specific operation in an embedded system. It contains all essential components of a microcomputer such as CPU, RAM, ROM/EPROM, I/O lines, etc.

Microprocessor:

The microprocessor is a program-controlled semiconductor device (IC), that fetches (from memory), decodes, and executes instructions. It is mainly used as a CPU (Central Processing Unit) in computers.

Difference between Microcontroller and Microprocessor: