There is no strict boundary between microprocessors and microcontrollers because certain chips can access external code and/or data memory (microprocessor mode) and are equipped with particular peripheral components. Some microcontrollers have an internal RC oscillator and do not need an external component. However, an external quartz or ceramic resonator or RC network is often connected to the integrated active element of the clock generator. The clock frequency varies from 32 kHz (extra low power) to 75 MHz. Another auxiliary circuit generates the reset signal for an appropriate period after a supply is turned on. The watchdog circuits generate a chip reset when a periodic reset signal does not arrive in time due to a program problem.

There are various consumption reduction modes activated by program instructions. The complexity and structure of the interrupt system (total number of sources and their priority level selection), setting the level/edge sensitivity of external sources and events on internal (i.e., peripheral) sources, and handling of Simultaneous interrupt events appear as some of the most important aspects. most important criteria of the microcontroller taxonomy. Although 16-bit and 32-bit microcontrollers are used in special and demanding applications (servo drive control), most applications use 8-bit chips. Some microcontrollers can internally operate with 16-bit or even 32-bit data only in the fixed-point range; microcontrollers do not have a floating point unit (FPU). The new families of microcontrollers are based on the execution of the RISC (Reduced Instruction Set) core due to the pipeline of an instruction for few clock cycles or even per cycle. Further differences can be found in the addressing modes, the number of direct access registers and the type of code memory (ranging from 1 to 128 KB) which are important from the point of view of firmware development. Flash memory allows for fast and consistent In-System Programming (ISP) using 3-5 wires, while classic EPROM makes chips more expensive due to windowed ceramic packaging. Some microcontrollers have built-in boot and debug capabilities for uploading code from a PC to flash memory using UART (Universal Asynchronous Receiver/Transmitter) and the RS-232C serial line. EPROMs or OTP (One Time Programmable) ROMs seem effective for large production runs. Data EEPROM (64 B to 4 KB) for calibration constants, parameter tables, status storage, and passwords writable via firmware support alongside standard SRAM (32 B to 4 KB).

The range of peripheral components is very wide. Each chip has associated bidirectional I/O (input/output) pins on 8-bit ports, but they often have an alternate function. Certain chips can set an input decision level (TTL, MOS, or Schmitt trigger) and pull-up or pull-down current sources. Output drivers vary in open collector or tri-state circuit and maximum currents. At least one 8-bit timer/counter (usually provided with a prescaler) counts any external events.

(optional pulses from an incremental position sensor) or internal clocks, to measure time intervals, and periodically generates an interrupt or variable baud rate for serial communication. General purpose 16-bit counters and appropriate registers form capture units to store the timing of input transients or comparison units that generate output transients such as a stepper motor drive status or a PWM signal. of pulse width). A real-time counter (RTC) represents a special type of counter that runs even in sleep mode. One or two asynchronous and optionally synchronous (UART/USART) serial interfaces communicate with a host computer while other serial interfaces such as SPI, CAN, and I2C control other specific chips used in the device or system. Almost all microcontroller families have members that have an A/D converter and a single-ended input multiplexer. The input range is usually unipolar and equal to the supply voltage or, in rare cases, the on-chip reference voltage. The conversion time is given by the ADC successive approximation principle, and the effective number of bits (ENOB) does not usually reach the nominal resolution of 8, 10 or 12 bits.

There are other special interface circuits, such as the Field Programmable Gate Array (FPGA), which can be configured as an arbitrary digital circuit. Microcontroller firmware is usually programmed in an assembly language or C language. Many software tools, including chip simulators, are freely available from chip manufacturer or third-party websites. A professional integrated development environment and debugging hardware (in-circuit emulator) is more expensive (thousands of dollars). However, the clever use of an inexpensive ROM simulator on a microprocessor system or a step-by-step development cycle using a flash microcontroller ISP programmer can develop quite complex applications.