隨著社會的發展和需求的提高,計算機也在不斷地更新與發展。由於計算機的產生是應數值計算而產生的,因此長期以來電子計算機技術都是沿著滿足大量高速數值計算而發展的,直到20世紀70年代,電子計算機在數字邏輯運算、推理、自動控制等方面顯露出非凡的功能後,在各種控制領域開始對計算機技術發展提出了與傳統大量高速計算完全不同的要求。這些要求是:面對控制對象、面對各種傳感器信號、面對人機互動操作控制、能方便地嵌入工控應用系統中等。
為了實現上述要求,近年來,單片微型計算機(簡稱單片機)應運而生。單片機也被稱做「微控制器」、「嵌入式微控制器」。單片機一詞最初是"SingleChipMicrocomputer」,簡稱SCM。在單片機誕生時,SCM是一個準確、流行的稱謂,「單片機」一詞準確地表達了這—概念。隨著SCM在技術上、體系結構上不斷擴展其控制功能,單片機已不能用「單片微型計算機」來準確表達其內涵。國際上逐漸採用"MCU" (MicroControllerUnit」)來代替,形成了單片機界公認的、最終統一的名詞。在國內因為「單片機」一詞已約定俗成,故而繼續沿用。
單片機到底是什麼呢?就是一個電腦,只不過是微型的,麻雀雖小,五臟俱全:它內部也用和電腦功能類似的模塊,比如CPU,內存,並行總線,還有和硬碟作用相同的存儲器件,不同的是它的這些部件性能都相對我們的家用電腦弱很多,不過價錢也是低的,一般不超過10元即可......用它來做一些控制電器一類不是很複雜的工作足矣了。我們現在用的全自動滾筒洗衣機,排煙罩VCD等等的家電裡面都可以看到它的身影!......它主要是作為控制部分的核心部件。
它是一種在線式實時控制計算機,在線式就是現場控制,需要的是有較強的抗幹擾能力,較低的成本,這也是和離線式計算機的(比如家用PC)的主要區別。
單片機是靠程序的,並且可以修改。通過不同的程序實現不同的功能,尤其是特殊的獨特的一些功能,這是別的器件需要費很大力氣才能做到的,有些則是花大力氣也很難做到的。一個不是很複雜的功能要是用美國50年代開發的74系列,或者60年代的CD4000系列這些純硬體來搞定的話,電路一定是一塊大 PCB板!但是如果要是用美國70年代成功投放市場的系列單片機,結果就會有天壤之別!只因為單片機的通過你編寫的程序可以實現高智能,高效率,以及高可靠性!
由於單片機對成本是敏感的,所以目前佔統治地位的軟體還是最低級彙編語言,它是除了二進位機器碼以上最低級的語言了,既然這麼低級為什麼還要用呢?很多高級的語言已經達到了可視化編程的水平為什麼不用呢?原因很簡單,就是單片機沒有家用計算機那樣的CPU,也沒有像硬碟那樣的海量存儲設備。一個可視化高級語言編寫的小程序裡面即使只有一個按鈕,也會達到幾十K的尺寸!對於家用PC的硬碟來講沒什麼,可是對於單片機來講是不能接受的。單片機在硬體資源方面的利用率必須很高才行,所以彙編雖然原始卻還是在大量使用。一樣的道理,如果把巨型計算機上的作業系統和應用軟體拿到家用PC上來運行,家用PC的也是承受不了的。