單晶片微處理器

單晶片,全稱單晶片微電腦(single-chip microcomputer),又稱微控制器(microcontroller),是把中央處理器、記憶體、定時/計數器(timer/counter)、各種輸入輸出介面等都整合在一塊積體電路晶片上的微型電腦。與應用在個人電腦中的通用型微處理器相比,它更強調自供應(不用外接硬體)和節省成本。

它的最大優點是體積小,可放在儀錶內部,但儲存容量小,輸出入介面簡單,功能較少。由於其發展非常迅速,舊的微控制器的定義已不能滿足,所以在很多應用場合被稱為範圍更廣的微控制器,由於單晶片微電腦常用於當控制器故又名 single chip microcontroller。

(圖源: Wikipedia)

概述

絕大多數現在的微控制器都是基於馮·紐曼架構,這種架構清楚的定義了嵌入式系統所必需的四個基本部分:一個中央處理器核心,程式記憶體(唯讀記憶體或者快閃記憶體)、資料記憶體(隨機存取記憶體)、一個或者更多的定時/計數器,還有用來與外圍裝置以及擴充功能資源進行通訊的輸入/輸出埠,所有這些部份都被整合在單個積體電路晶片上。

微控制器與一般中央處理器不同,是因為前者很容易配合其他的外部晶片製成工作電腦。這樣就可以很容易的把微控制器系統放入裝置內部來控制裝置。

傳統的微處理器是不允許這麼做的。它要完成微控制器的工作,就必須連線一些其他晶片。比如說,晶片上沒有資料記憶體,就必須要加一些RAM的晶片。另外還需要加很多連線來傳遞晶片之間的資料。與以上的情況相比,微控制器的工作則相對獨立,一個典型的微控制器只需要一個時鐘發生器和很少的 RAM 和 ROM 就可以在軟體和晶振下工作了。同時,微控制器具有豐富的輸出入裝置,例如模擬數位轉換器、定時器、串列埠,以及其他串列通訊介面,如I2C,序列周邊介面,控制器區域網路等。通常,這些整合在內部的裝置可以透過特殊的指令來操作。

微控制器時脈通常較同時代的電腦晶片低,但它價格便宜,能夠提供充足的程式記憶體、豐富的介面。某些架構的微控制器生產廠商眾多,例如8051系列、Z80系列。一些現代的微控制器支援一些內建的高階程式語言,比如BASIC語言、C語言、C++等。