單片機(jī)系統(tǒng)的擴(kuò)展課件_第1頁
單片機(jī)系統(tǒng)的擴(kuò)展課件_第2頁
單片機(jī)系統(tǒng)的擴(kuò)展課件_第3頁
單片機(jī)系統(tǒng)的擴(kuò)展課件_第4頁
單片機(jī)系統(tǒng)的擴(kuò)展課件_第5頁
已閱讀5頁,還剩479頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

微型計(jì)算機(jī)基礎(chǔ)知識(shí)1.1微型計(jì)算機(jī)數(shù)制及其轉(zhuǎn)換微型計(jì)算機(jī)是以二進(jìn)制形式進(jìn)行算術(shù)運(yùn)算和邏輯操作的,二進(jìn)制數(shù)是計(jì)算機(jī)系統(tǒng)能認(rèn)識(shí)、處理的惟一數(shù)制。因此,用戶在鍵盤上輸入的十進(jìn)制數(shù)字和符號(hào)命令,微型計(jì)算機(jī)都必須先把它們轉(zhuǎn)換成二進(jìn)制形式進(jìn)行識(shí)別、運(yùn)算和處理,然后再把運(yùn)算結(jié)果還原成十進(jìn)制數(shù)字和符號(hào)在顯示器上顯示出來。為了使讀者弄清機(jī)器的這一工作機(jī)理,我們先對(duì)微型計(jì)算機(jī)中常用的數(shù)制和數(shù)制間的轉(zhuǎn)換進(jìn)行討論。1.1.1微型計(jì)算機(jī)的數(shù)制所謂數(shù)制是指數(shù)的制式,是人們利用符號(hào)計(jì)數(shù)的一種科學(xué)方法。數(shù)制有很多種,微型計(jì)算機(jī)中常用的數(shù)制有十進(jìn)制、二進(jìn)制和十六進(jìn)制三種。1.十進(jìn)制(Decimal)十進(jìn)制是大家很熟悉的進(jìn)位計(jì)數(shù)制,它共有0、1、2、3、4、5、6、7、8和9十個(gè)數(shù)字符號(hào)。這十個(gè)數(shù)字符號(hào)又稱為數(shù)碼,每個(gè)數(shù)碼在數(shù)中最多可有兩個(gè)值的概念。

下一頁返回1.1微型計(jì)算機(jī)數(shù)制及其轉(zhuǎn)換十進(jìn)制是一種科學(xué)的計(jì)數(shù)方法,它所能表示的數(shù)的范圍很大,可以從無限小到無限大。十進(jìn)制數(shù)通常具有如下兩個(gè)主要特點(diǎn):

(1)它有0~9十個(gè)不同的數(shù)碼,這是構(gòu)成所有十進(jìn)制數(shù)的基本符號(hào)。

(2)它是逢十進(jìn)位的。十進(jìn)制數(shù)在計(jì)數(shù)過程中,當(dāng)它的某位計(jì)滿10時(shí)就要向它鄰近高位進(jìn)一。因此,任何一個(gè)十進(jìn)制數(shù)不僅和構(gòu)成它的每個(gè)數(shù)碼本身的值有關(guān),而且還和這些數(shù)碼在數(shù)中的位置有關(guān)。這就是說,任何一個(gè)十進(jìn)制數(shù)都可以展開成冪級(jí)數(shù)形式。

上一頁下一頁返回1.1微型計(jì)算機(jī)數(shù)制及其轉(zhuǎn)換一般地說,任意一個(gè)十進(jìn)制數(shù)均可表示為:2.二進(jìn)制(Binary)二進(jìn)制數(shù)的特點(diǎn)是:只有兩個(gè)數(shù)碼,即0和1,逢二進(jìn)一。因此,二進(jìn)制數(shù)同樣也可以展開成冪級(jí)數(shù)形式,任何二進(jìn)制數(shù)的通式為:上一頁下一頁返回1.1微型計(jì)算機(jī)數(shù)制及其轉(zhuǎn)換1位二進(jìn)制數(shù)只能表示0和1兩個(gè)狀態(tài),為了表示更多的狀態(tài),可用兩位或兩位以上的二進(jìn)制數(shù)表示。二進(jìn)制數(shù)的位數(shù)與它能表示的狀態(tài)數(shù)之間的關(guān)系如下:1位二進(jìn)制數(shù),共有21(即2)個(gè)狀態(tài),分別編碼為0、1;2位二進(jìn)制數(shù),共有22(即4)個(gè)狀態(tài),分別編碼為00、01、10、11;4位二進(jìn)制數(shù),共有24(即16)個(gè)狀態(tài),分別編碼為

0000000100100011010001010110011110001001101010111100110111101111上一頁下一頁返回1.1微型計(jì)算機(jī)數(shù)制及其轉(zhuǎn)換8位二進(jìn)制數(shù),共有28(即256)個(gè)狀態(tài),分別編碼為

000000000000000100000010000000110000010000000101000001100000011100001000000010010000101000001011

……11111100111111011111111011111111上一頁下一頁返回1.1微型計(jì)算機(jī)數(shù)制及其轉(zhuǎn)換在計(jì)算機(jī)系統(tǒng)中,寄存器、存儲(chǔ)器的本質(zhì)就是一組觸發(fā)器。一個(gè)觸發(fā)器,如RS、D型觸發(fā)器等均有兩個(gè)穩(wěn)定的狀態(tài),即0態(tài)和1態(tài),顯然一個(gè)觸發(fā)器可以存儲(chǔ)1位二進(jìn)制數(shù)。為了提高數(shù)據(jù)處理速度,在計(jì)算機(jī)中往往需要并行處理多位二進(jìn)制數(shù)。習(xí)慣上,存儲(chǔ)器中一個(gè)存儲(chǔ)單元通常由8個(gè)觸發(fā)器組成,即一個(gè)存儲(chǔ)單元可以存放一個(gè)8位二進(jìn)制數(shù)。一個(gè)8位二進(jìn)制數(shù)稱為一個(gè)字節(jié)(Byte),有256種狀態(tài),或者說可以表示256個(gè)符號(hào)。因此,存儲(chǔ)器(包括內(nèi)存儲(chǔ)器和外存儲(chǔ)器)容量單位常用字節(jié)(或干字節(jié))表示,如某存儲(chǔ)器的容量為640KB,即該存儲(chǔ)器有640×1024個(gè)存儲(chǔ)單元,每個(gè)存儲(chǔ)單元的大小為一個(gè)字節(jié)。上一頁下一頁返回1.1微型計(jì)算機(jī)數(shù)制及其轉(zhuǎn)換10位二進(jìn)制數(shù),共有210(1024,在計(jì)算機(jī)中,“1024”習(xí)慣上稱為1K)個(gè)狀態(tài),編碼為0000000000~1111111111。16位二進(jìn)制數(shù),共有216(65536,即64K)個(gè)狀態(tài),編碼為0000000000000000~1111111111111111。有些微處理器,如大多數(shù)8位的微處理器,就有16根地址線。由于每根地址線有兩種可能的狀態(tài),所以可以用地址線狀態(tài)的不同編碼尋址不同的存儲(chǔ)單元。因此,16根地址線相當(dāng)于16位二進(jìn)制數(shù),最多可以尋址64K個(gè)存儲(chǔ)單元。而存儲(chǔ)單元的大小一般是一個(gè)字節(jié),所以對(duì)于具有16根地址線的微處理器來說,最多可以尋址64KB的存儲(chǔ)空間,或者說尋址能力為64KB。為了不致引起混亂,二進(jìn)制數(shù)用后綴字母B作標(biāo)記,如二進(jìn)制數(shù)1110記為lll0B。上一頁下一頁返回1.1微型計(jì)算機(jī)數(shù)制及其轉(zhuǎn)換3.十六進(jìn)制(Hexadecimal)十六進(jìn)制數(shù)的特點(diǎn)是:逢十六進(jìn)一,具有16個(gè)數(shù)碼,分別用0、1、2、…、9和A、B、C、D、E、F表示。1位十六進(jìn)制數(shù)可以表示16種狀態(tài),編碼從O~F;2位十六進(jìn)制數(shù)可以表示162(256)種狀態(tài),編碼從00~FF;4位十六進(jìn)制數(shù)可以表示164(65536,即64K)種狀態(tài),編碼為0000~FFFF;而8位十六進(jìn)制數(shù)可以表示168(4096M)種狀態(tài),編碼為00000000~FFFFFFFF。為了不致引起誤解,十六進(jìn)制數(shù)要加后綴字母H,如十六進(jìn)制數(shù)“3F”記為“3FH”;而對(duì)于以字母開頭的十六進(jìn)制數(shù),必須帶有前綴0(零),以區(qū)別于一般字符串,如十六進(jìn)制數(shù)FE記為“0FEH”。與十進(jìn)制數(shù)類似,對(duì)于n位十六進(jìn)制數(shù),可以表示為上一頁下一頁返回1.1微型計(jì)算機(jī)數(shù)制及其轉(zhuǎn)換1.1.2微型計(jì)算機(jī)數(shù)制間數(shù)的轉(zhuǎn)換1.二進(jìn)制數(shù)與十進(jìn)制數(shù)之間的轉(zhuǎn)換對(duì)于n位十進(jìn)制數(shù),可以表示為:

