Por lo general estos dispositivos gozan de las características que a continuación se enumeran y que se presentaran gráficamente.
Entrada de RESET: pad por el cual se puede reiniciar el chip en cualquier momento para que vuelva al inicio del programa.
Reloj: El controlador ejecuta el programa a la frecuencia del reloj. El reloj puede ser interno o externo usando un cristal de cuarzo o un circuito resonante LC, o incluso un circuito RC. Al alimentar el microcontrolador el reloj comienza a operar.
Procesador central: mejor conocida como la CPU del microcontrolador. Su función es sacar, decodificar y ejecutar las instrucciones almacenadas en la memoria de programa.
Memoria de programa: contiene el programa a ejecutar. Puede ser de varios tipos: ROM, de solo lectura, por lo que viene programada de fábrica; EPROM, programable por el usuario, pero difícilmente reprogramable; EEPROM, programable y borrable eléctricamente, lo que permite un control total, cómodo y rápido por parte del usuario.
Memoria RAM: es la memoria de trabajo, en la que se realizaran las operaciones con las variables de programa definidas.
Registros de hardware: pueden ser de dos tipos, registros internos del procesador y los registros usados para controlar los dispositivos externos.
Puertos de E/S: son las conexiones con el mundo exterior. Por estas patillas podremos manejar dispositivos externos de salidas (LED, relés, etc.) y leer dispositivos de entrada (pulsadores, interruptores, sensores, etc.).
Contadores y divisores: empleados en procesos que requieran un control del tiempo, como relojes, alarmas, temporizadores y cualquier proceso que requiera controlar periodos de tiempo.
Además de las características básicas descritas, pueden llevar añadidas otras más sofisticadas que incrementan la potencia del microcontrolador notablemente y en ocasiones resultan imprescindibles, como las que se indican a continuación:
Programa de depuración o monitorización: permite comprobar en tiempo real el funcionamiento del programa y detectar errores en el mismo de manera sencilla.
Interrupciones: eventos que hacen que se ejecuten rutinas concretas. Todo ello independientemente de la instrucción que se esté ejecutando.
Puertos analógicos de E/S: si los microcontroladores incluyen conversores analógico-digitales y/o digitales-analógicos, podremos leer señales analógicas o generar señales analógicas, con lo que la comunicación con el exterior se hace más cómoda y flexible.
Puerto serie: permiten una comunicación fácil con un ordenador personal o con otros dispositivos que usen puertos serie (RS232, CAN, SPI, etc.).
Interfaces con memoria externa: si lo incluyen permite ampliar la capacidad de memoria para procesar programas más extensos o disponer de memoria RAM adicional. [5]