A device which includes a central processing unit (CPU), memory, and (generally) an assortment of I/O peripherals (UART, ADC, DAC, general-purpose I/O, I2C, etc.) in a tightly-coupled standalone package.

Microcontrollers are software-controlled devices which provide a convenient way to perform complex tasks like data collection, reporting and control in a compact, tightly integrated package.

There are a few general differences between microcontrollers and microprocessors:

  • Microcontrollers generally use internal flash/ROM/RAM and lack external address and data buses. Microprocessors rely on external memory, and have limited internal memory (usually only cache).

  • Microcontrollers generally have a large variety of input/output peripherals built-in, like general-purpose I/O lines, analog-to-digital converters, dedicated UART hardware, etc. Microprocessors generally do not, since most of its I/O functionality is used for addressing external memory (or memory-mapped peripherals.)

  • Microcontrollers are generally optimized for very low power consumption, and have computational trade-offs because of this (many have no floating-point capabilities, no pipelining, etc.). Modern microprocessors perform faster than microcontrollers, and require much higher power budgets.

Major manufacturers of microcontrollers include Microchip, Atmel (acquired by Microchip in 2016), NXP, Texas Instruments and Cypress Semiconductor.

related tags: