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