單片機(jī)應(yīng)用及技術(shù)課件_第1頁(yè)
單片機(jī)應(yīng)用及技術(shù)課件_第2頁(yè)
單片機(jī)應(yīng)用及技術(shù)課件_第3頁(yè)
單片機(jī)應(yīng)用及技術(shù)課件_第4頁(yè)
單片機(jī)應(yīng)用及技術(shù)課件_第5頁(yè)
已閱讀5頁(yè),還剩785頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第1章微型計(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è)值的概念。

下一頁(yè)返回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ù)形式。

上一頁(yè)下一頁(yè)返回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ù)的通式為:上一頁(yè)下一頁(yè)返回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上一頁(yè)下一頁(yè)返回1.1微型計(jì)算機(jī)數(shù)制及其轉(zhuǎn)換8位二進(jìn)制數(shù),共有28(即256)個(gè)狀態(tài),分別編碼為

000000000000000100000010000000110000010000000101000001100000011100001000000010010000101000001011

……11111100111111011111111011111111上一頁(yè)下一頁(yè)返回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é)。上一頁(yè)下一頁(yè)返回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。上一頁(yè)下一頁(yè)返回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ù),可以表示為上一頁(yè)下一頁(yè)返回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)行:上一頁(yè)下一頁(yè)返回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ù)的過程如下所示。上一頁(yè)下一頁(yè)返回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ù)。上一頁(yè)下一頁(yè)返回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ù)部分后面的零)上一頁(yè)下一頁(yè)返回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上一頁(yè)下一頁(yè)返回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上一頁(yè)下一頁(yè)返回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上一頁(yè)下一頁(yè)返回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上一頁(yè)下一頁(yè)返回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。上一頁(yè)下一頁(yè)返回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”。上一頁(yè)下一頁(yè)返回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。上一頁(yè)返回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ù)就稱為該字符的編碼。下一頁(yè)返回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è)字符。上一頁(yè)下一頁(yè)返回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),如希臘字母等。上一頁(yè)下一頁(yè)返回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)系如下。上一頁(yè)下一頁(yè)返回1.2碼制上一頁(yè)下一頁(yè)返回

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

十進(jìn)制數(shù)8421BCD碼0000050101l0001601102001070lll300ll81000401009100l1.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ì)值,這種表示方法就稱為原碼表示法,如上所述。上一頁(yè)下一頁(yè)返回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ì)值部分按位取反。上一頁(yè)下一頁(yè)返回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)算,例如:上一頁(yè)下一頁(yè)返回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ǔ)碼的過程如下:上一頁(yè)下一頁(yè)返回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。上一頁(yè)返回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所示。下一頁(yè)返回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ī)控制芯片。上一頁(yè)下一頁(yè)返回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、控制器等部件組成。上一頁(yè)下一頁(yè)返回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ǔ)單元)。上一頁(yè)下一頁(yè)返回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)作。上一頁(yè)下一頁(yè)返回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)位等。上一頁(yè)下一頁(yè)返回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)鍵因素之一。上一頁(yè)下一頁(yè)返回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)控程序。上一頁(yè)下一頁(yè)返回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)基本相同。上一頁(yè)下一頁(yè)返回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位。

上一頁(yè)下一頁(yè)返回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ù)決定。上一頁(yè)下一頁(yè)返回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單元。上一頁(yè)下一頁(yè)返回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上。上一頁(yè)下一頁(yè)返回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)行控制。上一頁(yè)下一頁(yè)返回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ù)存在。上一頁(yè)下一頁(yè)返回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ǔ)單元比較多,所以用于地址分配的線也較多,這些線被稱為地址總線。上一頁(yè)下一頁(yè)返回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。上一頁(yè)下一頁(yè)返回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)的中央處理器。上一頁(yè)下一頁(yè)返回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ì)的匹配。上一頁(yè)下一頁(yè)返回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作為指令代碼。上一頁(yè)下一頁(yè)返回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)。上一頁(yè)下一頁(yè)返回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ǔ)單元的地址。上一頁(yè)下一頁(yè)返回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):上一頁(yè)下一頁(yè)返回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ǔ)單元地址。上一頁(yè)下一頁(yè)返回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í)行速度較快。上一頁(yè)下一頁(yè)返回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ī)器語(yǔ)言指令,其中的二進(jìn)制代碼稱為指令的機(jī)器碼。機(jī)器語(yǔ)言指令是計(jì)算機(jī)系統(tǒng)中惟一能夠理解和執(zhí)行的指令。正因如此,形象地將二進(jìn)制代碼形式的指令稱為機(jī)器語(yǔ)言指令。上一頁(yè)下一頁(yè)返回1.3微型計(jì)算機(jī)組成原理2.程序程序(Program)就是指令的有機(jī)組合,是完成特定工作所用到的指令(這些指令當(dāng)然是某個(gè)特定計(jì)算機(jī)系統(tǒng)的指令)的總稱。一段程序通常由多條指令組成,程序中所包含的指令數(shù)目及種類由程序功能決定。用機(jī)器語(yǔ)言指令編寫的程序,就稱為機(jī)器語(yǔ)言程序,如:74AAF875A882程序的編制稱為程序設(shè)計(jì)。通常,設(shè)計(jì)人員是采用指令的匯編符(即助記符)形式編程的,這種程序設(shè)計(jì)稱之為匯編語(yǔ)言程序設(shè)計(jì)。上一頁(yè)下一頁(yè)返回1.3微型計(jì)算機(jī)組成原理3.匯編語(yǔ)言及匯編語(yǔ)言程序由于機(jī)器語(yǔ)言指令中的操作碼和操作數(shù)均用二進(jìn)制數(shù)表示、書寫,沒有明顯的特征,一般人很難理解和記憶,使程序編寫工作成了一件非常困難和乏味的事。為此,人們想出了一個(gè)辦法:將每條指令操作碼所要完成的動(dòng)作用特定符號(hào)表示,即用指令功能的英文縮寫替代指令操作碼,形成了指令操作碼的助記符;并將機(jī)器語(yǔ)言指令中的操作數(shù)也用CPU內(nèi)寄存器名、存儲(chǔ)單元地址或I/O端口號(hào)代替,這樣便形成了操作數(shù)助記符,于是就獲得了“匯編語(yǔ)言指令”。例如,將累加器A內(nèi)容清零,記為“CLRA”;用“MOV”作為數(shù)據(jù)傳送指令的助記符,于是將立即數(shù)23H傳送到累加器A中的指令就可以用“MOVA,#23H”(#是立即數(shù)標(biāo)志)表示;將存儲(chǔ)器43H單元中的內(nèi)容傳送到累加器A中,可用“MOVA,43H”表示??梢?,匯編語(yǔ)言指令比機(jī)器語(yǔ)言指令容易理解和記憶。上一頁(yè)下一頁(yè)返回1.3微型計(jì)算機(jī)組成原理