同理,n位二進(jìn)制數(shù)也可以表示為:可見,將二進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)不難,只要按上式展開即可求出對(duì)應(yīng)的十進(jìn)制數(shù)。而十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)時(shí),可以按如下規(guī)律進(jìn)行:上一頁下一頁返回1.1微型計(jì)算機(jī)數(shù)制及其轉(zhuǎn)換整數(shù)部分除以2所得的余數(shù)就是對(duì)應(yīng)二進(jìn)制數(shù)的個(gè)位,其商再除以2所得的余數(shù)就是對(duì)應(yīng)二進(jìn)制數(shù)的十位,依次類推,即可獲得對(duì)應(yīng)二進(jìn)制數(shù)的整數(shù)部分。小數(shù)部分乘以2所得的整數(shù)就是對(duì)應(yīng)二進(jìn)制數(shù)小數(shù)部分的十分位,乘積中的小數(shù)部分再乘以2得到的整數(shù)就是對(duì)應(yīng)二進(jìn)制數(shù)小數(shù)部分的百分位,依次類推,即可求出所有的小數(shù)位。例1.113.75的整數(shù)部分是13,小數(shù)部分是0.75,轉(zhuǎn)換為二進(jìn)制數(shù)的過程如下所示。上一頁下一頁返回1.1微型計(jì)算機(jī)數(shù)制及其轉(zhuǎn)換13相當(dāng)于二進(jìn)制數(shù)1101;而0.75×2=1.5,因此十分位為1;0.5×2=1.0,因此百分位為l,即13.75=1101.1IB。2.二進(jìn)制數(shù)與十六進(jìn)制數(shù)之間的轉(zhuǎn)換二進(jìn)制和十六進(jìn)制數(shù)間的轉(zhuǎn)換十分方便,這就是為什么要采用十六進(jìn)制形式來對(duì)二進(jìn)制數(shù)加以表達(dá)的內(nèi)在原因。(1)二進(jìn)制數(shù)轉(zhuǎn)換成十六進(jìn)制數(shù)時(shí),按如下規(guī)則進(jìn)行。對(duì)于二進(jìn)制數(shù)的整數(shù)部分來說,從個(gè)位開始,每4位作為一組,劃分整數(shù)部分(如果最后一組不足4位,可在前面補(bǔ)1~3個(gè)零);對(duì)于二進(jìn)制數(shù)的小數(shù)部分來說,從十分位開始,每4位作為一組,劃分小數(shù)部分(同樣,當(dāng)最后一組不足4位時(shí),可在后面補(bǔ)1~3個(gè)零)。然后把每組中的4位二進(jìn)制數(shù)用對(duì)應(yīng)的十六進(jìn)制數(shù)表示,即可獲得相應(yīng)的十六進(jìn)制數(shù)。上一頁下一頁返回1.1微型計(jì)算機(jī)數(shù)制及其轉(zhuǎn)換如:1110010101.10101B=0011100l0101.10101000395A8即1110010101.10101B=395.A8H(2)十六進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)時(shí),按如下規(guī)則進(jìn)行。將十六進(jìn)制數(shù)的整數(shù)部分和小數(shù)部分的每一位十六進(jìn)制數(shù)碼用對(duì)應(yīng)的4位二進(jìn)制數(shù)表示,然后再刪除整數(shù)部分前面和小數(shù)部分后面多余的零,即可獲得對(duì)應(yīng)的二進(jìn)制數(shù),如:93FE.3A3H=1001001111111110.001110100011B又如:3E.CH=00111110.11OOB=111110.11B(刪除整數(shù)部分前面的零和小數(shù)部分后面的零)上一頁下一頁返回1.1微型計(jì)算機(jī)數(shù)制及其轉(zhuǎn)換可見二進(jìn)制數(shù)與十六進(jìn)制數(shù)之間的轉(zhuǎn)換非常方便,只要記住4位二進(jìn)制數(shù)0000~1111與十六進(jìn)制數(shù)0~F之間的對(duì)應(yīng)關(guān)系即可。下面是二進(jìn)制數(shù)0000~1111對(duì)應(yīng)的十六進(jìn)制數(shù)和十進(jìn)制數(shù)。二進(jìn)制數(shù)十進(jìn)制數(shù)十六進(jìn)制數(shù)二進(jìn)制數(shù)十進(jìn)制數(shù)十六進(jìn)制數(shù)000000100088000111100199001022101010A001133101111B010044110012C010155110113D011066111014E011177111115F上一頁下一頁返回1.1微型計(jì)算機(jī)數(shù)制及其轉(zhuǎn)換1.1.3二進(jìn)制數(shù)和十六進(jìn)制數(shù)的運(yùn)算1.二進(jìn)制數(shù)的運(yùn)算二進(jìn)制數(shù)的四則運(yùn)算包括加、減、乘、除,在學(xué)習(xí)單片機(jī)原理時(shí),尤其需要掌握其中的加、減和乘法運(yùn)算規(guī)則。(1)二進(jìn)制數(shù)的加法二進(jìn)制數(shù)的加法運(yùn)算規(guī)則為0+0=0,0+1=1,1+0=1(交換律),1+1=10(二進(jìn)制數(shù)中的“10”就是十進(jìn)制數(shù)的“2”)。例如:

10010110B+01110011B100001001B上一頁下一頁返回1.1微型計(jì)算機(jī)數(shù)制及其轉(zhuǎn)換(2)二進(jìn)制數(shù)的減法二進(jìn)制數(shù)向前借位時(shí),為“10”,例如:

10010110B-01110011B00100011B(3)二進(jìn)制數(shù)的乘法二進(jìn)制數(shù)的乘法運(yùn)算規(guī)則為0×0=0,0×1=0,1×0=0(交換律),1×1=1。例如:

10010110B×101B1001011000000000+100101101011101110B上一頁下一頁返回1.1微型計(jì)算機(jī)數(shù)制及其轉(zhuǎn)換2.十六進(jìn)制數(shù)的運(yùn)算十六進(jìn)制數(shù)的四則運(yùn)算包括加、減、乘、除,在學(xué)習(xí)單片機(jī)原理時(shí),同樣需要掌握其中的加、減和乘法運(yùn)算規(guī)則。十六進(jìn)制數(shù)的加法運(yùn)算規(guī)則與十進(jìn)制數(shù)的加法運(yùn)算規(guī)則相同,如3H+4H=7H,7H+4H=0BH(結(jié)果是十進(jìn)制數(shù)的11,即十六進(jìn)制數(shù)的0BH),8H+7H=0FH(結(jié)果是十進(jìn)制數(shù)的15,即十六進(jìn)制數(shù)的0FH),8H+9H=11H(結(jié)果是十進(jìn)制數(shù)的17,即十六進(jìn)制數(shù)的llH)。例如:

346AH+589CH8D06H上一頁下一頁返回1.1微型計(jì)算機(jī)數(shù)制及其轉(zhuǎn)換在上式中,個(gè)位的A(10)加C(12),結(jié)果為22,即十六進(jìn)制數(shù)的“16”,向十位進(jìn)1,結(jié)果為6;十位的6+9+1(個(gè)位進(jìn)位),結(jié)果為16,即十六進(jìn)制數(shù)中的“10”,向百位進(jìn)1,結(jié)果為0;百位4+8+1(十位進(jìn)位),結(jié)果為13,即十六進(jìn)制數(shù)中的“D”;千位3+5,結(jié)果為8。上一頁下一頁返回1.1微型計(jì)算機(jī)數(shù)制及其轉(zhuǎn)換746AH-589CH1BCEH在上式中,個(gè)位向十位借1后,變成十六進(jìn)制數(shù)的“1A”,即十進(jìn)制數(shù)的26,再減C(即十進(jìn)制數(shù)的12),結(jié)果為14,即十六進(jìn)制數(shù)的“E”;十位原本是“6”,個(gè)位借1后變?yōu)椤?”,十位再向百位借l,變成十六進(jìn)制數(shù)的“15”,即21;減9,結(jié)果為12,即十六進(jìn)制數(shù)的“C”;百位原本是“4”,十位借1后變?yōu)椤?”,百位向千位借1,變成十六進(jìn)制數(shù)的“13”,即19;減8,結(jié)果為11,即十六進(jìn)制數(shù)的“B”。上一頁下一頁返回1.1微型計(jì)算機(jī)數(shù)制及其轉(zhuǎn)換746AH×9CH(進(jìn)位)347574F8(進(jìn)位)235

+417BA46F098可見十六進(jìn)制數(shù)的乘法與十進(jìn)制數(shù)的乘法運(yùn)算方法類似,但必須注意將十六迸制數(shù)乘法運(yùn)算的中間結(jié)果轉(zhuǎn)為十六進(jìn)制數(shù),例如6×9的結(jié)果為十進(jìn)制數(shù)的54,轉(zhuǎn)化為十六進(jìn)制數(shù)是36H。上一頁返回1.2碼制計(jì)算機(jī)內(nèi)部所有的數(shù)據(jù)均采用二進(jìn)制代碼表示,但通過輸入設(shè)備(如鍵盤)輸入的信息和通過輸出設(shè)備(如顯示器、打印機(jī))輸出的信息卻是多種多樣的,既有字母、數(shù)字,又有各種控制字符,甚至漢字。為了方便,人們對(duì)計(jì)算機(jī)中常用的符號(hào)進(jìn)行了編碼。當(dāng)通過輸入設(shè)備向計(jì)算機(jī)輸入某個(gè)字符時(shí),計(jì)算機(jī)會(huì)自動(dòng)將該字符轉(zhuǎn)化為對(duì)應(yīng)的二進(jìn)制數(shù),再進(jìn)行處理同時(shí)計(jì)算機(jī)也將處理結(jié)果還原為對(duì)應(yīng)的字符。于是,字符所對(duì)應(yīng)的二進(jìn)制數(shù)就稱為該字符的編碼。下一頁返回1.2碼制1.2.1英文字符的表示方法——ASCII碼由于計(jì)算機(jī)只能處理二進(jìn)制數(shù),因此除了數(shù)值本身需要用二進(jìn)制數(shù)形式表示外,字符(包括數(shù)碼,如0,1,2,3,4,5,6,7,8,9)、字母(如A,B,C,D,…,X,Y,Z及a,b,C,d,…,x,y,z)、特殊符號(hào)(如%,!,+,-,=)等也必須用二進(jìn)制數(shù)表示,即在計(jì)算機(jī)中需將數(shù)碼、字母、特殊符號(hào)等代碼化,以便于計(jì)算機(jī)識(shí)別、存儲(chǔ)和處理。英文屬于典型的拼音文字,由字母、數(shù)字、特殊符號(hào)等組合而成,但這些字母、數(shù)字、特殊符號(hào)的數(shù)目畢竟有限,不過百余個(gè)。我們知道7位二進(jìn)制數(shù)可以表示128種狀態(tài),如果每一種狀態(tài)代表特定的字母或數(shù)字,則7位二進(jìn)制數(shù)可表示128個(gè)字符。上一頁下一頁返回1.2碼制

在計(jì)算機(jī)系統(tǒng)中,存儲(chǔ)單元的長(zhǎng)度通常為8位二進(jìn)制數(shù)(一個(gè)字節(jié)),為了存取方便,規(guī)定一個(gè)存儲(chǔ)單元存放一個(gè)ASCII碼,其中低7位表示字母本身的編碼,第8位(bit7)用作奇偶校驗(yàn)位或規(guī)定為零(通常如此)。因此,也可以認(rèn)為ASCII碼的長(zhǎng)度為8位(但bit7為0)。128個(gè)字符對(duì)于某些特殊應(yīng)用來說,可能不夠,因此就采用8位的ASCII,即擴(kuò)展ASCII碼(共有256個(gè)代碼)。其中前128個(gè)(高位為O)編碼用于表示基本的ASCII碼,基本ASCII碼主要用于表示數(shù)字、英文字母(大、小寫)、標(biāo)點(diǎn)符號(hào)、控制字符等,后128(高位為1)個(gè)編碼用于表示擴(kuò)展的ASCII碼,擴(kuò)展ASCII用于表示一些特殊的符號(hào),如希臘字母等。上一頁下一頁返回1.2碼制1.2.2BCD碼(二進(jìn)制編碼的十進(jìn)制數(shù))十進(jìn)制數(shù)畢竟是人們最習(xí)慣的計(jì)數(shù)方式,在向計(jì)算機(jī)輸入數(shù)據(jù)時(shí),常用十進(jìn)制數(shù)輸入,但計(jì)算機(jī)只認(rèn)識(shí)二進(jìn)制數(shù),因此每一位十進(jìn)制數(shù)必須用二進(jìn)制數(shù)表示。一位十進(jìn)制數(shù)包含0~9十個(gè)數(shù)碼,必須用4位二進(jìn)制數(shù)表示,這樣就需要確定0~9與4位二進(jìn)制數(shù)0000B~1111B之間的對(duì)應(yīng)關(guān)系,其中較常用的8421BCD碼規(guī)定了十進(jìn)制數(shù)0~9與4位二進(jìn)制數(shù)編碼之間的對(duì)應(yīng)關(guān)系如下。上一頁下一頁返回1.2碼制

