Main difference between Microprocessor and microcontroller is
in microcontroller there is a memory but in microprocessor there is
no memory.
microprocessor:
used for multiple applications.
microcontroller:
used for pre-defined application.
Microprocessor is the central processing unit in a computer. To make it to work it will need lots of other ICs around it (like ROM, RAM and timers).
Microcontroller is like a computer inside a single chip. Typical microcontroller has all necessary parts (CPU, ROM, RAM, timers) integrated inside one IC.