用指令助記符(由操作碼助記符和操作數(shù)助記符組成)表示的指令稱為匯編語(yǔ)言指令,由匯編語(yǔ)言指令構(gòu)成的程序,稱為匯編語(yǔ)言程序(有時(shí)也稱為匯編語(yǔ)言源程序)??梢姡瑓R編語(yǔ)言程序容易理解,可讀性強(qiáng),方便了程序的編寫和維護(hù)。由于匯編語(yǔ)言指令與機(jī)器語(yǔ)言指令一一對(duì)應(yīng),而機(jī)器語(yǔ)言指令中每一指令碼的含義由CPU決定,因此不同計(jì)算機(jī)系統(tǒng)匯編語(yǔ)言指令格式、助記符等不一定相同。例如,在IntelMCS-51系列單片機(jī)系統(tǒng)中,將立即數(shù)55H送累加器A的匯編語(yǔ)言指令記作“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ù)。上一頁(yè)下一頁(yè)返回1.3微型計(jì)算機(jī)組成原理當(dāng)然,計(jì)算機(jī)只能理解和執(zhí)行二進(jìn)制代碼形式的機(jī)器語(yǔ)言指令,不能理解和執(zhí)行匯編語(yǔ)言指令,但可以通過專門軟件或手工查表方式將匯編語(yǔ)言程序中的匯編語(yǔ)言指令逐條翻譯成對(duì)應(yīng)的機(jī)器語(yǔ)言指令。將匯編語(yǔ)言程序轉(zhuǎn)換為機(jī)器語(yǔ)言程序的過程就稱為匯編過程,將完成匯編語(yǔ)言指令轉(zhuǎn)換為機(jī)器語(yǔ)言指令的程序稱為匯編程序??梢妳R編程序的功能就是逐一讀出匯編語(yǔ)言源程序中的匯編語(yǔ)言指令,再通過查表比較方式,將其中的匯編語(yǔ)言指令逐一轉(zhuǎn)換成機(jī)器語(yǔ)言指令。當(dāng)然這一過程也可以由人工查表完成,即所謂的人工匯編。上一頁(yè)下一頁(yè)返回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。上一頁(yè)下一頁(yè)返回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中。上一頁(yè)下一頁(yè)返回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單元。上一頁(yè)下一頁(yè)返回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中。上一頁(yè)下一頁(yè)返回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ǔ)單元。上一頁(yè)返回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ù)字化的核心部件之一。下一頁(yè)返回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)。上一頁(yè)下一頁(yè)返回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ī)也能勝任)。

上一頁(yè)下一頁(yè)返回1.4單片機(jī)及其發(fā)展概況盡管也有16位、32位的單片機(jī)芯片,但這些高檔單片機(jī)芯片主要用于語(yǔ)音、圖像處理系統(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ā)展方向。

上一頁(yè)下一頁(yè)返回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ù)采集卡等。上一頁(yè)下一頁(yè)返回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芯片取代。上一頁(yè)下一頁(yè)返回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ī)芯片所取代。

上一頁(yè)下一頁(yè)返回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)用范圍受到了很大的限制。上一頁(yè)下一頁(yè)返回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系列上一頁(yè)下一頁(yè)返回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)品。

上一頁(yè)下一頁(yè)返回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ī)的主流品種。上一頁(yè)下一頁(yè)返回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ǔ)音、圖像、工業(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)量也較大。上一頁(yè)下一頁(yè)返回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ì)。上一頁(yè)下一頁(yè)返回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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(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)論