十進(jìn)制數(shù)8421BCD碼

十進(jìn)制數(shù)8421BCD碼0000050101l0001601102001070lll300ll81000401009100l上一頁下一頁返回1.2碼制

1.2.3計(jì)算機(jī)中帶符號(hào)數(shù)的表示方法在計(jì)算機(jī)中,對(duì)于帶符號(hào)數(shù)來說,一般用最高位表示數(shù)的正負(fù)。對(duì)于正數(shù),最高位規(guī)定為“0”;對(duì)于負(fù)數(shù),最高位為“1”。例如:56H可以表示為01010110(對(duì)于8位二進(jìn)制數(shù)來說,b7位表示數(shù)的正負(fù),b6~b0表示數(shù)的絕對(duì)值),-56H可以表示為11010110。0256H可以表示為0000001001010110(對(duì)于16位二進(jìn)制數(shù)來說,b15位表示數(shù)的正負(fù),b14~b0表示數(shù)的絕對(duì)值),-0256H可以表示為1000001001010110。1.原碼對(duì)于帶符號(hào)數(shù)來說,用最高位表示數(shù)的正負(fù),其余各位表示該數(shù)的絕對(duì)值,這種表示方法就稱為原碼表示法,如上所述。上一頁下一頁返回1.2碼制2.反碼帶符號(hào)數(shù)也可以用反碼表示,反碼與原碼的關(guān)系是:正數(shù)的反碼與原碼相同,如[56H]反=[56H]原=01010110B。負(fù)數(shù)的反碼等于對(duì)應(yīng)正數(shù)的原碼按位求反。因此,求-56H反碼的過程如下:對(duì)應(yīng)正數(shù)56H的原碼為01010110,按位求反后為10101001,即-56H的反碼為10101001?;蛘哒f,正數(shù)的反碼與原碼相同,而負(fù)數(shù)的反碼是對(duì)應(yīng)負(fù)數(shù)原碼除符號(hào)位外,絕對(duì)值部分按位取反。上一頁下一頁返回1.2碼制3.補(bǔ)碼在計(jì)算機(jī)內(nèi),帶符號(hào)數(shù)并不是用原碼或反碼表示,而是用補(bǔ)碼表示,引入原碼、反碼的目的只是為了方便理解補(bǔ)碼概念而已。不用原碼表示的原因是:用原碼表示時(shí),0的原碼并不惟一,0的原碼可以表示為00000000(+0),也可以表示為10000000(一0),這會(huì)造成混亂;再就是用原碼表示時(shí),減法并不能轉(zhuǎn)化為加法運(yùn)算,反碼也存在類似問題。在計(jì)算機(jī)中,帶符號(hào)數(shù)用補(bǔ)碼表示后,減法就可以轉(zhuǎn)化為加法運(yùn)算,例如:上一頁下一頁返回1.2碼制56H-23H=56H-23H+100H(100H是8位二進(jìn)制能表示的最大數(shù),加上100H后,對(duì)計(jì)算結(jié)果沒有影響,原因是8位二進(jìn)制無法存放100H中的“1”,即b8位)=56H+100H-23H=56H+0DDH=133H=33H(由于8位二進(jìn)制不能存放b8位,結(jié)果133H中最高位“l(fā)”自然丟失)可見在8位二進(jìn)制中,56H-23H的結(jié)果與56H+0DDH相同,即引入補(bǔ)碼后減法可以用加法來完成。顯然在8位二進(jìn)制中,23H與0DDH互為補(bǔ)碼。補(bǔ)碼的定義為:正數(shù)的補(bǔ)碼與反碼、原碼相同;負(fù)數(shù)的補(bǔ)碼等于它的反碼加1。因此,求-23H補(bǔ)碼的過程如下:上一頁下一頁返回1.2碼制對(duì)應(yīng)正數(shù)23H的原碼為00100011,按位求反后為11011100,即-23H的反碼,反碼加1后為11011101,即-23H的補(bǔ)碼為11011101(相當(dāng)于無符號(hào)數(shù)的0DDH)??梢?,用補(bǔ)碼表示時(shí),最高位為O,表示該數(shù)為正數(shù),數(shù)值部分就是真值。而最高位為1時(shí)是負(fù)數(shù),數(shù)值部分并不是它的真值,必須再求補(bǔ)后,才得到該數(shù)的絕對(duì)值,如上例中的一23H的補(bǔ)碼為11011101,按位取反后為00100010,加1后為00100011,即23H。對(duì)于8位二進(jìn)制數(shù)來說,補(bǔ)碼表示的范圍是-128~+127;對(duì)于16位二進(jìn)制數(shù)來說,補(bǔ)碼表示的范圍是-32768~+32767。上一頁返回1.3微型計(jì)算機(jī)組成原理

迄今為止,所有計(jì)算機(jī)的組成結(jié)構(gòu)都是馮·諾依曼型的,即:它是執(zhí)行存儲(chǔ)器中程序而工作的。計(jì)算機(jī)執(zhí)行程序是自動(dòng)按序進(jìn)行的,毋需人工干預(yù),控制器在時(shí)鐘信號(hào)的控制下,從存儲(chǔ)器中取出計(jì)算步驟(指令)和數(shù)據(jù),并根據(jù)指令操作碼內(nèi)容發(fā)出相應(yīng)的控制信號(hào)。程序和數(shù)據(jù)由輸入設(shè)備輸入存儲(chǔ)器,執(zhí)行程序所獲得的運(yùn)算結(jié)果由輸出設(shè)備輸出。因此,計(jì)算機(jī)通常有運(yùn)算控制部件、存儲(chǔ)器部件、輸入設(shè)備和輸出設(shè)備四部分組成,計(jì)算機(jī)系統(tǒng)的基本結(jié)構(gòu)如圖1—1所示。下一頁返回1.3微型計(jì)算機(jī)組成原理在計(jì)算機(jī)中,往往把運(yùn)算器、控制器做在一個(gè)芯片上,稱為中央處理器(CentralProcessorUnit,簡(jiǎn)稱CPU),有時(shí)也稱為微處理器(MicroProcessorUnit,MPU)。為了進(jìn)一步減小電路板面積,提高系統(tǒng)可靠性,將輸入、輸出接口電路、時(shí)鐘電路,以及存儲(chǔ)器、運(yùn)算器、控制器等部件集成到一個(gè)芯片內(nèi),就成為單片機(jī)(也稱為微控制器,即MicroControllerUnit,簡(jiǎn)稱MCU)。這就表示一個(gè)芯片就具備了一個(gè)完整的計(jì)算機(jī)系統(tǒng)所必需的基本部件。為了適應(yīng)不同的需求,將不同功能的外圍電路,如定時(shí)器、中斷控制器、A/D及D/A轉(zhuǎn)換器、串行通信接口電路等集成在一個(gè)芯片內(nèi),形成系列化產(chǎn)品,就構(gòu)成了所謂“嵌入式”單片機(jī)控制芯片。上一頁下一頁返回1.3微型計(jì)算機(jī)組成原理1.3.1微型計(jì)算機(jī)的基本結(jié)構(gòu)1.CPU的內(nèi)部結(jié)構(gòu)圖1-1中的運(yùn)算器和控制器等部件往往做在同一芯片內(nèi),稱為中央處理器(CPU)。8位通用微處理器內(nèi)部基本結(jié)構(gòu)可用圖1-2描述,它由算術(shù)邏輯運(yùn)算單元(ArithmeticLogicUnit,簡(jiǎn)稱ALU)、累加器A(8位)、寄存器B(8位)、程序狀態(tài)字寄存器PSW(8位)、程序計(jì)數(shù)器PC(有時(shí)也稱為指令指針,即IP,16位)、地址寄存器AR(16位)、數(shù)據(jù)寄存器DR(8位)、指令寄存器IR(8位)、指令譯碼器ID、控制器等部件組成。上一頁下一頁返回1.3微型計(jì)算機(jī)組成原理

(1)程序計(jì)數(shù)器PC是CPU內(nèi)部的寄存器,用于記錄將要執(zhí)行的指令代碼所在存儲(chǔ)單元的地址編碼。一般說來,PC的長(zhǎng)度與CPU地址線數(shù)目一致,例如8位機(jī)的CPU一般具有16根地址線(A15~A0),PC的長(zhǎng)度也是16位。復(fù)位后,PC具有確定值,例如在MCS一51系列單片機(jī)中,復(fù)位后,PC=0000H,即復(fù)位后將從程序存儲(chǔ)器的0000H單元讀取第一條指令碼。由于復(fù)位后,PC的值就是第一條指令代碼存放的單元地址,因此設(shè)計(jì)程序時(shí),必須了解復(fù)位后PC的值是什么,以便確定第一條指令碼從存儲(chǔ)器哪一存儲(chǔ)單元開始存放。PC具有自動(dòng)加1的功能,即從存儲(chǔ)器中讀出一個(gè)字節(jié)的指令碼后,PC會(huì)自動(dòng)加1(指向下一存儲(chǔ)單元)。上一頁下一頁返回1.3微型計(jì)算機(jī)組成原理(2)地址寄存器AR(AddressRegister,16位)用于存放將要尋址的外部存儲(chǔ)器單元的地址信息,指令碼所在存儲(chǔ)單元的地址編碼,由程序計(jì)數(shù)器PC產(chǎn)生;而指令中操作數(shù)所在存儲(chǔ)單元的地址碼,由指令的操作數(shù)給定。地址寄存器AR通過地址總線AB與外部存儲(chǔ)器相連。(3)指令寄存器IR(InstructionRegister)用于存放取指階段讀出的指令代碼的第一字節(jié),即操作碼,使指令譯碼器ID的輸入保持不變。存放在IR中的指令碼經(jīng)指令譯碼器ID譯碼后,輸入控制器,產(chǎn)生相應(yīng)的控制信號(hào),使CPU完成指令規(guī)定的動(dòng)作。上一頁下一頁返回1.3微型計(jì)算機(jī)組成原理(4)數(shù)據(jù)寄存器DR(DataRegister)用于存放寫入外部存儲(chǔ)器或I/O端口的數(shù)據(jù)信息??梢姡瑪?shù)據(jù)寄存器DR對(duì)輸出數(shù)據(jù)具有鎖存功能,數(shù)據(jù)寄存器與外部數(shù)據(jù)總線DB直接相連。(5)算術(shù)邏輯運(yùn)算單元ALU主要用于算術(shù)(加減乘除)、邏輯(與、或、非、異或)運(yùn)算。由于ALU內(nèi)部沒有寄存器,參加運(yùn)算的操作數(shù)必須放在累加器A中(運(yùn)算結(jié)果也存放在累加器A中),例如執(zhí)行指令:ADDA,B;A←A+B時(shí),累加器A的內(nèi)容通過輸入口In_1輸入ALU,寄存器B的內(nèi)容通過內(nèi)部數(shù)據(jù)總線經(jīng)輸入口In_2輸入ALU,A+B的結(jié)果通過ALU的輸出口Out、內(nèi)部數(shù)據(jù)總線,送回累加器A。(6)程序狀態(tài)字寄存器PSW用于記錄運(yùn)算過程中的狀態(tài),如是否溢出、進(jìn)位等。上一頁下一頁返回1.3微型計(jì)算機(jī)組成原理

