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