마이크로컨트롤러(MCU)는 다양한 전자기기에 탑재되어 있는 핵심 부품으로 중앙처리장치(CPU)와 메모리, 프로그래밍이 가능한 입출력 모듈을 모아서 하나의 칩으로 만든 장치이다. 두뇌가 인체를 제어하는 것처럼 MCU는 프로그래밍을 통하여 각종 센서의 신호를 읽고 계산이나 제어를 할 수 있는 하나의 칩으로 이루어진 소형 컴퓨터라고 할 수 있다.
손바닥 컴퓨터인 아두이노는 ATMega328이라는 MCU를 사용한다.
MCU의 핵심 블록인 CPU는 연산장치(ALU), 제어장치(CU) 및 레지스터로 구성되어 있다.
MCU는 청소기, 냉장고, 가습기, 공기청정기, 세탁기, 정수기, 도어락, TV, 리모콘, 에어컨, 전동 드라이버, 드론, 이어폰, 스마트폰, 자동차 등에 활용된다.
전자 장비의 특정한 기능을 구현하려면 MCU에 소스코드로 작성된 프로그램을 MCU가 이해하는 형태로 변환하여 플래시 메모리에 업로드 하는 과정을 거쳐야 한다.
MCU는 다양한 입력 센서로부터 신호를 받고, 이를 CPU에서 판단,계산 등의 처리를 하고 결과를 시각,청각 또는 출력 신호로 보낸다.
ex) 시각출력, 청각출력, 입력 신호 센싱, 출력 신호 제어, 통신, 계산 및 처리 등
MCU는 어떻게 프로그래밍 되는가에 따라 다양하게 이용될 수 있다. 프로그래밍 되지 않는 MCU는 쓸모가 없다.
대부분 PC를 통해 MCU 프로그램을 작성한다. 특정한 MCU 프로그래밍이 필요한 애플리케이션은 인터넷에서 다운로드 받을 수 있다.
PC에서 프로그래밍이 완료되면 MCU에 프로그램을 넣어야 하는데, 이 작업을 업로드라하며 디버거와 프로그래밍 도구가 필요하다. 아두이노는 이런 도구가 필요 없어서 쉽게 활용할 수 있다는 장점이 있다.
AVR, 8051, PIC, ARM 등