2.存儲(chǔ)器存儲(chǔ)器是計(jì)算機(jī)系統(tǒng)中必不可少的存儲(chǔ)設(shè)備,主要用于存放程序(指令)和數(shù)據(jù)。盡管寄存器和存儲(chǔ)器均用于存儲(chǔ)信息,但CPU內(nèi)的寄存器數(shù)量少,存取速率快,它主要用于臨時(shí)存放參加運(yùn)算的操作數(shù)和中間結(jié)果;而存儲(chǔ)器一般在CPU外(但單片機(jī)CPU除外,其內(nèi)部一般均含有一定容量的存儲(chǔ)器),單獨(dú)封裝。在存儲(chǔ)器芯片內(nèi),存儲(chǔ)單元數(shù)目多,從幾千字節(jié)到數(shù)百兆字節(jié),能存放大量的信息,但存取速率比CPU內(nèi)的寄存器要慢得多。目前,存儲(chǔ)器的存取速率已成為制約計(jì)算機(jī)運(yùn)行速率的關(guān)鍵因素之一。上一頁下一頁返回1.3微型計(jì)算機(jī)組成原理存儲(chǔ)器的種類很多,根據(jù)存儲(chǔ)器能否隨機(jī)讀寫,將存儲(chǔ)器分為兩大類:只讀存儲(chǔ)器(ReadOnlyMemory,簡(jiǎn)稱ROM)和隨機(jī)讀寫存儲(chǔ)器(RandomAccessMemory,簡(jiǎn)稱RAM)。根據(jù)存儲(chǔ)器存儲(chǔ)單元結(jié)構(gòu)和信息保存方式的不同,又可以將隨機(jī)讀寫存儲(chǔ)器分為靜態(tài)RAM(采用雙極型晶體管結(jié)構(gòu),存取速率快,無需刷新,但構(gòu)成一個(gè)存儲(chǔ)單元所需的晶體管數(shù)目較多,集成度低,價(jià)格略高)和動(dòng)態(tài)RAM(采用CMOS工藝,依靠MOS管柵極與襯底之間的寄生電容保存信息,一般均為單管結(jié)構(gòu),集成度高,但寄生電容容量小,漏電大,信息保存時(shí)間短,僅為毫秒級(jí),需要刷新電路,致使動(dòng)態(tài)RAM存儲(chǔ)器系統(tǒng)電路復(fù)雜化,不適用于僅需要少量存儲(chǔ)容量的單片機(jī)系統(tǒng))。只讀存儲(chǔ)器中“只讀”的含義是信息寫入后,只能讀出,不能隨機(jī)修改,適合存放系統(tǒng)監(jiān)控程序。上一頁下一頁返回1.3微型計(jì)算機(jī)組成原理在單片機(jī)應(yīng)用系統(tǒng)中,所需的存儲(chǔ)器容量不大,外圍電路應(yīng)盡可能簡(jiǎn)單,因此幾乎不使用動(dòng)態(tài)RAM,常使用PROM(可編程的只讀存儲(chǔ)器)、EPROM(紫外光可擦寫的只讀存儲(chǔ)器)、OTPROM(一次性編程的只讀存儲(chǔ)器,內(nèi)部結(jié)構(gòu)、工作原理與EPROM相似,是一種沒有擦寫窗口的EPROM)、EEPROM(也稱為E2PROM,是一種電可擦寫的只讀存儲(chǔ)器,其結(jié)構(gòu)與EPROM類似,但絕緣柵很薄,高速電子可穿越絕緣層,中和浮柵上的正電荷,起到擦除目的,也就是說可通過高電壓擦除)、FlashROM(電可擦寫只讀存儲(chǔ)器,寫入速度比EEPROM快,因此也稱為閃爍存儲(chǔ)器)等只讀存儲(chǔ)器作為程序存儲(chǔ)器,使用SRAM(靜態(tài)存儲(chǔ)器)作隨機(jī)讀寫RAM,使用E2PROM、FRAM(鐵電存儲(chǔ)器,讀寫速率快,操作方法與SRAM相似)作非易失的數(shù)據(jù)存儲(chǔ)器。盡管這些存儲(chǔ)器工作原理不同,但內(nèi)部結(jié)構(gòu)基本相同。上一頁下一頁返回1.3微型計(jì)算機(jī)組成原理(1)內(nèi)部結(jié)構(gòu)EPROM、EEPROM、FlashROM、SRAM、FRAM等存儲(chǔ)器內(nèi)部結(jié)構(gòu)可以用圖1-3描述,由地址譯碼器、存儲(chǔ)單元、讀寫控制電路等部分組成。

寄存器或存儲(chǔ)器中的一個(gè)存儲(chǔ)單元,等效于一組觸發(fā)器,每個(gè)觸發(fā)器有兩個(gè)穩(wěn)定狀態(tài),可以記錄一位二進(jìn)制數(shù)。每一存儲(chǔ)單元包含的觸發(fā)器的個(gè)數(shù)稱為存儲(chǔ)單元的字長(zhǎng),對(duì)于并行存取的存儲(chǔ)器芯片,存儲(chǔ)單元內(nèi)包含的觸發(fā)器的個(gè)數(shù)與存儲(chǔ)器芯片數(shù)據(jù)線條數(shù)相同。例如,由8個(gè)觸發(fā)器并排在一起構(gòu)成的存儲(chǔ)單元的字長(zhǎng)為8位,它可以存放一個(gè)8位二進(jìn)制數(shù)(一個(gè)字節(jié))。在計(jì)算機(jī)中,為了提高處理速度,一次操作(如數(shù)據(jù)傳送或運(yùn)算)要同時(shí)處理多位二進(jìn)制數(shù)。因此,在并行存取的存儲(chǔ)器芯片中,一個(gè)存儲(chǔ)單元的容量通常為8位。

上一頁下一頁返回1.3微型計(jì)算機(jī)組成原理存儲(chǔ)器芯片內(nèi)存儲(chǔ)單元數(shù)目與存儲(chǔ)器芯片地址線條數(shù)有關(guān)。存儲(chǔ)單元長(zhǎng)度也可以大于或小于8位,例如PICl6C56單片機(jī)內(nèi)的程序存儲(chǔ)器容量為1K×12bit,即共有1024個(gè)存儲(chǔ)單元,每個(gè)存儲(chǔ)單元可以存放12位二進(jìn)制數(shù),即存儲(chǔ)單元的字長(zhǎng)為12位。存儲(chǔ)單元的地址編碼與存儲(chǔ)單元中的內(nèi)容是兩個(gè)不同的概念,存儲(chǔ)單元地址編碼的長(zhǎng)度由存儲(chǔ)器芯片所包含的存儲(chǔ)單元的個(gè)數(shù)決定。上一頁下一頁返回1.3微型計(jì)算機(jī)組成原理(2)存儲(chǔ)器工作狀態(tài)存儲(chǔ)器芯片工作狀態(tài)由存儲(chǔ)器控制信號(hào)電平狀態(tài)決定,如表1-1所示。(3)存儲(chǔ)器讀操作下面以CPU讀取存儲(chǔ)器中地址編號(hào)為0000H的存儲(chǔ)單元的內(nèi)容為例來說明CPU讀存儲(chǔ)器中某一存儲(chǔ)單元信息的操作過程(如圖1-4所示)。①CPU地址寄存器AR給出將要讀取的存儲(chǔ)單元的地址信息,即0000H。②存儲(chǔ)單元地址信息通過地址總線A15~A0輸入到存儲(chǔ)器芯片地址線上(CPU地址總線與存儲(chǔ)器地址總線相連)。③存儲(chǔ)器芯片內(nèi)的地址譯碼器對(duì)存儲(chǔ)器地址信號(hào)A14~A0進(jìn)行譯碼,并選中0000H單元。上一頁下一頁返回1.3微型計(jì)算機(jī)組成原理④CPU給出讀控制信號(hào)(接存儲(chǔ)器的),將選中的0000H存儲(chǔ)單元內(nèi)容輸出到數(shù)據(jù)總線D7~D0(存儲(chǔ)器數(shù)據(jù)總線與CPU數(shù)據(jù)總線相連),結(jié)果0000H單元的內(nèi)容12H就通過存儲(chǔ)器數(shù)據(jù)總線輸入到CPU內(nèi)部的數(shù)據(jù)寄存器DR中,然后送到CPU內(nèi)部某一特定寄存器或暫存器內(nèi),這樣便完成了存儲(chǔ)器的讀操作過程。對(duì)于存儲(chǔ)器來說,完成讀操作后,被讀出的存儲(chǔ)單元信息將保持不變。(4)存儲(chǔ)器寫操作把某一數(shù)據(jù)(如55H)寫入存儲(chǔ)器內(nèi)某一存儲(chǔ)單元(如0003H單元)的操作過程如下:①CPU地址寄存器AR給出待寫入的存儲(chǔ)單元的地址編碼0003H,通過地址總線A15~A0輸入到存儲(chǔ)器芯片地址線A14~A0上。上一頁下一頁返回1.3微型計(jì)算機(jī)組成原理3.地址總線、數(shù)據(jù)總線和控制總線一個(gè)電路總是由元器件通過導(dǎo)線連接而成的。在模擬電路中,器件、部件間一般是串行關(guān)系,彼此之間的連線并不多,關(guān)系也不復(fù)雜。但在以微處理器為核心的計(jì)算機(jī)電路中,器件、部件都要與微處理器相連,需要的連線多,如果仍采用模擬電路的連線方式,在微處理器與各器件間單獨(dú)連線,則連線數(shù)量將多得驚人,為此在計(jì)算機(jī)電路中引入了總線的概念:即每一器件的數(shù)據(jù)線連接在一起,構(gòu)成數(shù)據(jù)總線;地址線連接在一起,構(gòu)成地址總線;然后與CPU的數(shù)據(jù)、地址總線相連。為避免混亂,任何時(shí)候只允許一個(gè)設(shè)備與CPU通信,因此需要控制線進(jìn)行控制。上一頁下一頁返回1.3微型計(jì)算機(jī)組成原理②存儲(chǔ)器芯片內(nèi)的地址譯碼器對(duì)存儲(chǔ)器地址信號(hào)A14~A0進(jìn)行譯碼,并選中0003H單元。③在寫操作過程中,寫入的數(shù)據(jù)55H存放在CPU內(nèi)的數(shù)據(jù)寄存器DR中。當(dāng)CPU寫控制信號(hào)有效時(shí)(與存儲(chǔ)器寫允許信號(hào)相連),DR寄存器中的內(nèi)容55H就通過數(shù)據(jù)總線D7~D0傳輸?shù)酱鎯?chǔ)器中被選中的0003H存儲(chǔ)單元,結(jié)果0003H單元的內(nèi)容即刻變?yōu)?5H,完成了存儲(chǔ)器的寫操作過程??梢?,寫操作后,被寫入的存儲(chǔ)單元原有信息將不復(fù)存在。上一頁下一頁返回1.3微型計(jì)算機(jī)組成原理所有器件的8根數(shù)據(jù)線全部接到8根公用的數(shù)據(jù)線上,即相當(dāng)于各個(gè)器件并聯(lián)起來。但僅這樣還不行,如果有兩個(gè)器件同時(shí)送出數(shù)據(jù),一個(gè)為0,一個(gè)為1,那么接收方接收到的究竟是什么呢?這種情況是不允許的,所以要通過控制線進(jìn)行控制,使器件分時(shí)工作,任何時(shí)候只能有一個(gè)器件發(fā)送數(shù)據(jù)(可以有多個(gè)器件同時(shí)接收)。器件的數(shù)據(jù)線也就被稱為數(shù)據(jù)總線,器件所有的控制線被稱為控制總線。在單片機(jī)內(nèi)部或者外部存儲(chǔ)器及其他器件中有存儲(chǔ)單元,這些存儲(chǔ)單元要被分配地址才能使用。分配地址當(dāng)然也是以電信號(hào)的形式給出的,由于存儲(chǔ)單元比較多,所以用于地址分配的線也較多,這些線被稱為地址總線。上一頁下一頁返回1.3微型計(jì)算機(jī)組成原理

