微控制器

end = 全稱單晶片微型計算機}}，是把中央處理器、儲存器、定時 / 計數器（timer/counter）、各種輸入輸出介面等都整合在一塊積體電路晶片上的微型計算機。與應用在個人計算機中的通用微處理器相比，它更強調自供應（不用外接硬體）和節約成本，整合程度更高，但因為規格已經包含，所能實現的功能也較專一。它的最大優點是體積小，可放在儀表內部，但儲存量小，輸入輸出介面簡單。由於其發展非常迅速，舊的定義已過時，所以在很多應用場合被稱為範圍更廣的微控制器（microcontroller unit，MCU）。

概述

絕大多數現在的微控制器都是基於馮・諾伊曼結構的，這種結構清楚地定義了嵌入式系統所必需的四個基本部分：一箇中央處理器核心，程式儲存器（只讀儲存器或者快閃記憶體）、資料儲存器（隨機儲存器）、一個或者更多的定時 / 計數器，還有用來與外圍裝置以及擴充套件資源進行通訊的輸入 / 輸出埠 —— 所有這些都被整合在單個積體電路晶片上。

微控制器與通用型中央處理單元晶片不同在於前者一般很容易配合最小型的外部支援晶片製成工作計算機，這樣就可以很容易的把微控制器系統植入裝置內部來控制裝置了。近年來為了在指令和資料上使用不同的字寬，並提高處理器線速度，哈佛結構在微控制器和數字訊號處理器也逐漸得到了廣泛的應用。

傳統的微處理器是不允許這麼做的。它要完成微控制器的工作，就必須連線一些其他晶片。比如說，因為晶片上沒有資料儲存器，就必須要新增一些 RAM 的儲存晶片，雖然所新增儲存器的容量很靈活，但是至少還是要新增。另外還需要新增很多連線來傳遞晶片之間的資料。與以上的情況相比，微控制器的工作則相對獨立，一個典型的微控制器只需要一個時鐘發生器和很少的 RAM (SRAM) 和 ROM (EPROM, EEPROM) 就可以在工作了。同時，微控制器具有豐富的輸入輸出裝置，例如模擬數字轉換器、定時器、序列埠，以及其他序列通訊介面，比如 I2C 匯流排，序列周邊介面，控制器區域網等。通常，這些整合在內部的裝置可以透過特殊的指令來操作。

微控制器時鐘頻率通常較同時代的計算機晶片低，但它價格低廉，能夠提供充足的程式儲存器、豐富的片上介面。某些架構的微控制器生產廠商眾多，例如 8051 系列、Z80 系列。一些現代的微控制器支援一些內建的高階程式語言，比如 BASIC 語言、C、C++ 等。

微控制器的位數

根據匯流排或資料暫存器的寬度，微控制器又分為 4 位、8 位、16 位和 32 位元微控制器。4 位微控制器多用於冰箱、洗衣機、微波爐、燈具等簡單的家電控制中；8 位、16 位微控制器主要用於一般的控制領域，例如遙控器手把、空調、發動機等，一般不使用作業系統；32 位用於網路操作、多媒體處理等複雜處理的場合，一般要使用嵌入式作業系統，例如電視、車機、監視器等產品。

常見的微控制器

生產這種產品的供應商眾多而且技術各有所長，微芯（Microchip）的 PIC 系列出貨量居於業界領導者地位；Atmel 的 51 系列及 AVR 系列種類眾多，受支援面廣，滿足各種場景的市場需求；德州儀器的 MSP430 系列以低功耗聞名，常用於醫療電子產品及儀器儀表中；瑞薩微控制器在日本汽車業中使用廣泛。

英特爾
8-bit 8051 系列
8XC42
MCS48
MCS51 : Intel 8051 系列歷史悠久，相容產品眾多，使用廣泛
8xC251
16-bit
MCS96 系列
MXS296
32-bit
i960
ARM （Acorn RISC Machine）系列微控制器

兩顆 Atmel 牌的 ATmega 微控制器

