簡介
單片機,全稱
單片微型計算機(英語:
single-chip microcomputer),又稱
微控制器(
microcontroller),是把
中央處理器、
存儲器、定時/計數器(timer/counter)、各種
輸入輸出接口等都集成在一塊
積體電路晶片上的
微型計算機。與套用在個人計算機中的通用型
微處理器相比,它更強調自供應(不用外接硬體)和節約成本。它的最大優點是體積小,可放在儀表內部,但存儲量小,輸入輸出接口簡單,功能較低。由於其發展非常迅速,舊的單片機的定義已不能滿足,所以在很多套用場合被稱為範圍更廣的微控制器;由於單片機微計算機常用於當控制器故又名single chip microcontroller。“單晶片”是台灣對單片機的稱呼;中國大陸主要採用“單片機”的稱呼,英文縮寫為MCU。
概述
絕大多數現在的單片機都是基於
馮·諾伊曼結構的,這種結構清楚地定義了
嵌入式系統所必需的四個基本部分:一個中央處理器核心,程式存儲器(唯讀存儲器或者
快閃記憶體)、數據存儲器(隨機存儲器)、一個或者更多的定時/計數器,還有用來與外圍設備以及擴展資源進行通信的輸入/輸出連線埠——所有這些都被集成在單個積體電路晶片上。
說單片機與通用型中央處理單元晶片不同,是因為前者一般很容易配合最小型的外部支持晶片製成工作計算機。這樣就可以很容易的把單片機系統植入裝置內部來控制裝置了。近年來為了在指令和數據上使用不同的字寬,並提高處理器流水線速度,
哈佛結構在
微控制器(Microcontrollers)和
數位訊號處理器也逐漸得到了廣泛的套用。
傳統的微處理器是不允許這么做的。它要完成單片機的工作,就必須連線一些其他晶片。比如說,因為晶片上沒有數據存儲器,就必須要添加一些RAM的存儲晶片,雖然所添加存儲器的容量很靈活,但是至少還是要添加。另外還需要添加很多連線來傳遞晶片之間的數據。與以上的情況相比,單片機的工作則相對獨立,一個典型的微控制器只需要一個
時鐘發生器和很少的RAM和ROM(或者EPROM, EPROM)就可以在軟體和晶振下工作了。同時,微控制器具有豐富的輸入輸出設備,例如
模擬數字轉換器、
定時器、
串口,以及其他串列通訊接口,比如
IC,串列周邊接口,
控制器區域網路等。通常,這些集成在內部的設備可以通過特殊的指令來操作。
單片機時鐘頻率通常較同時代的計算機晶片低,但它價格低廉,能夠提供充足的程式存儲器、豐富的片上接口。某些架構的單片機生產廠商眾多,例如
8051系列、
Z80系列。一些現代的微控制器支持一些內建的高級程式語言,比如BASIC(培基)語言、
C語言、
C++等。
單片機的比特數
根據
匯流排或數據
暫存器的寬度,單片機又分為4位、8位、16位和32位單片機。4位單片機多用於冰櫃、洗衣機、微波爐等家電控制中;8位、16位單片機主要用於一般的控制領域,一般不使用
作業系統;32位用於
網路操作、
多媒體處理等複雜處理的場合,一般要使用
嵌入式作業系統。