在計(jì)算機(jī)系統(tǒng)中,常包含以下幾種總線:(1)地址總線(AddressBus,簡(jiǎn)稱AB)。它是單向傳輸,用于傳送地址信息,如圖1—1中運(yùn)算器與存儲(chǔ)器之間的地址線,地址線的數(shù)目決定了可以尋址的存儲(chǔ)空間。一根地址線有兩種狀態(tài),即可以區(qū)分兩個(gè)不同的存儲(chǔ)單元,或者說可以尋址兩個(gè)存儲(chǔ)單元;兩根地址線有四種狀態(tài),可以尋址四個(gè)存儲(chǔ)單元……8位微處理器通常有16根地址線,可以尋址216,即64K個(gè)存儲(chǔ)單元。一般存儲(chǔ)單元的大小為一個(gè)字節(jié),因此8位微處理器的尋址范圍為64KB。上一頁下一頁返回1.3微型計(jì)算機(jī)組成原理(2)數(shù)據(jù)總線(DataBus,簡(jiǎn)稱DB)。它一般為雙向傳輸,用于CPU與存儲(chǔ)器、CPU與外設(shè)或外設(shè)與外設(shè)之間傳送數(shù)據(jù)(包括實(shí)際意義的數(shù)據(jù)和指令碼)信息。在計(jì)算機(jī)中,為了提高處理速度,總是一次處理由多位二進(jìn)制數(shù)組成的信息,即在運(yùn)算器中數(shù)據(jù)線的數(shù)目應(yīng)與待處理的數(shù)據(jù)位數(shù)相同。因此,運(yùn)算器數(shù)據(jù)線的數(shù)目往往不止一條,一般為4條、8條、16條,甚至32條。運(yùn)算器內(nèi)數(shù)據(jù)線的多少被稱為微處理器的“字長(zhǎng)”。字長(zhǎng)是衡量微處理器運(yùn)算速度及精度的重要指標(biāo)之一,也是劃分微處理器檔次的重要依據(jù)。根據(jù)字長(zhǎng),可以將微處理器分為1位機(jī)、4位機(jī)、8位機(jī)、16位機(jī)、32位機(jī)、64位機(jī)等。1位機(jī)的運(yùn)算器只有一根數(shù)據(jù)線,每次只能處理1位二進(jìn)制數(shù),工業(yè)上常用來取代繼電器,用于控制線路的通和斷、設(shè)備的開和關(guān);4位機(jī)有四根數(shù)據(jù)線,常用于家用電器,如電視機(jī)、空調(diào)機(jī)、洗衣機(jī)等的控制電路中;8位機(jī)功能強(qiáng)大,不僅可用于工業(yè)控制、家用電器,也可作為通用微機(jī)系統(tǒng)的中央處理器。上一頁下一頁返回1.3微型計(jì)算機(jī)組成原理(3)控制總線(ControlBus,簡(jiǎn)稱CB)。它是計(jì)算機(jī)系統(tǒng)中所有控制信號(hào)線的總稱,在控制總線中傳送的信息是控制信息。4.I/O接口和外設(shè)I/O接口是架設(shè)在微處理器和外設(shè)間的橋梁,是一種過渡的大規(guī)模集成電路芯片。由于大多數(shù)外部設(shè)備都是機(jī)電型的,工作速度較慢,因此微處理器MPU通常不和它們直接相連,而是通過I/O接口緩沖后再和外設(shè)相連,以便實(shí)現(xiàn)速度、電平和信號(hào)性質(zhì)的匹配。上一頁下一頁返回1.3微型計(jì)算機(jī)組成原理1.3.2微型計(jì)算機(jī)的基本原理微型計(jì)算機(jī)是通過執(zhí)行程序來工作的,機(jī)器執(zhí)行不同程序就能完成不同的運(yùn)算任務(wù)。因此,微型計(jì)算機(jī)執(zhí)行程序的過程實(shí)際上也體現(xiàn)了微型計(jì)算機(jī)的基本工作原理。為此,我們先從指令和程序談起。1.微處理器的指令及指令系統(tǒng)將CPU所執(zhí)行的各種操作(如從指定的存儲(chǔ)器單元中取數(shù)據(jù),將CPU內(nèi)特定寄存器的內(nèi)容寫入存儲(chǔ)器某一指定的存儲(chǔ)單元中,以及算術(shù)或邏輯運(yùn)算等)用命令的形式記錄下來,就稱為指令(Instruction)。一條指令與計(jì)算機(jī)的一種基本操作相對(duì)應(yīng)。當(dāng)然,指令也只能用二進(jìn)制代碼表示,例如在MCS一51系列單片機(jī)中,累加器A中的內(nèi)容除以寄存器B中的內(nèi)容(A÷B)的操作用84H作為指令代碼。上一頁下一頁返回1.3微型計(jì)算機(jī)組成原理為使計(jì)算機(jī)能夠準(zhǔn)確理解和執(zhí)行指令所規(guī)定的動(dòng)作,不同操作對(duì)應(yīng)的指令要用不同的指令代碼表示;或者說,不同的指令代碼表示不同的操作。例如,在MCS一5l系列單片機(jī)中,“E4H”表示將累加器Acc清零,“F4H”表示將累加器Acc內(nèi)容按位取反;又如,用“74HxxH”表示將立即數(shù)“xxH”傳送到累加器Acc中(這條指令占用兩個(gè)字節(jié),其中“74H”表示將立即數(shù)傳送到累加器Acc中,是操作碼,而xxH就是要傳送的立即數(shù))。在計(jì)算機(jī)中,所有指令的集合稱為指令系統(tǒng)。上一頁下一頁返回1.3微型計(jì)算機(jī)組成原理一條指令通常由操作碼和操作數(shù)兩部分組成:操作碼(Operationcode)決定了指令要執(zhí)行的動(dòng)作,一般用一個(gè)字節(jié)表示,除非指令數(shù)目很多,才需要用兩個(gè)字節(jié)表示。用一個(gè)字節(jié)表示指令的操作碼時(shí),最多可以表示256種操作,即256條指令,一般已足夠。計(jì)算機(jī)系統(tǒng)所包含的指令數(shù)目并不很多,尤其是單片機(jī)系統(tǒng),如PICl6系列單片機(jī)系統(tǒng)僅含有幾十條指令。操作數(shù)(Operand)指定了參加操作的數(shù)據(jù)或數(shù)據(jù)所在的存儲(chǔ)單元的地址。上一頁下一頁返回1.3微型計(jì)算機(jī)組成原理不同計(jì)算機(jī)指令系統(tǒng)所包含的指令種類、數(shù)目、指令代碼對(duì)應(yīng)的操作由CPU設(shè)計(jì)人員指定。因此,不同種類的CPU具有不同的指令系統(tǒng)。一般說來,不同系列CPU的指令系統(tǒng)也不一定相同,除非它們彼此兼容。根據(jù)計(jì)算機(jī)指令系統(tǒng)的特征,可以將計(jì)算機(jī)指令系統(tǒng)分為兩大類,即復(fù)雜指令系統(tǒng)(ComplexInstructionSetComputer,簡(jiǎn)稱CISC指令結(jié)構(gòu))和精簡(jiǎn)指令系統(tǒng)(ReducedInstructionSetComputer,簡(jiǎn)稱RISC指令結(jié)構(gòu))。采用復(fù)雜指令結(jié)構(gòu)的計(jì)算機(jī)系統(tǒng)(如MCS一51系列單片機(jī))具有如下特點(diǎn):上一頁下一頁返回1.3微型計(jì)算機(jī)組成原理(1)指令機(jī)器碼長(zhǎng)短不一。