AVR 系列（愛特梅爾公司）
Atmel AT91 series (ARM 處理器等)
AT90 series – AVR (Atmel 的高效能 RISC 8 位微控制器，老產品)
ATmega series – AVR (Atmel 的高效能 RISC 8 位微控制器，新產品)
ATXmega series – AVR (Atmel 的高效能 RISC 32 位微控制器，新產品)
Atmel AT89 series (Intel 8051/MCS51 架構 8 位微控制器)
MARC4
Cypress MicroSystems（賽普拉斯微系統公司）
CY8C2xxxx (PSoC)
飛思卡爾半導體 (原摩托羅拉)
8-bit
68HC05 (CPU05)
68HC08 (CPU08)
68HC11 (CPU11)
16-bit
68HC12 (CPU12)
68HC16 (CPU16)
Freescale DSP56800 (DSPcontroller)
32-bit
Freescale 683XX (CPU32)
MPC500
MPC 860 (PowerQUICC)
MPC 8240/8250 (PowerQUICC II)
MPC 8540/8555/8560 (PowerQUICC III)
Holtek（盛群半導體）
HT48FXX Flash I/O type
HT48RXX I/O type
HT46RXX A/D type
HT49RXX LCD type
微晶片科技（微芯公司）的 PIC 微控制器系列
8-bit : PIC10 PIC12 PIC16 PIC18
16-bit : PIC24F PIC24H dsPIC30 dsPIC33
32bit : PIC32 （採用 MIPS M4K 核心架構）
美國國家半導體
COP8
CR16
NEC
78K
恩智浦半導體 (原飛利浦）
LPC2000
LPC900
LPC700
Parallax, Inc.

BASIC Stamp
瑞薩科技系列微控制器 (由原日立，NEC，三菱合併）
Renesas 16-bits
Renesas M16C Series
Renesas M32C Series
Renesas R8C Series
Renesas M16C/Tiny Series
Renesas R8C/Tiny Series
Renesas H8/Tiny Series
意法半導體
STM32 series (ARM Cortex-M3 系列，32 位元)
STM8 series (自主 RISC 指令集，8 位元)
SyncMOS 新茂國際科技全系列微控制器
SM59RXXA2 8-bits 1T (RISC)
SM59DXXG2 8-bits 6T (ISP)
SM59XX 8-bits 12T (ISP)
SM89XX 8-bits 12T (Traditional 8051)
SM79XX 8-bits 12T (Customization)
PADAUK 應廣科技全系列微控制器 (多核心微控制器)
P201CS/CD 8-bits
P211CS/CD 8-bits
p232CS/CD 8-bits
P234CS/CD 8-bits
ZiLOG
Z8
Z86E02
STC 宏晶系列微控制器
STC89C series 6T/12T 增強性微控制器 (Intel 8051 架構，有外部匯流排)
STC11F/11L series 2T 增強性微控制器 (Intel 8051 增強架構，無外部匯流排程式支援)
STC12C/12LE series 2T 增強性微控制器 (Intel 8051 增強架構，無外部匯流排程式支援)
STC15C/15LE series 2T 增強性微控制器 (Intel 8051 增強架構，無外部匯流排程式支援，正在開發中)
Kernel-IC 華芯微控制器 LS 系列
LSx051 series 12T 雙核微控制器 (Intel 8051 架構，無外部匯流排)
LSx151 series 12T 三核微控制器 (Intel 8051 架構，無外部匯流排)
LS052A series 6T 三核微控制器 (Intel 8051 架構，無外部匯流排)
新唐科技 Nuvoton NuMicro Family
8051 微控制器 (8-bits)
ARM Cortex-M0 微控制器 (32-bits)
ARM Cortex-M4 微控制器 (32-bits)

3.1 其他系列的微控制器

MSP430 系列微控制器
LM3S 系列微控制器
北京君正 JZ 系列微控制器
8098、80196 系列微控制器
AT8P5X 系列微控制器
CZG8000 系列微控制器

微控制器的開發

微控制器的軟體開發中，以往多使用匯編語言，如今越來越多的使用 C 語言，又或者使用 BASIC 語言 等更適合初學者的語言，部分整合開發環境支援 C++。微控制器的軟體測試需要使用微控制器開發器或模擬器。

隨著技術的發展，2000 年後已經有很多微控制器自帶了 ISP（線上程式設計設計）或支援 IAP，徹底地改變了傳統的開發模式，使得開發微控制器系統時不會損壞晶片的引腳，加速了產品的上市並降低了研發成本，縮短了從設計、製造到現場除錯的時間，簡化了生產流程，大大提高了工作效率。這類微控制器包括 AT89S 系列微控制器、AVR 系列微控制器等。

4.1 硬體

開發板可以進一步簡化程式的開發和燒製過程。開發板可能包含實際晶片或是模擬器。透過配套的下載線連線電腦與開發板，在電腦上編寫程式下載到開發板。批次生產會用到程式設計器，或是掩膜印刷方式 (Mask ROM)，後者是晶片本身終身搭載固定程式（不可重新程式設計），意味著僅適用於特定成品。

4.2 軟體開發環境

一些知名的微控制器開發環境有：

微芯公司的 MPLAB IDE 可用於該公司全系列微控制器的開發與除錯，除支援該公司的 ASM 組譯器 C 語言編譯器外，也支援許多第三方的編譯器。
ARM 公司的 μVision 整合開發環境（原為 Keil 公司產品，2005 年該公司已由 ARM 購併），包含組譯器與 C 編譯器，可用於 51 微控制器及 ARM 開發。
ARM 公司的 Mbed，可以使用線上 IDE 來開發。

4.2.1 Proteus

Proteus 軟體是初學者入門的首選軟體，它是 Labcenter Electronics 公司的一款商業版電路設計與模擬軟體。內包括 ISIS、ARES 等軟體模組。ARES 模組主要用來完成 PCB 的設計，ISIS 模組用來完成電路原理圖的布圖與模擬。

Proteus 的軟體模擬基於 VSM 技術，它與其他軟體最大的不同也是最大的優勢就在於能模擬大量的微控制器晶片，比如 MCS-51 系列、PIC 系列等等，甚至 ARM 處理器，以及微控制器外圍電路，比如鍵盤、LED、LCD 等等。該軟體還附帶了一些案例和豐富的幫助檔案。