Appearing in almost every situation where low-cost, real-time control is required, microcontrollers vary from the simplest devices with a few bytes of RAM and simple programs to those with huge resources and capable of running real-time operating systems.
Microcontrollers are microprocessors with the built-in peripherals, RAM, clocking, timers and program memory. Most microcontrollers have some analogue interface capability having at least one ADC but they may also have PWM, DACs, op-amps and comparators too.
Steve has been working with dsPIC and PIC Microchip microcontrollers since the 16F84 was introduced in 1995. Development & debugging is usually carried out in MPLAB X.
As the devices are generally programmed in C or C++ this means that the function of the board can often be changed without having to redesign the PCB.
Microcontrollers can generally be optimised for low power or high speed and usually have good support for external peripherals.
Having so many features internally helps to reduces both the size and cost of the board as well as the PCB design time.