(2)可選擇兩條或兩條以上指令完成同一操作,程序設(shè)計(jì)靈活性大,但缺點(diǎn)是指令數(shù)目較多(這類CPU一般具有數(shù)十條到數(shù)百條指令)。由于指令操作碼和操作數(shù)均存放在存儲(chǔ)器中,而每條指令占用的字節(jié)數(shù)長(zhǎng)短不同。因此,指令中的操作碼不僅要指明該指令所要執(zhí)行的操作,還應(yīng)指出指令占用的字節(jié)數(shù)。根據(jù)指令代碼的長(zhǎng)短,可將指令分為:?jiǎn)巫止?jié)指令——這類指令僅有操作碼,沒有操作數(shù),或操作數(shù)隱含在操作碼字節(jié)中。雙字節(jié)指令——這類指令第一字節(jié)為操作碼,第二字節(jié)為操作數(shù)。多字節(jié)指令——這類指令第一字節(jié)為操作碼,第二、三字節(jié)為操作數(shù)或操作數(shù)所在的存儲(chǔ)單元地址。上一頁下一頁返回1.3微型計(jì)算機(jī)組成原理采用精簡(jiǎn)指令技術(shù)的計(jì)算機(jī)指令系統(tǒng)情況剛好相反。完成同一操作,一般只有一條指令可供選擇,指令數(shù)目相對(duì)較少,尤其是采用了精簡(jiǎn)指令的單片機(jī)CPU,如PIC系列、Atmel的AVR系列單片機(jī),指令數(shù)目?jī)H為數(shù)十條,但程序設(shè)計(jì)的靈活性相對(duì)較差。另外,在采用精簡(jiǎn)指令技術(shù)的系統(tǒng)中,指令機(jī)器碼長(zhǎng)度相同,例如PICl6C54單片機(jī)任一指令機(jī)器碼的長(zhǎng)度均為12位(1.5字節(jié))。由于所有指令碼長(zhǎng)度相同,取指、譯碼過程中不必做更多的判斷,因而指令執(zhí)行速度較快。上一頁下一頁返回1.3微型計(jì)算機(jī)組成原理但無論采用何種類型的指令系統(tǒng),任何CPU的指令系統(tǒng)都會(huì)提供數(shù)據(jù)傳送指令、算術(shù)/邏輯運(yùn)算指令、控制轉(zhuǎn)移指令等四種基本類型指令。此外,在單片機(jī)系統(tǒng)中,還要提供位操作指令,以簡(jiǎn)化控制系統(tǒng)的程序設(shè)計(jì)。用二進(jìn)制代碼表示的指令稱為機(jī)器語言指令,其中的二進(jìn)制代碼稱為指令的機(jī)器碼。機(jī)器語言指令是計(jì)算機(jī)系統(tǒng)中惟一能夠理解和執(zhí)行的指令。正因如此,形象地將二進(jìn)制代碼形式的指令稱為機(jī)器語言指令。上一頁下一頁返回1.3微型計(jì)算機(jī)組成原理2.程序程序(Program)就是指令的有機(jī)組合,是完成特定工作所用到的指令(這些指令當(dāng)然是某個(gè)特定計(jì)算機(jī)系統(tǒng)的指令)的總稱。一段程序通常由多條指令組成,程序中所包含的指令數(shù)目及種類由程序功能決定。用機(jī)器語言指令編寫的程序,就稱為機(jī)器語言程序,如:74AAF875A882程序的編制稱為程序設(shè)計(jì)。通常,設(shè)計(jì)人員是采用指令的匯編符(即助記符)形式編程的,這種程序設(shè)計(jì)稱之為匯編語言程序設(shè)計(jì)。上一頁下一頁返回1.3微型計(jì)算機(jī)組成原理3.匯編語言及匯編語言程序由于機(jī)器語言指令中的操作碼和操作數(shù)均用二進(jìn)制數(shù)表示、書寫,沒有明顯的特征,一般人很難理解和記憶,使程序編寫工作成了一件非常困難和乏味的事。為此,人們想出了一個(gè)辦法:將每條指令操作碼所要完成的動(dòng)作用特定符號(hào)表示,即用指令功能的英文縮寫替代指令操作碼,形成了指令操作碼的助記符;并將機(jī)器語言指令中的操作數(shù)也用CPU內(nèi)寄存器名、存儲(chǔ)單元地址或I/O端口號(hào)代替,這樣便形成了操作數(shù)助記符,于是就獲得了“匯編語言指令”。例如,將累加器A內(nèi)容清零,記為“CLRA”;用“MOV”作為數(shù)據(jù)傳送指令的助記符,于是將立即數(shù)23H傳送到累加器A中的指令就可以用“MOVA,#23H”(#是立即數(shù)標(biāo)志)表示;將存儲(chǔ)器43H單元中的內(nèi)容傳送到累加器A中,可用“MOVA,43H”表示??梢姡瑓R編語言指令比機(jī)器語言指令容易理解和記憶。上一頁下一頁返回1.3微型計(jì)算機(jī)組成原理

用指令助記符(由操作碼助記符和操作數(shù)助記符組成)表示的指令稱為匯編語言指令,由匯編語言指令構(gòu)成的程序,稱為匯編語言程序(有時(shí)也稱為匯編語言源程序)??梢?,匯編語言程序容易理解,可讀性強(qiáng),方便了程序的編寫和維護(hù)。由于匯編語言指令與機(jī)器語言指令一一對(duì)應(yīng),而機(jī)器語言指令中每一指令碼的含義由CPU決定,因此不同計(jì)算機(jī)系統(tǒng)匯編語言指令格式、助記符等不一定相同。例如,在IntelMCS-51系列單片機(jī)系統(tǒng)中,將立即數(shù)55H送累加器A的匯編語言指令記作“MOVA,#55H”;但在MotorolaM6805系列單片機(jī)中,卻表示為“LDAA$55”;在PIC系列單片機(jī)中,寫為“MOVLW0x55”,其中:“MOVLW”是“MOVLiteraltoW”的縮寫,含義是“操作數(shù)傳送到工作寄存器W中”(在PIC系列單片機(jī)CPU內(nèi),工作寄存器W與IntelMCS一51CPU內(nèi)累加器A的地位、作用相同);“0x”表示隨后的數(shù)是十六進(jìn)制數(shù)。上一頁下一頁返回1.3微型計(jì)算機(jī)組成原理當(dāng)然,計(jì)算機(jī)只能理解和執(zhí)行二進(jìn)制代碼形式的機(jī)器語言指令,不能理解和執(zhí)行匯編語言指令,但可以通過專門軟件或手工查表方式將匯編語言程序中的匯編語言指令逐條翻譯成對(duì)應(yīng)的機(jī)器語言指令。將匯編語言程序轉(zhuǎn)換為機(jī)器語言程序的過程就稱為匯編過程,將完成匯編語言指令轉(zhuǎn)換為機(jī)器語言指令的程序稱為匯編程序??梢妳R編程序的功能就是逐一讀出匯編語言源程序中的匯編語言指令,再通過查表比較方式,將其中的匯編語言指令逐一轉(zhuǎn)換成機(jī)器語言指令。當(dāng)然這一過程也可以由人工查表完成,即所謂的人工匯編。上一頁下一頁返回1.3微型計(jì)算機(jī)組成原理4.微型計(jì)算機(jī)執(zhí)行程序的過程為了弄清微型計(jì)算機(jī)的工作原理,現(xiàn)以如下的求和程序來說明微型計(jì)算機(jī)的工作過程。MOVA,0020H;將存儲(chǔ)器0020H單元中的內(nèi)容傳送到累加器中,該指令對(duì)應(yīng)的機(jī)器碼為;E52000。ADDA,0021H;將存儲(chǔ)器0021H單元中的內(nèi)容與累加器內(nèi)容相加,和存放在累加器A中,;該指令對(duì)應(yīng)的機(jī)器碼為252100。MOV002FH,A;將結(jié)果傳送到存儲(chǔ)器002FH單元中,該指令對(duì)應(yīng)的機(jī)器碼為F52F00。上述求和程序完成的操作是將存儲(chǔ)器0020H單元與0021H單元中的內(nèi)容相加,結(jié)果存放在002FH單元中。假設(shè)這些指令的機(jī)器碼從存儲(chǔ)器0000H單元開始順序存放,如圖1—5所示。我們知道,對(duì)于特定的CPU來說,復(fù)位后程序計(jì)數(shù)器Pc的值是固定的。為方便起見,假設(shè)復(fù)位后PC的值正是這個(gè)小程序第一條指令所在的存儲(chǔ)單元地址,即0000H。上一頁下一頁返回1.3微型計(jì)算機(jī)組成原理下面我們來看計(jì)算機(jī)執(zhí)行存儲(chǔ)單元中指令代碼的操作過程:①將程序計(jì)數(shù)器PC中的內(nèi)容,即第一條指令所在的存儲(chǔ)單元地址0000H通過內(nèi)部地址總線送地址寄存器AR中。②當(dāng)PC中的內(nèi)容可靠地傳送到AR后,PC內(nèi)容自動(dòng)加1,指向下一存儲(chǔ)單元。③地址寄存器AR中的內(nèi)容通過外部地址總線AB將0000H單元地址信息送到存儲(chǔ)器地址總線上。④存儲(chǔ)器芯片內(nèi)的地址譯碼器對(duì)地址信號(hào)進(jìn)行譯碼,并選中存儲(chǔ)器芯片內(nèi)的0000H單元。⑤CPU給出存儲(chǔ)器讀控制信號(hào),結(jié)果0000H單元中的內(nèi)容“E5”經(jīng)存儲(chǔ)器和CPU之間的數(shù)據(jù)總線DB送到CPU內(nèi)部的數(shù)據(jù)存儲(chǔ)器DR中。上一頁下一頁返回1.3微型計(jì)算機(jī)組成原理

⑥由于指令第一字節(jié)是操作碼,不是操作數(shù)(CPU設(shè)計(jì)時(shí)約定的規(guī)則),因此進(jìn)入DR寄存器中的E5H,即指令的第一字節(jié)將送入指令寄存器IR中保存,這樣就完成了第一條指令操作碼的取出過程。

⑦接著指令譯碼器ID對(duì)指令寄存器IR中的內(nèi)容(操作碼)進(jìn)行譯碼,以確定指令所要執(zhí)行的操作,指示CPU內(nèi)的控制器給出相應(yīng)的控制信號(hào),這樣就完成了指令的譯碼過程。譯碼后,也就知道了該指令有無操作數(shù),以及存放位置,同時(shí)也就知道了指令的字節(jié)數(shù)。譯碼后,得知操作碼為E5的指令是三字節(jié)指令,操作碼E5后的兩個(gè)字節(jié)是操作數(shù)所在的存儲(chǔ)單元地址(這里假設(shè)低8位地址在前,因此0020H單元地址編碼在存儲(chǔ)器中的存放順序是2000),需要取出隨后的兩個(gè)字節(jié)。⑧將程序計(jì)數(shù)器PC內(nèi)容(當(dāng)前為0001)傳送到AR寄存器中,同時(shí)程序計(jì)數(shù)器PC自動(dòng)加1,指向下一存儲(chǔ)單元,即0002H單元。上一頁下一頁返回1.3微型計(jì)算機(jī)組成原理⑨地址寄存器AR內(nèi)容(目前為0001H)通過外部地址總線AB輸出到存儲(chǔ)器地址總線上。存儲(chǔ)器芯片內(nèi)的地址譯碼器對(duì)地址信號(hào)進(jìn)行譯碼,并選中存儲(chǔ)器芯片內(nèi)的0001H單元。⑩CPU給出存儲(chǔ)器讀控制信號(hào),結(jié)果0001H單元中的內(nèi)容“20”經(jīng)存儲(chǔ)器和CPU之間的數(shù)據(jù)總線DB送到CPU內(nèi)部的數(shù)據(jù)存儲(chǔ)器DR中。由于第二字節(jié)是指令操作數(shù)所在存儲(chǔ)單元地址的低8位,因此數(shù)據(jù)寄存器DR中的內(nèi)容通過內(nèi)部數(shù)據(jù)總線送入暫存器中。⑾重復(fù)⑧~⑩的操作過程,取出指令第三字節(jié),即操作數(shù)所存在存儲(chǔ)單元地址的高8位,并存放在數(shù)據(jù)寄存器DR中。上一頁下一頁返回1.3微型計(jì)算機(jī)組成原理⑿進(jìn)入指令執(zhí)行階段。由于這條指令第二、三字節(jié)是操作數(shù)所在存儲(chǔ)單元地址,因此,在執(zhí)行階段將存放在DR中的高8位內(nèi)容送地址寄存器AR的高8位,將存放在暫存器中的低8位送AR的低8位,形成操作數(shù)16位地址碼,經(jīng)AR輸出。AR輸出的地址信號(hào)經(jīng)存儲(chǔ)器芯片內(nèi)的地址譯碼器譯碼后,在存儲(chǔ)器讀信號(hào)的控制下,即可將0020H單元中的內(nèi)容12H經(jīng)存儲(chǔ)器數(shù)據(jù)總線DB輸入CPU內(nèi)部數(shù)據(jù)寄存器DR,然后傳送到累加器A中,這樣就完成了指令的執(zhí)行過程??梢?,一條指令的執(zhí)行過程包括了:取操作碼(取指令第一字節(jié))→譯碼(對(duì)指令操作碼進(jìn)行翻譯,指示控制器給出相應(yīng)的控制信號(hào))→取操作數(shù)(取出指令第二、三字節(jié),指令第一字節(jié),即操作碼字節(jié)將告訴CPU該指令的長(zhǎng)短)→執(zhí)行指令規(guī)定的操作,然后,不斷重復(fù)“取操作碼→譯碼→取操作數(shù)→執(zhí)行”的過程,直到程序結(jié)束(如遇到停機(jī)或暫停指令)。在指令取出過程中,程序計(jì)數(shù)器PC每輸出一個(gè)地址編碼到地址寄存器AR后,PC內(nèi)容自動(dòng)加1,指向下一個(gè)存儲(chǔ)單元。上一頁返回1.4單片機(jī)及其發(fā)展概況目前計(jì)算機(jī)硬件技術(shù)向巨型化、微型化和單片化三個(gè)方向高速發(fā)展。自1975年美國(guó)得克薩斯儀器公司第一塊單片微型計(jì)算機(jī)芯片TMS-1000問世以來,在短短的二十多年間,單片機(jī)技術(shù)已發(fā)展成為計(jì)算機(jī)技術(shù)一個(gè)非常有前途的分支,它有自己的技術(shù)特征、規(guī)范、發(fā)展道路和應(yīng)用領(lǐng)域。單片機(jī)芯片具有體積小、個(gè)性突出(某些方面的性能指標(biāo)大大優(yōu)于通用微機(jī)中央處理器)、價(jià)格低廉等優(yōu)點(diǎn)。一方面,單片機(jī)芯片是自動(dòng)控制系統(tǒng)的核心部件,廣泛應(yīng)于工業(yè)控制、智能化儀器儀表、通信終端設(shè)備、家用電器、高檔電子玩具等領(lǐng)域;另一方面,單片機(jī)也是電子技術(shù)數(shù)字化的核心部件之一,在數(shù)字化電子產(chǎn)品中承擔(dān)數(shù)字信號(hào)處理的重任。由于模擬技術(shù)的局限性——信號(hào)在傳輸、存儲(chǔ)、還原過程中不可避免地存在失真及保密性差等無法克服的缺點(diǎn)。在高速ADC與DAC、數(shù)字信號(hào)處理技術(shù)的推動(dòng)下,電子技術(shù)正逐步向數(shù)字化方向發(fā)展,而電子技術(shù)數(shù)字化的關(guān)鍵和核心是數(shù)字信號(hào)的處理,單片機(jī)正是電子技術(shù)數(shù)字化的核心部件之一。下一頁返回1.4單片機(jī)及其發(fā)展概況1.4.1單片機(jī)及其特點(diǎn)在通用微機(jī)中央處理器基礎(chǔ)上,將輸入/輸出(I/O)接口電路、時(shí)鐘電路,以及一定容量的存儲(chǔ)器等部件集成在同一芯片上,再加上必要的外圍器件,如晶體振蕩器,就構(gòu)成了一個(gè)較為完整的計(jì)算機(jī)硬件系統(tǒng)。由于這類計(jì)算機(jī)系統(tǒng)的基本部件均集成在同一芯片內(nèi),因此被稱為單片微控制器(SingleChipMicroController,簡(jiǎn)稱單片機(jī)——國(guó)內(nèi)習(xí)慣稱謂)、微控制單元(MicroControllerUnit,簡(jiǎn)稱MCU)或嵌入式控制器(EmbeddedController)。上一頁下一頁返回1.4單片機(jī)及其發(fā)展概況對(duì)于通用微處理器來說,其主要任務(wù)是數(shù)值計(jì)算和信息處理。在運(yùn)算速率和存儲(chǔ)容量方面的要求是速率越快越好,容量越大越好,因此它沿著高速、大容量方向發(fā)展。字長(zhǎng)由8位(如8085)、16位(如8086、80286),迅速向32位(如80486)、64位(如Pentium系列CPU,Pentium系列CPU內(nèi)部數(shù)據(jù)總線為32位,對(duì)外數(shù)據(jù)總線為64位,因而Pentium還不是真正意義上的64位微處理器)過渡;時(shí)鐘信號(hào)的頻率由最初的4.77MHz向33MHz、66MHz、100MHz、200MHz、400MHz、600MHz、1GHz、2GHz,甚至更高頻率過渡。而單片機(jī)主要面向工業(yè)控制,8位字長(zhǎng)已足夠(在工業(yè)控制中,一般僅需要控制線路的通、斷,觸點(diǎn)的吸合與釋放,有時(shí)4位單片機(jī)也能勝任)。

上一頁下一頁返回1.4單片機(jī)及其發(fā)展概況盡管也有16位、32位的單片機(jī)芯片,但這些高檔單片機(jī)芯片主要用于語音、圖像處理系統(tǒng),絕對(duì)數(shù)量不多,時(shí)鐘信號(hào)頻率也不高,一般在數(shù)十兆以內(nèi)。單片機(jī)主要發(fā)展方向是不斷強(qiáng)化控制功能(將更多的外設(shè)電路單元集成到同一封裝模塊內(nèi))、低功耗(以便電池供電)、低成本(例如,在CPU芯片內(nèi),按用途分別集成不同的外圍電路,形成系列化產(chǎn)品,這樣既能滿足不同應(yīng)用領(lǐng)域的需要,也降低了成本)。單片機(jī)芯片作為控制系統(tǒng)的核心部件,它除了具備通用微機(jī)CPU的數(shù)值計(jì)算功能外,還必須具有靈活、強(qiáng)大的控制功能,以便實(shí)時(shí)監(jiān)測(cè)系統(tǒng)的輸入量、控制系統(tǒng)的輸出量,實(shí)現(xiàn)自動(dòng)控制功能。單片機(jī)主要面向工業(yè)控制,它的工作環(huán)境比較惡劣,如高溫、強(qiáng)電磁干擾,甚至含有腐蝕性氣體。在太空中工作的單片機(jī)控制系統(tǒng),還必須具有抗輻射能力。因而決定了單片機(jī)CPU與通用微機(jī)CPU具有不同的技術(shù)特征和發(fā)展方向。

上一頁下一頁返回1.4單片機(jī)及其發(fā)展概況(1)抗干擾性強(qiáng),工作溫度范圍寬(按工作溫度分類,有民用級(jí)、工業(yè)級(jí)、汽車級(jí)及軍用級(jí))。而通用微機(jī)CPU一般要求在室溫下工作(與民用級(jí)單片機(jī)工作溫度相同),抗干擾性能也較差。(2)可靠性高。在工業(yè)控制中,任何差錯(cuò)都可能造成極其嚴(yán)重的后果,因此在單片機(jī)芯片中普遍采用硬件看門狗技術(shù),通過“復(fù)位”喚醒處于“失控”狀態(tài)下單片機(jī)芯片。(3)電磁輻射量小。高可靠性和低電磁輻射指標(biāo)決定了單片機(jī)系統(tǒng)時(shí)鐘頻率比通用微處理器低。(4)控制功能很強(qiáng),數(shù)值計(jì)算能力較差。通用微機(jī)CPU具有很強(qiáng)的數(shù)值運(yùn)算能力,但控制能力相對(duì)較弱。將通用微機(jī)用于工業(yè)控制時(shí),一般需要增加一些專用的接口電路,如承擔(dān)AD/DA轉(zhuǎn)換任務(wù)的數(shù)據(jù)采集卡等。上一頁下一頁返回1.4單片機(jī)及其發(fā)展概況(5)指令系統(tǒng)簡(jiǎn)單。(6)單片機(jī)芯片往往不是單一數(shù)字電路芯片,而是數(shù)字、模擬混合電路系統(tǒng),即單片機(jī)芯片內(nèi)常集成了一定數(shù)量的模擬比較器、AD及DA轉(zhuǎn)換電路等。(7)采用嵌入式結(jié)構(gòu)。盡管同一系列內(nèi)品種、規(guī)格繁多,但彼此差異卻不大。(8)更新?lián)Q代速度比通用微處理器慢得多。Intel公司1980年推出標(biāo)準(zhǔn)MCS一51內(nèi)核8051(HMOS工藝)、80C51(CHMOS工藝)單片機(jī)芯片后,持續(xù)生產(chǎn)、使用了十余年,直到1996年3月才被增強(qiáng)型MCS一51內(nèi)核8XC5X芯片取代。上一頁下一頁返回1.4單片機(jī)及其發(fā)展概況1.4.2單片機(jī)技術(shù)現(xiàn)狀及將來發(fā)展趨勢(shì)前單片機(jī)芯片系列、品種、規(guī)格繁多,先后經(jīng)歷了4位機(jī)、8位機(jī)、16位機(jī)、新一代8位機(jī)、32位機(jī)等幾個(gè)具有代表性的發(fā)展階段。4位機(jī)主要用于家用電器,如電視機(jī)、空調(diào)機(jī)、洗衣機(jī)中。不過隨著8位機(jī)價(jià)格的下降,在家用電器中己開始大量采用8位機(jī),以便在家用電器中采用一些新技術(shù),如模糊控制、變頻調(diào)速等,以提升家用電器的智能化、自動(dòng)化程度,并盡可能降低系統(tǒng)的能耗。16位機(jī)具有較強(qiáng)的數(shù)值運(yùn)算能力和較快的反映速度,常用在需要實(shí)時(shí)控制、處理的系統(tǒng)中。盡管16位單片機(jī)進(jìn)入市場(chǎng)已有十余年,但一直未能取代8位機(jī)芯片成為主流產(chǎn)品,并且目前已被強(qiáng)化了控制接口功能的新一代8位機(jī)和數(shù)值運(yùn)算能力更強(qiáng)的32位嵌入式單片機(jī)芯片所取代。

上一頁下一頁返回1.4單片機(jī)及其發(fā)展概況32位嵌入式單片機(jī)芯片具有很強(qiáng)的數(shù)值計(jì)算能力,在圖像處理、機(jī)器人控制需求的刺激下,32位嵌入式單片機(jī)芯片的銷量也在迅速上升。在今后一段時(shí)期內(nèi),8位、16位和32位嵌入式單片機(jī)芯片銷量的絕對(duì)值可能會(huì)有不同程度的增長(zhǎng),但在目前,甚至在今后相當(dāng)長(zhǎng)的時(shí)間內(nèi),如5年、10年,8位單片機(jī),尤其是強(qiáng)化了控制接口功能的新一代8位單片機(jī),如80C51、MC68HCl1系列,依然是單片機(jī)的主流產(chǎn)品。1.新一代8位單片機(jī)芯片8位單片機(jī)先后經(jīng)歷了三個(gè)發(fā)展階段。第一代8位單片機(jī)系統(tǒng)(如Intel公司的MCS一48系列)功能較差,它實(shí)際上是8位通用微處理器單元電路和基本I/O接口電路、小容量存儲(chǔ)器、中斷控制系統(tǒng)的簡(jiǎn)單組合,沒有串行通信功能,不帶A/D、D/A轉(zhuǎn)換器,中斷控制和管理能力也較弱,功耗大,因而應(yīng)用范圍受到了很大的限制。上一頁下一頁返回1.4單片機(jī)及其發(fā)展概況第二代8位單片機(jī)特點(diǎn)是通用性強(qiáng),但個(gè)性還不突出,控制功能也有限,依然不能滿足不同應(yīng)用領(lǐng)域、不同測(cè)控系統(tǒng)的要求。20世紀(jì)90年代中后期,各大芯片廠商,如Intel、Philips、Winbond、Atmel、SST、Microchip、Motorola、TemicSemiconductorTechnology等,在第二代單片機(jī)CPU內(nèi)核基礎(chǔ)上,除了進(jìn)一步強(qiáng)化原有功能(如在串行接口部件中增加幀錯(cuò)誤偵測(cè)和地址自動(dòng)識(shí)別功能)外,針對(duì)不同的應(yīng)用領(lǐng)域,將不同功能、用途的外圍接口電路嵌入到第二代單片機(jī)CPU內(nèi),形成了規(guī)格、品種繁多的新一代8位單片機(jī)芯片,如Intel、Philips、Atmel、SST公司的8XC5X系列,Winbond公司的78E、77E系列(與MCS一51系列兼容),Motorola公司的68HC05、68HCll系列,MicroChip公司的PIC系列等。新一代8位單片機(jī)芯片系列、品種繁多,主流品種有:(1)Motorola的M68HC系列上一頁下一頁返回1.4單片機(jī)及其發(fā)展概況Motorola公司的M68HC05、M68HCll、M68HCl2系列的特點(diǎn)是在同樣的速率下所用的時(shí)鐘頻率較MCS一51內(nèi)核芯片低得多,因而高頻噪聲低、抗干擾能力強(qiáng),更適合于工控領(lǐng)域及惡劣環(huán)境下使用。(2)ATMEL公司的AVR系列AVR系列單片機(jī)采用增強(qiáng)型RISC結(jié)構(gòu),在一個(gè)時(shí)鐘周期內(nèi)可執(zhí)行復(fù)雜指令,每兆赫茲可實(shí)現(xiàn)1MIPS(MIPS,每秒指令數(shù))的處理能力。AVR單片機(jī)工作電壓為2.7~6.0V,功耗小,廣泛應(yīng)用于計(jì)算機(jī)外部設(shè)備、工業(yè)實(shí)時(shí)控制、儀器儀表、通信設(shè)備、家用電器、宇航設(shè)備等各個(gè)領(lǐng)域。(3)MicroChipPIC系列及兼容芯片MicroChip公司8位單片機(jī)主要包括PICl2C、PICl6C、PICl7C、PICl8C/18F等系列。采用RISC結(jié)構(gòu),指令數(shù)目少、運(yùn)行速度快、工作電壓低、功耗小、高低電平驅(qū)動(dòng)能力較強(qiáng),任一I/O口均可直接驅(qū)動(dòng)LED發(fā)光二極管,適用于用量大、檔次低、價(jià)格敏感的產(chǎn)品。

上一頁下一頁返回1.4單片機(jī)及其發(fā)展概況(4)MCS一51系列及兼容芯片MCS一51系列最先由Intel公司開發(fā),后來其他公司通過技術(shù)轉(zhuǎn)讓、交換等方式取得了MCS一51內(nèi)核技術(shù),生產(chǎn)廠家很多,目前主要有Philips、Atmel、Winbond(W78及W77系列)、SST、LG(GMS90系列)等。特點(diǎn)是通用性較強(qiáng),采用CISC{復(fù)雜指令)結(jié)構(gòu),指令格式與Intel公司8位微處理器相同或相近。由于MCS一51系列進(jìn)入市場(chǎng)時(shí)間早,總線開放,仿真開發(fā)設(shè)備多,芯片及其開發(fā)設(shè)備價(jià)格低廉、速度較快、電磁兼容性較好,是國(guó)內(nèi)8位單片機(jī)的主流品種。上一頁下一頁返回1.4單片機(jī)及其發(fā)展概況2.16位單片機(jī)16位單片機(jī)操作速率及數(shù)據(jù)吞吐能力等性能指標(biāo)比8位機(jī)有較大提高。目前以INTEL的MCS一96/196系列、TI(得州儀器公司)的MSP430系列及MOTOROLA的68HCll系列為主。16位單片機(jī)主要應(yīng)用于工業(yè)控制、智能化儀器儀表、便攜式設(shè)備等領(lǐng)域,其中TI的MSP430系列以其超低功耗的特性廣泛應(yīng)用于低功耗場(chǎng)合。3.32位單片機(jī)由于8位、16位單片機(jī)數(shù)據(jù)吞吐率有限,在語音、圖像、工業(yè)機(jī)器人、INTERNET,以及無線數(shù)字傳輸技術(shù)需求的驅(qū)動(dòng)下,開發(fā)、使用32位單片機(jī)芯片就成為一種必然趨勢(shì)。目前,各大芯片廠家正紛紛推出各自的32位嵌入式單片機(jī)芯片,主要有MOTOROLA、TOSHIBA、HITACH、NEC、EPSON、MITSUBISHI、SAMSUNG、Atmel、Philips等,其中以32位ARM單片機(jī)及MOTOROLA的MC683xx、68K系列應(yīng)用較為廣泛,產(chǎn)量也較大。上一頁下一頁返回1.4單片機(jī)及其發(fā)展概況

ARM(AdvancedRISCMachines)是微處理器行業(yè)的一家知名企業(yè),但它本身不生產(chǎn)芯片,通過轉(zhuǎn)讓設(shè)計(jì)使用許可方式由合作伙伴來生產(chǎn)各具特色的芯片。ARM公司設(shè)計(jì)了大量高性能、廉價(jià)、耗能低的RISC處理器及其相關(guān)產(chǎn)品和軟件。目前,包括Intel、IBM、SAMSUNG、OKI、LG、NEC、SONY、PHILIPS等公司在內(nèi)的30多家半導(dǎo)體公司與ARM簽訂了硬件技術(shù)使用許可協(xié)議。當(dāng)前ARM處理器有6個(gè)系列(ARM7、ARM9、ARM9E、ARMl0、ARMll和SecurCore)、數(shù)十種型號(hào),其中ARMll最新。進(jìn)一步產(chǎn)品來自于合作伙伴,例如IntelXscale微體系結(jié)構(gòu)和StrongARM產(chǎn)品。ARM7、ARM9、ARM9E、ARMl0是4個(gè)通用處理器系列。每個(gè)系列提供一套特定的性能來滿足設(shè)計(jì)者對(duì)功耗、性能、體積的需求。SecurCore是第5個(gè)產(chǎn)品系列,專門為安全設(shè)備設(shè)計(jì)。上一頁下一頁返回1.4單片機(jī)及其發(fā)展概況1.4.3增強(qiáng)型MCS-51單片機(jī)芯片特征及主流芯片目前增強(qiáng)型MCS一51及兼容單片機(jī)芯片生產(chǎn)廠商較多,主要有Philips、Ateml、TemicSemiconductor(簡(jiǎn)稱TS)、Winbond、SST等(Intel已不是MCS一51單片機(jī)芯片的主要生產(chǎn)商)。1.增強(qiáng)型MCS一51單片機(jī)芯片的主要特征以增強(qiáng)型MCS-51為內(nèi)核的8XC5X系列新一代8位嵌入式單片機(jī)的主要特點(diǎn)如下:(1)芯片內(nèi)存儲(chǔ)器容量大,規(guī)格多,程序存儲(chǔ)器類型也趨于多樣化,F(xiàn)lashROM將逐步取代OTPROM成為程序存儲(chǔ)器的主流。上一頁下一頁返回1.4單片機(jī)及其發(fā)展概況

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論