單片機(jī)學(xué)習(xí)第一章_第1頁(yè)
單片機(jī)學(xué)習(xí)第一章_第2頁(yè)
單片機(jī)學(xué)習(xí)第一章_第3頁(yè)
單片機(jī)學(xué)習(xí)第一章_第4頁(yè)
單片機(jī)學(xué)習(xí)第一章_第5頁(yè)
已閱讀5頁(yè),還剩89頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、單片機(jī)學(xué)習(xí)第一章第1頁(yè),共94頁(yè),2022年,5月20日,2點(diǎn)45分,星期二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ù)制。因此,用戶(hù)在鍵盤(pán)上輸入的十進(jìn)制數(shù)字和符號(hào)命令,微型計(jì)算機(jī)都必須先把它們轉(zhuǎn)換成二進(jìn)制形式進(jìn)行識(shí)別、運(yùn)算和處理,然后再把運(yùn)算結(jié)果還原成十進(jìn)制數(shù)字和符號(hào)在顯示器上顯示出來(lái)。為了使讀者弄清機(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)制

2、三種。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)又稱(chēng)為數(shù)碼,每個(gè)數(shù)碼在數(shù)中最多可有兩個(gè)值的概念。 下一頁(yè)返回第2頁(yè),共94頁(yè),2022年,5月20日,2點(diǎn)45分,星期二1.1 微型計(jì)算機(jī)數(shù)制及其轉(zhuǎn)換十進(jìn)制是一種科學(xué)的計(jì)數(shù)方法,它所能表示的數(shù)的范圍很大,可以從無(wú)限小到無(wú)限大。十進(jìn)制數(shù)通常具有如下兩個(gè)主要特點(diǎn): (1)它有09十個(gè)不同的數(shù)碼,這是構(gòu)成所有十進(jìn)制數(shù)的基本符號(hào)。 (2)它是逢十進(jìn)位的。十進(jìn)制數(shù)在計(jì)數(shù)過(guò)程中,當(dāng)它的某位計(jì)滿(mǎn)10時(shí)就要向它鄰近高位進(jìn)一。因此,任何一個(gè)十進(jìn)制數(shù)不僅和構(gòu)成它的每個(gè)數(shù)碼本身的值

3、有關(guān),而且還和這些數(shù)碼在數(shù)中的位置有關(guān)。這就是說(shuō),任何一個(gè)十進(jìn)制數(shù)都可以展開(kāi)成冪級(jí)數(shù)形式。 上一頁(yè)下一頁(yè)返回第3頁(yè),共94頁(yè),2022年,5月20日,2點(diǎn)45分,星期二1.1 微型計(jì)算機(jī)數(shù)制及其轉(zhuǎn)換一般地說(shuō),任意一個(gè)十進(jìn)制數(shù)均可表示為:2. 二進(jìn)制(Binary)二進(jìn)制數(shù)的特點(diǎn)是:只有兩個(gè)數(shù)碼,即0和1,逢二進(jìn)一。因此,二進(jìn)制數(shù)同樣也可以展開(kāi)成冪級(jí)數(shù)形式,任何二進(jìn)制數(shù)的通式為: 上一頁(yè)下一頁(yè)返回第4頁(yè),共94頁(yè),2022年,5月20日,2點(diǎn)45分,星期二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ù)與它能表

4、示的狀態(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),分別編碼為 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111上一頁(yè)下一頁(yè)返回第5頁(yè),共94頁(yè),2022年,5月20日,2點(diǎn)45分,星期二1.1 微型計(jì)算機(jī)數(shù)制及其轉(zhuǎn)換8位二進(jìn)制數(shù),共有28(即256)個(gè)狀態(tài),分別編碼為 00000000 00000001 00000010 00000011 00

5、000100 00000101 00000110 00000111 00001000 00001001 00001010 00001011 11111100 11111101 11111110 11111111上一頁(yè)下一頁(yè)返回第6頁(yè),共94頁(yè),2022年,5月20日,2點(diǎn)45分,星期二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ǔ)單元可以

6、存放一個(gè)8位二進(jìn)制數(shù)。一個(gè)8位二進(jìn)制數(shù)稱(chēng)為一個(gè)字節(jié)(Byte),有256種狀態(tài),或者說(shuō)可以表示256個(gè)符號(hào)。因此,存儲(chǔ)器(包括內(nèi)存儲(chǔ)器和外存儲(chǔ)器)容量單位常用字節(jié)(或干字節(jié))表示,如某存儲(chǔ)器的容量為640KB,即該存儲(chǔ)器有6401024個(gè)存儲(chǔ)單元,每個(gè)存儲(chǔ)單元的大小為一個(gè)字節(jié)。上一頁(yè)下一頁(yè)返回第7頁(yè),共94頁(yè),2022年,5月20日,2點(diǎn)45分,星期二1.1 微型計(jì)算機(jī)數(shù)制及其轉(zhuǎn)換10位二進(jìn)制數(shù),共有210(1024,在計(jì)算機(jī)中,“1024”習(xí)慣上稱(chēng)為1K)個(gè)狀態(tài),編碼為00000000001111111111。16位二進(jìn)制數(shù),共有216有些微處理器,如大多數(shù)8位的微處理器,就有16根地址線。

7、由于每根地址線有兩種可能的狀態(tài),所以可以用地址線狀態(tài)的不同編碼尋址不同的存儲(chǔ)單元。因此,16根地址線相當(dāng)于16位二進(jìn)制數(shù),最多可以尋址64K個(gè)存儲(chǔ)單元。而存儲(chǔ)單元的大小一般是一個(gè)字節(jié),所以對(duì)于具有16根地址線的微處理器來(lái)說(shuō),最多可以尋址64KB的存儲(chǔ)空間,或者說(shuō)尋址能力為64KB。 為了不致引起混亂,二進(jìn)制數(shù)用后綴字母作標(biāo)記,如二進(jìn)制數(shù)1110記為lll0B。上一頁(yè)下一頁(yè)返回第8頁(yè),共94頁(yè),2022年,5月20日,2點(diǎn)45分,星期二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

8、表示。1位十六進(jìn)制數(shù)可以表示16種狀態(tài),編碼從OF;2位十六進(jìn)制數(shù)可以表示 162(256)種狀態(tài),編碼從00FF;4位十六進(jìn)制數(shù)可以表示164 (65536,即64K)種狀態(tài),編碼為0000FFFF;而8位十六進(jìn)制數(shù)可以表示168 (4096M)種狀態(tài),編碼為00000000FFFFFFFF。為了不致引起誤解,十六進(jìn)制數(shù)要加后綴字母H,如十六進(jìn)制數(shù)“3F”記為“3FH”;而對(duì)于以字母開(kāi)頭的十六進(jìn)制數(shù),必須帶有前綴0(零),以區(qū)別于一般字符串,如十六進(jìn)制數(shù)FE記為“0FEH”。與十進(jìn)制數(shù)類(lèi)似,對(duì)于n位十六進(jìn)制數(shù),可以表示為上一頁(yè)下一頁(yè)返回第9頁(yè),共94頁(yè),2022年,5月20日,2點(diǎn)45分,星

9、期二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ì)于位十進(jìn)制數(shù),可以表示為: 同理,n位二進(jìn)制數(shù)也可以表示為:可見(jiàn),將二進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)不難,只要按上式展開(kāi)即可求出對(duì)應(yīng)的十進(jìn)制數(shù)。而十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)時(shí),可以按如下規(guī)律進(jìn)行:上一頁(yè)下一頁(yè)返回第10頁(yè),共94頁(yè),2022年,5月20日,2點(diǎn)45分,星期二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ù)的十位,依次類(lèi)推,即可獲得對(duì)應(yīng)二進(jìn)制數(shù)的整數(shù)部分。小數(shù)部分乘以2所得的整數(shù)就是對(duì)應(yīng)二進(jìn)制數(shù)小數(shù)部分的十分位,乘積中的小

10、數(shù)部分再乘以2得到的整數(shù)就是對(duì)應(yīng)二進(jìn)制數(shù)小數(shù)部分的百分位,依次類(lèi)推,即可求出所有的小數(shù)位。例1.1 1375的整數(shù)部分是13,小數(shù)部分是0.75,轉(zhuǎn)換為二進(jìn)制數(shù)的過(guò)程如下所示 。上一頁(yè)下一頁(yè)返回第11頁(yè),共94頁(yè),2022年,5月20日,2點(diǎn)45分,星期二1.1 微型計(jì)算機(jī)數(shù)制及其轉(zhuǎn)換13相當(dāng)于二進(jìn)制數(shù)1101;而0752=15,因此十分位為1;052=10,因此百分位為l,即1375=11011IB。2. 二進(jìn)制數(shù)與十六進(jìn)制數(shù)之間的轉(zhuǎn)換二進(jìn)制和十六進(jìn)制數(shù)間的轉(zhuǎn)換十分方便,這就是為什么要采用十六進(jìn)制形式來(lái)對(duì)二進(jìn)制數(shù)加以表達(dá)的內(nèi)在原因。(1)二進(jìn)制數(shù)轉(zhuǎn)換成十六進(jìn)制數(shù)時(shí),按如下規(guī)則進(jìn)行。對(duì)于二進(jìn)制

11、數(shù)的整數(shù)部分來(lái)說(shuō),從個(gè)位開(kāi)始,每4位作為一組,劃分整數(shù)部分(如果最后一組不足4位,可在前面補(bǔ)13個(gè)零);對(duì)于二進(jìn)制數(shù)的小數(shù)部分來(lái)說(shuō),從十分位開(kāi)始,每4位作為一組,劃分小數(shù)部分(同樣,當(dāng)最后一組不足4位時(shí),可在后面補(bǔ)13個(gè)零)。然后把每組中的4位二進(jìn)制數(shù)用對(duì)應(yīng)的十六進(jìn)制數(shù)表示,即可獲得相應(yīng)的十六進(jìn)制數(shù)。上一頁(yè)下一頁(yè)返回第12頁(yè),共94頁(yè),2022年,5月20日,2點(diǎn)45分,星期二1.1 微型計(jì)算機(jī)數(shù)制及其轉(zhuǎn)換如:111001010110101B =0011 100l 01011010 1000 3 9 5 A 8即111001010110101B=395A8H(2)十六進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)時(shí),按

12、如下規(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ù),如:93FE3A3H=1001 0011 1111 11100011 1010 0011B又如:3ECH=0011 111011OOB =11111011B(刪除整數(shù)部分前面的零和小數(shù)部分后面的零)上一頁(yè)下一頁(yè)返回第13頁(yè),共94頁(yè),2022年,5月20日,2點(diǎn)45分,星期二1.1 微型計(jì)算機(jī)數(shù)制及其轉(zhuǎn)換可見(jiàn)二進(jìn)制數(shù)與十六進(jìn)制數(shù)之間的轉(zhuǎn)換非常方便,只要記住4位二進(jìn)制數(shù)00001111與十六進(jìn)制數(shù)0F之間的對(duì)應(yīng)關(guān)系即可。下面是二進(jìn)制數(shù)0

13、0001111對(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ù)0000 0 0 1000 8 80001 1 1 1001 9 90010 2 2 1010 10 A0011 3 3 1011 11 B0100 4 4 1100 12 C0101 5 5 1101 13 D0110 6 6 1110 14 E0111 7 7 1111 15 F上一頁(yè)下一頁(yè)返回第14頁(yè),共94頁(yè),2022年,5月20日,2點(diǎn)45分,星期二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ī)

14、原理時(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”)。例如: 1001 0110B + 0111 0011B 10000 1001B上一頁(yè)下一頁(yè)返回第15頁(yè),共94頁(yè),2022年,5月20日,2點(diǎn)45分,星期二1.1 微型計(jì)算機(jī)數(shù)制及其轉(zhuǎn)換(2)二進(jìn)制數(shù)的減法二進(jìn)制數(shù)向前借位時(shí),為“10”,例如: 1001 0110B - 0111 0011B 0010 0011B(3)二進(jìn)制數(shù)的乘法二進(jìn)制數(shù)的乘法運(yùn)算規(guī)則為 00=0,01=0,10=0(交換律),1

15、1=1。例如: 1001 0110B 101B 10010110 00000000 + 10010110 1011101110B上一頁(yè)下一頁(yè)返回第16頁(yè),共94頁(yè),2022年,5月20日,2點(diǎn)45分,星期二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

16、,即十六進(jìn)制數(shù)的llH)。例如: 3 4 6 A H + 5 8 9 C H 8 D 0 6 H上一頁(yè)下一頁(yè)返回第17頁(yè),共94頁(yè),2022年,5月20日,2點(diǎn)45分,星期二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è)返回第18頁(yè),共94頁(yè),2022年,5月20日,2點(diǎn)45分,星期二1.1 微型計(jì)算機(jī)數(shù)制及其轉(zhuǎn)換 7 4 6

17、 A H - 5 8 9 C H 1 B C E H在上式中,個(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è)返回第19頁(yè),共94頁(yè),2022年,5月20日,2點(diǎn)45分,星期二1.1 微型計(jì)算機(jī)數(shù)制及其轉(zhuǎn)換 7 4 6 A H 9 C H (進(jìn)位)3

18、 4 7 5 7 4 F 8 (進(jìn)位)2 3 5 + 4 1 7 B A 4 6 F 0 9 8可見(jiàn)十六進(jìn)制數(shù)的乘法與十進(jìn)制數(shù)的乘法運(yùn)算方法類(lèi)似,但必須注意將十六迸制數(shù)乘法運(yùn)算的中間結(jié)果轉(zhuǎn)為十六進(jìn)制數(shù),例如69的結(jié)果為十進(jìn)制數(shù)的54,轉(zhuǎn)化為十六進(jìn)制數(shù)是36H。上一頁(yè)返回第20頁(yè),共94頁(yè),2022年,5月20日,2點(diǎn)45分,星期二1.2 碼制計(jì)算機(jī)內(nèi)部所有的數(shù)據(jù)均采用二進(jìn)制代碼表示,但通過(guò)輸入設(shè)備(如鍵盤(pán))輸入的信息和通過(guò)輸出設(shè)備(如顯示器、打印機(jī))輸出的信息卻是多種多樣的,既有字母、數(shù)字,又有各種控制字符,甚至漢字。為了方便,人們對(duì)計(jì)算機(jī)中常用的符號(hào)進(jìn)行了編碼。當(dāng)通過(guò)輸入設(shè)備向計(jì)算機(jī)輸入某個(gè)

19、字符時(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ù)就稱(chēng)為該字符的編碼。下一頁(yè)返回第21頁(yè),共94頁(yè),2022年,5月20日,2點(diǎn)45分,星期二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ǔ)和處理

20、。英文屬于典型的拼音文字,由字母、數(shù)字、特殊符號(hào)等組合而成,但這些字母、數(shù)字、特殊符號(hào)的數(shù)目畢竟有限,不過(guò)百余個(gè)。我們知道7位二進(jìn)制數(shù)可以表示128種狀態(tài),如果每一種狀態(tài)代表特定的字母或數(shù)字,則7位二進(jìn)制數(shù)可表示128個(gè)字符。上一頁(yè)下一頁(yè)返回第22頁(yè),共94頁(yè),2022年,5月20日,2點(diǎn)45分,星期二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ì)于某些特

21、殊應(yīng)用來(lái)說(shuō),可能不夠,因此就采用8位的ASCII,即擴(kuò)展ASCII碼(共有256個(gè)代碼)。其中前128個(gè)(高位為O)編碼用于表示基本的ASCII碼,基本ASCII碼主要用于表示數(shù)字、英文字母(大、小寫(xiě))、標(biāo)點(diǎn)符號(hào)、控制字符等,后128(高位為1)個(gè)編碼用于表示擴(kuò)展的ASCII碼,擴(kuò)展ASCII用于表示一些特殊的符號(hào),如希臘字母等。上一頁(yè)下一頁(yè)返回第23頁(yè),共94頁(yè),2022年,5月20日,2點(diǎn)45分,星期二1.2 碼制1.2.2 BCD碼(二進(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ù)表

22、示。一位十進(jìn)制數(shù)包含09十個(gè)數(shù)碼,必須用4位二進(jìn)制數(shù)表示,這樣就需要確定09與4位二進(jìn)制數(shù)0000B1111B之間的對(duì)應(yīng)關(guān)系,其中較常用的8421BCD碼規(guī)定了十進(jìn)制數(shù)09與4位二進(jìn)制數(shù)編碼之間的對(duì)應(yīng)關(guān)系如下。上一頁(yè)下一頁(yè)返回第24頁(yè),共94頁(yè),2022年,5月20日,2點(diǎn)45分,星期二1.2 碼制上一頁(yè)下一頁(yè)返回 十進(jìn)制數(shù) 8421BCD碼 十進(jìn)制數(shù) 8421BCD碼 0 0000 5 0101 l 0001 6 0110 2 0010 7 0lll 3 00ll 8 1000 4 0100 9 100l第25頁(yè),共94頁(yè),2022年,5月20日,2點(diǎn)45分,星期二1.2 碼制 1.2.3

23、計(jì)算機(jī)中帶符號(hào)數(shù)的表示方法在計(jì)算機(jī)中,對(duì)于帶符號(hào)數(shù)來(lái)說(shuō),一般用最高位表示數(shù)的正負(fù)。對(duì)于正數(shù),最高位規(guī)定為“0”;對(duì)于負(fù)數(shù),最高位為“1”。例如:56H可以表示為0 1010110(對(duì)于8位二進(jìn)制數(shù)來(lái)說(shuō),b7位表示數(shù)的正負(fù),b6b0表示數(shù)的絕對(duì)值),-56H可以表示為1 1010110。0256H可以表示為0 000 0010 0101 0110(對(duì)于16位二進(jìn)制數(shù)來(lái)說(shuō),b15位表示數(shù)的正負(fù),b14b0表示數(shù)的絕對(duì)值),-0256H可以表示為1 000 0010 0101 0110。1原碼對(duì)于帶符號(hào)數(shù)來(lái)說(shuō),用最高位表示數(shù)的正負(fù),其余各位表示該數(shù)的絕對(duì)值,這種表示方法就稱(chēng)為原碼表示法,如上所述。上

24、一頁(yè)下一頁(yè)返回第26頁(yè),共94頁(yè),2022年,5月20日,2點(diǎn)45分,星期二1.2 碼制2反碼帶符號(hào)數(shù)也可以用反碼表示,反碼與原碼的關(guān)系是:正數(shù)的反碼與原碼相同,如56H反=56H原=0 1010110B。負(fù)數(shù)的反碼等于對(duì)應(yīng)正數(shù)的原碼按位求反。因此,求-56H反碼的過(guò)程如下:對(duì)應(yīng)正數(shù)56H的原碼為0 1010110,按位求反后為1 0101001,即-56H的反碼為10101001?;蛘哒f(shuō),正數(shù)的反碼與原碼相同,而負(fù)數(shù)的反碼是對(duì)應(yīng)負(fù)數(shù)原碼除符號(hào)位外,絕對(duì)值部分按位取反。上一頁(yè)下一頁(yè)返回第27頁(yè),共94頁(yè),2022年,5月20日,2點(diǎn)45分,星期二1.2 碼制3補(bǔ)碼在計(jì)算機(jī)內(nèi),帶符號(hào)數(shù)并不是用原

25、碼或反碼表示,而是用補(bǔ)碼表示,引入原碼、反碼的目的只是為了方便理解補(bǔ)碼概念而已。不用原碼表示的原因是:用原碼表示時(shí),0的原碼并不惟一,0的原碼可以表示為0 0000000(+0),也可以表示為1 0000000(一0),這會(huì)造成混亂;再就是用原碼表示時(shí),減法并不能轉(zhuǎn)化為加法運(yùn)算,反碼也存在類(lèi)似問(wèn)題。在計(jì)算機(jī)中,帶符號(hào)數(shù)用補(bǔ)碼表示后,減法就可以轉(zhuǎn)化為加法運(yùn)算,例如:上一頁(yè)下一頁(yè)返回第28頁(yè),共94頁(yè),2022年,5月20日,2點(diǎn)45分,星期二1.2 碼制56H-23H=56H-23H+100H (100H是8位二進(jìn)制能表示的最大數(shù),加上100H后,對(duì)計(jì)算結(jié)果沒(méi)有影響,原因是8位二進(jìn)制無(wú)法存放10

26、0H中的“1”,即b8位) =56H+100H-23H =56H+0DDH =133H =33H(由于8位二進(jìn)制不能存放b8位,結(jié)果133H中最高位“l(fā)”自然丟失)可見(jiàn)在8位二進(jìn)制中,56H-23H的結(jié)果與56H+0DDH相同,即引入補(bǔ)碼后減法可以用加法來(lái)完成。顯然在8位二進(jìn)制中,23H與0DDH互為補(bǔ)碼。補(bǔ)碼的定義為:正數(shù)的補(bǔ)碼與反碼、原碼相同;負(fù)數(shù)的補(bǔ)碼等于它的反碼加1。因此,求-23H補(bǔ)碼的過(guò)程如下:上一頁(yè)下一頁(yè)返回第29頁(yè),共94頁(yè),2022年,5月20日,2點(diǎn)45分,星期二1.2 碼制對(duì)應(yīng)正數(shù)23H的原碼為0 0100011,按位求反后為1 1011100,即-23H的反碼,反碼加1

27、后為1 1011101,即-23H的補(bǔ)碼為1 1011101(相當(dāng)于無(wú)符號(hào)數(shù)的0DDH)。可見(jiàn),用補(bǔ)碼表示時(shí),最高位為O,表示該數(shù)為正數(shù),數(shù)值部分就是真值。而最高位為1時(shí)是負(fù)數(shù),數(shù)值部分并不是它的真值,必須再求補(bǔ)后,才得到該數(shù)的絕對(duì)值,如上例中的一23H的補(bǔ)碼為1 1011101,按位取反后為00100010,加1后為00100011,即23H。對(duì)于8位二進(jìn)制數(shù)來(lái)說(shuō),補(bǔ)碼表示的范圍是-128+127;對(duì)于16位二進(jìn)制數(shù)來(lái)說(shuō),補(bǔ)碼表示的范圍是-32768+32767。上一頁(yè)返回第30頁(yè),共94頁(yè),2022年,5月20日,2點(diǎn)45分,星期二1.3 微型計(jì)算機(jī)組成原理 迄今為止,所有計(jì)算機(jī)的組成結(jié)構(gòu)

28、都是馮諾依曼型的,即:它是執(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)如圖11所示。下一頁(yè)返回第31頁(yè),共94頁(yè),2022年,5月20日,2點(diǎn)45分,星期二1.3 微型計(jì)算機(jī)組成原理在計(jì)算機(jī)中,往往把運(yùn)算器、控制器做在一個(gè)芯片上,稱(chēng)為中央處理器(Central Processor Unit,簡(jiǎn)稱(chēng)CPU

29、),有時(shí)也稱(chēng)為微處理器(Micro Processor Unit,MPU)。為了進(jìn)一步減小電路板面積,提高系統(tǒng)可靠性,將輸入、輸出接口電路、時(shí)鐘電路,以及存儲(chǔ)器、運(yùn)算器、控制器等部件集成到一個(gè)芯片內(nèi),就成為單片機(jī)(也稱(chēng)為微控制器,即Micro Controller Unit,簡(jiǎn)稱(chēng)MCU)。這就表示一個(gè)芯片就具備了一個(gè)完整的計(jì)算機(jī)系統(tǒng)所必需的基本部件。為了適應(yīng)不同的需求,將不同功能的外圍電路,如定時(shí)器、中斷控制器、AD及DA轉(zhuǎn)換器、串行通信接口電路等集成在一個(gè)芯片內(nèi),形成系列化產(chǎn)品,就構(gòu)成了所謂“嵌入式”單片機(jī)控制芯片。上一頁(yè)下一頁(yè)返回第32頁(yè),共94頁(yè),2022年,5月20日,2點(diǎn)45分,星期

30、二1.3 微型計(jì)算機(jī)組成原理1.3.1 微型計(jì)算機(jī)的基本結(jié)構(gòu)1CPU的內(nèi)部結(jié)構(gòu)圖1-1中的運(yùn)算器和控制器等部件往往做在同一芯片內(nèi),稱(chēng)為中央處理器(CPU)。8位通用微處理器內(nèi)部基本結(jié)構(gòu)可用圖1-2描述,它由算術(shù)邏輯運(yùn)算單元(Arithmetic Logic Unit,簡(jiǎn)稱(chēng)ALU)、累加器A(8位)、寄存器B(8位)、程序狀態(tài)字寄存器PSW(8位)、程序計(jì)數(shù)器PC(有時(shí)也稱(chēng)為指令指針,即IP,16位)、地址寄存器AR(16位)、數(shù)據(jù)寄存器DR(8位)、指令寄存器IR(8位)、指令譯碼器ID、控制器等部件組成。上一頁(yè)下一頁(yè)返回第33頁(yè),共94頁(yè),2022年,5月20日,2點(diǎn)45分,星期二1.3 微

31、型計(jì)算機(jī)組成原理 (1)程序計(jì)數(shù)器PC是CPU內(nèi)部的寄存器,用于記錄將要執(zhí)行的指令代碼所在存儲(chǔ)單元的地址編碼。一般說(shuō)來(lái),PC的長(zhǎng)度與CPU地址線數(shù)目一致,例如8位機(jī)的CPU一般具有16根地址線(A15A0),PC的長(zhǎng)度也是16位。復(fù)位后,PC具有確定值,例如在MCS一51系列單片機(jī)中,復(fù)位后,PC=0000H,即復(fù)位后將從程序存儲(chǔ)器的0000H單元讀取第一條指令碼。由于復(fù)位后,PC的值就是第一條指令代碼存放的單元地址,因此設(shè)計(jì)程序時(shí),必須了解復(fù)位后PC的值是什么,以便確定第一條指令碼從存儲(chǔ)器哪一存儲(chǔ)單元開(kāi)始存放。PC具有自動(dòng)加1的功能,即從存儲(chǔ)器中讀出一個(gè)字節(jié)的指令碼后,PC會(huì)自動(dòng)加1(指向下

32、一存儲(chǔ)單元)。上一頁(yè)下一頁(yè)返回第34頁(yè),共94頁(yè),2022年,5月20日,2點(diǎn)45分,星期二1.3 微型計(jì)算機(jī)組成原理(2)地址寄存器AR(Address Register,16位)用于存放將要尋址的外部存儲(chǔ)器單元的地址信息,指令碼所在存儲(chǔ)單元的地址編碼,由程序計(jì)數(shù)器PC產(chǎn)生;而指令中操作數(shù)所在存儲(chǔ)單元的地址碼,由指令的操作數(shù)給定。地址寄存器AR通過(guò)地址總線AB與外部存儲(chǔ)器相連。(3)指令寄存器IR(Instruction Register)用于存放取指階段讀出的指令代碼的第一字節(jié),即操作碼,使指令譯碼器ID的輸入保持不變。存放在IR中的指令碼經(jīng)指令譯碼器ID譯碼后,輸入控制器,產(chǎn)生相應(yīng)的控制

33、信號(hào),使CPU完成指令規(guī)定的動(dòng)作。上一頁(yè)下一頁(yè)返回第35頁(yè),共94頁(yè),2022年,5月20日,2點(diǎn)45分,星期二1.3 微型計(jì)算機(jī)組成原理(4)數(shù)據(jù)寄存器DR(Data Register)用于存放寫(xiě)入外部存儲(chǔ)器或IO端口的數(shù)據(jù)信息??梢?jiàn),數(shù)據(jù)寄存器DR對(duì)輸出數(shù)據(jù)具有鎖存功能,數(shù)據(jù)寄存器與外部數(shù)據(jù)總線DB直接相連。(5)算術(shù)邏輯運(yùn)算單元ALU主要用于算術(shù)(加減乘除)、邏輯(與、或、非、異或) 運(yùn)算。由于ALU內(nèi)部沒(méi)有寄存器,參加運(yùn)算的操作數(shù)必須放在累加器A中(運(yùn)算結(jié)果也存放在累加器A中),例如執(zhí)行指令:ADD A,B ;AA+B時(shí),累加器A的內(nèi)容通過(guò)輸入口In_1輸入ALU,寄存器B的內(nèi)容通過(guò)內(nèi)

34、部數(shù)據(jù)總線經(jīng)輸入口In_2輸入ALU,A+B的結(jié)果通過(guò)ALU的輸出口Out、內(nèi)部數(shù)據(jù)總線,送回累加器A。(6)程序狀態(tài)字寄存器PSW用于記錄運(yùn)算過(guò)程中的狀態(tài),如是否溢出、進(jìn)位等。上一頁(yè)下一頁(yè)返回第36頁(yè),共94頁(yè),2022年,5月20日,2點(diǎn)45分,星期二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ù)目

35、多,從幾千字節(jié)到數(shù)百兆字節(jié),能存放大量的信息,但存取速率比CPU內(nèi)的寄存器要慢得多。目前,存儲(chǔ)器的存取速率已成為制約計(jì)算機(jī)運(yùn)行速率的關(guān)鍵因素之一。上一頁(yè)下一頁(yè)返回第37頁(yè),共94頁(yè),2022年,5月20日,2點(diǎn)45分,星期二1.3 微型計(jì)算機(jī)組成原理存儲(chǔ)器的種類(lèi)很多,根據(jù)存儲(chǔ)器能否隨機(jī)讀寫(xiě),將存儲(chǔ)器分為兩大類(lèi):只讀存儲(chǔ)器(ReadOnly Memory,簡(jiǎn)稱(chēng)ROM)和隨機(jī)讀寫(xiě)存儲(chǔ)器(Random Access Memory,簡(jiǎn)稱(chēng)RAM)。根據(jù)存儲(chǔ)器存儲(chǔ)單元結(jié)構(gòu)和信息保存方式的不同,又可以將隨機(jī)讀寫(xiě)存儲(chǔ)器分為靜態(tài)RAM(采用雙極型晶體管結(jié)構(gòu),存取速率快,無(wú)需刷新,但構(gòu)成一個(gè)存儲(chǔ)單元所需的晶體管數(shù)

36、目較多,集成度低,價(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ǔ)器中“只讀”的含義是信息寫(xiě)入后,只能讀出,不能隨機(jī)修改,適合存放系統(tǒng)監(jiān)控程序。上一頁(yè)下一頁(yè)返回第38頁(yè),共94頁(yè),2022年,5月20日,2點(diǎn)45分,星期二1.3 微型計(jì)算機(jī)組成原理在單片機(jī)應(yīng)用系統(tǒng)中,所需的存儲(chǔ)器容量不大,外圍電路應(yīng)盡可能簡(jiǎn)單,因此幾乎不使用動(dòng)態(tài)RAM,常使用PROM(可編程的只讀存儲(chǔ)器)、E

37、PROM(紫外光可擦寫(xiě)的只讀存儲(chǔ)器)、OTP ROM(一次性編程的只讀存儲(chǔ)器,內(nèi)部結(jié)構(gòu)、工作原理與EPROM相似,是一種沒(méi)有擦寫(xiě)窗口的EPROM)、EEPROM(也稱(chēng)為E2PROM,是一種電可擦寫(xiě)的只讀存儲(chǔ)器,其結(jié)構(gòu)與EPROM類(lèi)似,但絕緣柵很薄,高速電子可穿越絕緣層,中和浮柵上的正電荷,起到擦除目的,也就是說(shuō)可通過(guò)高電壓擦除)、Flash ROM(電可擦寫(xiě)只讀存儲(chǔ)器,寫(xiě)入速度比EEPROM快,因此也稱(chēng)為閃爍存儲(chǔ)器)等只讀存儲(chǔ)器作為程序存儲(chǔ)器,使用SRAM(靜態(tài)存儲(chǔ)器)作隨機(jī)讀寫(xiě)RAM,使用E2PROM、FRAM(鐵電存儲(chǔ)器,讀寫(xiě)速率快,操作方法與SRAM相似)作非易失的數(shù)據(jù)存儲(chǔ)器。盡管這些存

38、儲(chǔ)器工作原理不同,但內(nèi)部結(jié)構(gòu)基本相同。上一頁(yè)下一頁(yè)返回第39頁(yè),共94頁(yè),2022年,5月20日,2點(diǎn)45分,星期二1.3 微型計(jì)算機(jī)組成原理(1)內(nèi)部結(jié)構(gòu)EPROM、EEPROM、Flash ROM、SRAM、FRAM等存儲(chǔ)器內(nèi)部結(jié)構(gòu)可以用圖1-3描述,由地址譯碼器、存儲(chǔ)單元、讀寫(xiě)控制電路等部分組成。 寄存器或存儲(chǔ)器中的一個(gè)存儲(chǔ)單元,等效于一組觸發(fā)器,每個(gè)觸發(fā)器有兩個(gè)穩(wěn)定狀態(tài),可以記錄一位二進(jìn)制數(shù)。每一存儲(chǔ)單元包含的觸發(fā)器的個(gè)數(shù)稱(chēng)為存儲(chǔ)單元的字長(zhǎng),對(duì)于并行存取的存儲(chǔ)器芯片,存儲(chǔ)單元內(nèi)包含的觸發(fā)器的個(gè)數(shù)與存儲(chǔ)器芯片數(shù)據(jù)線條數(shù)相同。例如,由8個(gè)觸發(fā)器并排在一起構(gòu)成的存儲(chǔ)單元的字長(zhǎng)為8位,它可以存

39、放一個(gè)8位二進(jìn)制數(shù)(一個(gè)字節(jié))。在計(jì)算機(jī)中,為了提高處理速度,一次操作(如數(shù)據(jù)傳送或運(yùn)算)要同時(shí)處理多位二進(jìn)制數(shù)。因此,在并行存取的存儲(chǔ)器芯片中,一個(gè)存儲(chǔ)單元的容量通常為8位。 上一頁(yè)下一頁(yè)返回第40頁(yè),共94頁(yè),2022年,5月20日,2點(diǎn)45分,星期二1.3 微型計(jì)算機(jī)組成原理存儲(chǔ)器芯片內(nèi)存儲(chǔ)單元數(shù)目與存儲(chǔ)器芯片地址線條數(shù)有關(guān)。 存儲(chǔ)單元長(zhǎng)度也可以大于或小于8位,例如PICl6C56單片機(jī)內(nèi)的程序存儲(chǔ)器容量為1K12bit,即共有1024個(gè)存儲(chǔ)單元,每個(gè)存儲(chǔ)單元可以存放12位二進(jìn)制數(shù),即存儲(chǔ)單元的字長(zhǎng)為12位。存儲(chǔ)單元的地址編碼與存儲(chǔ)單元中的內(nèi)容是兩個(gè)不同的概念,存儲(chǔ)單元地址編碼的長(zhǎng)度由存

40、儲(chǔ)器芯片所包含的存儲(chǔ)單元的個(gè)數(shù)決定。 上一頁(yè)下一頁(yè)返回第41頁(yè),共94頁(yè),2022年,5月20日,2點(diǎn)45分,星期二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)容為例來(lái)說(shuō)明CPU讀存儲(chǔ)器中某一存儲(chǔ)單元信息的操作過(guò)程(如圖14所示)。CPU地址寄存器AR給出將要讀取的存儲(chǔ)單元的地址信息,即0000H。存儲(chǔ)單元地址信息通過(guò)地址總線A15A0輸入到存儲(chǔ)器芯片地址線上(CPU地址總線與存儲(chǔ)器地址總線相連)。存儲(chǔ)器芯片內(nèi)的地址譯碼器對(duì)存儲(chǔ)器地址信號(hào)A14A0進(jìn)行譯

41、碼,并選中0000H單元。上一頁(yè)下一頁(yè)返回第42頁(yè),共94頁(yè),2022年,5月20日,2點(diǎn)45分,星期二1.3 微型計(jì)算機(jī)組成原理CPU給出讀控制信號(hào) (接存儲(chǔ)器的 ),將選中的0000H存儲(chǔ)單元內(nèi)容輸出到數(shù)據(jù)總線D7D0(存儲(chǔ)器數(shù)據(jù)總線與CPU數(shù)據(jù)總線相連),結(jié)果0000H單元的內(nèi)容12H就通過(guò)存儲(chǔ)器數(shù)據(jù)總線輸入到CPU內(nèi)部的數(shù)據(jù)寄存器DR中,然后送到CPU內(nèi)部某一特定寄存器或暫存器內(nèi),這樣便完成了存儲(chǔ)器的讀操作過(guò)程。對(duì)于存儲(chǔ)器來(lái)說(shuō),完成讀操作后,被讀出的存儲(chǔ)單元信息將保持不變。(4)存儲(chǔ)器寫(xiě)操作把某一數(shù)據(jù)(如55H)寫(xiě)入存儲(chǔ)器內(nèi)某一存儲(chǔ)單元(如0003H單元)的操作過(guò)程如下:CPU地址寄存

42、器AR給出待寫(xiě)入的存儲(chǔ)單元的地址編碼0003H,通過(guò)地址總線A15A0輸入到存儲(chǔ)器芯片地址線A14A0上。上一頁(yè)下一頁(yè)返回第43頁(yè),共94頁(yè),2022年,5月20日,2點(diǎn)45分,星期二1.3 微型計(jì)算機(jī)組成原理3地址總線、數(shù)據(jù)總線和控制總線一個(gè)電路總是由元器件通過(guò)導(dǎo)線連接而成的。在模擬電路中,器件、部件間一般是串行關(guān)系,彼此之間的連線并不多,關(guān)系也不復(fù)雜。但在以微處理器為核心的計(jì)算機(jī)電路中,器件、部件都要與微處理器相連,需要的連線多,如果仍采用模擬電路的連線方式,在微處理器與各器件間單獨(dú)連線,則連線數(shù)量將多得驚人,為此在計(jì)算機(jī)電路中引入了總線的概念:即每一器件的數(shù)據(jù)線連接在一起,構(gòu)成數(shù)據(jù)總線;

43、地址線連接在一起,構(gòu)成地址總線;然后與CPU的數(shù)據(jù)、地址總線相連。為避免混亂,任何時(shí)候只允許一個(gè)設(shè)備與CPU通信,因此需要控制線進(jìn)行控制。上一頁(yè)下一頁(yè)返回第44頁(yè),共94頁(yè),2022年,5月20日,2點(diǎn)45分,星期二1.3 微型計(jì)算機(jī)組成原理存儲(chǔ)器芯片內(nèi)的地址譯碼器對(duì)存儲(chǔ)器地址信號(hào)A14A0進(jìn)行譯碼,并選中0003H單元。在寫(xiě)操作過(guò)程中,寫(xiě)入的數(shù)據(jù)55H存放在CPU內(nèi)的數(shù)據(jù)寄存器DR中。當(dāng)CPU寫(xiě)控制信號(hào)有效時(shí)(與存儲(chǔ)器寫(xiě)允許信號(hào)相連),DR寄存器中的內(nèi)容55H就通過(guò)數(shù)據(jù)總線D7D0傳輸?shù)酱鎯?chǔ)器中被選中的0003H存儲(chǔ)單元,結(jié)果0003H單元的內(nèi)容即刻變?yōu)?5H,完成了存儲(chǔ)器的寫(xiě)操作過(guò)程。可見(jiàn)

44、,寫(xiě)操作后,被寫(xiě)入的存儲(chǔ)單元原有信息將不復(fù)存在。上一頁(yè)下一頁(yè)返回第45頁(yè),共94頁(yè),2022年,5月20日,2點(diǎn)45分,星期二1.3 微型計(jì)算機(jī)組成原理所有器件的8根數(shù)據(jù)線全部接到8根公用的數(shù)據(jù)線上,即相當(dāng)于各個(gè)器件并聯(lián)起來(lái)。但僅這樣還不行,如果有兩個(gè)器件同時(shí)送出數(shù)據(jù),一個(gè)為0,一個(gè)為1,那么接收方接收到的究竟是什么呢?這種情況是不允許的,所以要通過(guò)控制線進(jìn)行控制,使器件分時(shí)工作,任何時(shí)候只能有一個(gè)器件發(fā)送數(shù)據(jù)(可以有多個(gè)器件同時(shí)接收)。器件的數(shù)據(jù)線也就被稱(chēng)為數(shù)據(jù)總線,器件所有的控制線被稱(chēng)為控制總線。在單片機(jī)內(nèi)部或者外部存儲(chǔ)器及其他器件中有存儲(chǔ)單元,這些存儲(chǔ)單元要被分配地址才能使用。分配地址當(dāng)

45、然也是以電信號(hào)的形式給出的,由于存儲(chǔ)單元比較多,所以用于地址分配的線也較多,這些線被稱(chēng)為地址總線。上一頁(yè)下一頁(yè)返回第46頁(yè),共94頁(yè),2022年,5月20日,2點(diǎn)45分,星期二1.3 微型計(jì)算機(jī)組成原理 在計(jì)算機(jī)系統(tǒng)中,常包含以下幾種總線:(1)地址總線(Address Bus,簡(jiǎn)稱(chēng)AB)。它是單向傳輸,用于傳送地址信息,如圖11中運(yùn)算器與存儲(chǔ)器之間的地址線,地址線的數(shù)目決定了可以尋址的存儲(chǔ)空間。一根地址線有兩種狀態(tài),即可以區(qū)分兩個(gè)不同的存儲(chǔ)單元,或者說(shuō)可以尋址兩個(gè)存儲(chǔ)單元;兩根地址線有四種狀態(tài),可以尋址四個(gè)存儲(chǔ)單元8位微處理器通常有16根地址線,可以尋址216,即64K個(gè)存儲(chǔ)單元。一般存儲(chǔ)單

46、元的大小為一個(gè)字節(jié),因此8位微處理器的尋址范圍為64KB。上一頁(yè)下一頁(yè)返回第47頁(yè),共94頁(yè),2022年,5月20日,2點(diǎn)45分,星期二1.3 微型計(jì)算機(jī)組成原理(2)數(shù)據(jù)總線(Data Bus,簡(jiǎn)稱(chēng)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ù)線的多少被稱(chēng)為微處理器的“字長(zhǎng)”。字長(zhǎng)是衡量微處理器運(yùn)算速度及精度的重要指標(biāo)

47、之一,也是劃分微處理器檔次的重要依據(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è)上常用來(lái)取代繼電器,用于控制線路的通和斷、設(shè)備的開(kāi)和關(guān);4位機(jī)有四根數(shù)據(jù)線,常用于家用電器,如電視機(jī)、空調(diào)機(jī)、洗衣機(jī)等的控制電路中;8位機(jī)功能強(qiáng)大,不僅可用于工業(yè)控制、家用電器,也可作為通用微機(jī)系統(tǒng)的中央處理器。上一頁(yè)下一頁(yè)返回第48頁(yè),共94頁(yè),2022年,5月20日,2點(diǎn)45分,星期二1.3 微型計(jì)算機(jī)組成原理(3)控制總線(Control Bus,簡(jiǎn)稱(chēng)CB)。它是計(jì)算機(jī)系統(tǒng)中所有控制信號(hào)線的總稱(chēng),在控制總線中

48、傳送的信息是控制信息。4IO接口和外設(shè)IO接口是架設(shè)在微處理器和外設(shè)間的橋梁,是一種過(guò)渡的大規(guī)模集成電路芯片。由于大多數(shù)外部設(shè)備都是機(jī)電型的,工作速度較慢,因此微處理器MPU通常不和它們直接相連,而是通過(guò)IO接口緩沖后再和外設(shè)相連,以便實(shí)現(xiàn)速度、電平和信號(hào)性質(zhì)的匹配。上一頁(yè)下一頁(yè)返回第49頁(yè),共94頁(yè),2022年,5月20日,2點(diǎn)45分,星期二1.3 微型計(jì)算機(jī)組成原理1.3.2 微型計(jì)算機(jī)的基本原理微型計(jì)算機(jī)是通過(guò)執(zhí)行程序來(lái)工作的,機(jī)器執(zhí)行不同程序就能完成不同的運(yùn)算任務(wù)。因此,微型計(jì)算機(jī)執(zhí)行程序的過(guò)程實(shí)際上也體現(xiàn)了微型計(jì)算機(jī)的基本工作原理。為此,我們先從指令和程序談起。1微處理器的指令及指令

49、系統(tǒng)將CPU所執(zhí)行的各種操作(如從指定的存儲(chǔ)器單元中取數(shù)據(jù),將CPU內(nèi)特定寄存器的內(nèi)容寫(xiě)入存儲(chǔ)器某一指定的存儲(chǔ)單元中,以及算術(shù)或邏輯運(yùn)算等)用命令的形式記錄下來(lái),就稱(chēng)為指令(Instruction)。一條指令與計(jì)算機(jī)的一種基本操作相對(duì)應(yīng)。當(dāng)然,指令也只能用二進(jìn)制代碼表示,例如在MCS一51系列單片機(jī)中,累加器A中的內(nèi)容除以寄存器B中的內(nèi)容(AB)的操作用84H作為指令代碼。上一頁(yè)下一頁(yè)返回第50頁(yè),共94頁(yè),2022年,5月20日,2點(diǎn)45分,星期二1.3 微型計(jì)算機(jī)組成原理為使計(jì)算機(jī)能夠準(zhǔn)確理解和執(zhí)行指令所規(guī)定的動(dòng)作,不同操作對(duì)應(yīng)的指令要用不同的指令代碼表示;或者說(shuō),不同的指令代碼表示不同的

50、操作。例如,在MCS一5l系列單片機(jī)中,“E4H”表示將累加器Acc清零,“F4H”表示將累加器Acc內(nèi)容按位取反;又如,用“74H xxH”表示將立即數(shù)“xxH”傳送到累加器Acc中(這條指令占用兩個(gè)字節(jié),其中“74H”表示將立即數(shù)傳送到累加器Acc中,是操作碼,而xxH就是要傳送的立即數(shù))。在計(jì)算機(jī)中,所有指令的集合稱(chēng)為指令系統(tǒng)。上一頁(yè)下一頁(yè)返回第51頁(yè),共94頁(yè),2022年,5月20日,2點(diǎn)45分,星期二1.3 微型計(jì)算機(jī)組成原理一條指令通常由操作碼和操作數(shù)兩部分組成:操作碼(Operation code)決定了指令要執(zhí)行的動(dòng)作,一般用一個(gè)字節(jié)表示,除非指令數(shù)目很多,才需要用兩個(gè)字節(jié)表示

51、。用一個(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è)返回第52頁(yè),共94頁(yè),2022年,5月20日,2點(diǎn)45分,星期二1.3 微型計(jì)算機(jī)組成原理不同計(jì)算機(jī)指令系統(tǒng)所包含的指令種類(lèi)、數(shù)目、指令代碼對(duì)應(yīng)的操作由CPU設(shè)計(jì)人員指定。因此,不同種類(lèi)的CPU具有不同的指令系統(tǒng)。一般說(shuō)來(lái),不同系列CPU的指令系統(tǒng)也不一定相同,除非它們彼此兼容。根據(jù)計(jì)算機(jī)指令系統(tǒng)的特征,可以將計(jì)算機(jī)指令系統(tǒng)分為

52、兩大類(lèi),即復(fù)雜指令系統(tǒng)(Complex Instruction Set Computer,簡(jiǎn)稱(chēng)CISC指令結(jié)構(gòu))和精簡(jiǎn)指令系統(tǒng)(Reduced Instruction Set Computer,簡(jiǎn)稱(chēng)RISC指令結(jié)構(gòu))。采用復(fù)雜指令結(jié)構(gòu)的計(jì)算機(jī)系統(tǒng)(如MCS一51系列單片機(jī))具有如下特點(diǎn):上一頁(yè)下一頁(yè)返回第53頁(yè),共94頁(yè),2022年,5月20日,2點(diǎn)45分,星期二1.3 微型計(jì)算機(jī)組成原理 (1)指令機(jī)器碼長(zhǎng)短不一。 (2)可選擇兩條或兩條以上指令完成同一操作,程序設(shè)計(jì)靈活性大,但缺點(diǎn)是指令數(shù)目較多(這類(lèi)CPU一般具有數(shù)十條到數(shù)百條指令)。 由于指令操作碼和操作數(shù)均存放在存儲(chǔ)器中,而每條指令占

53、用的字節(jié)數(shù)長(zhǎng)短不同。因此,指令中的操作碼不僅要指明該指令所要執(zhí)行的操作,還應(yīng)指出指令占用的字節(jié)數(shù)。根據(jù)指令代碼的長(zhǎng)短,可將指令分為:?jiǎn)巫止?jié)指令這類(lèi)指令僅有操作碼,沒(méi)有操作數(shù),或操作數(shù)隱含在操作碼字節(jié)中。雙字節(jié)指令這類(lèi)指令第一字節(jié)為操作碼,第二字節(jié)為操作數(shù)。多字節(jié)指令這類(lèi)指令第一字節(jié)為操作碼,第二、三字節(jié)為操作數(shù)或操作數(shù)所在的存儲(chǔ)單元地址。上一頁(yè)下一頁(yè)返回第54頁(yè),共94頁(yè),2022年,5月20日,2點(diǎn)45分,星期二1.3 微型計(jì)算機(jī)組成原理采用精簡(jiǎn)指令技術(shù)的計(jì)算機(jī)指令系統(tǒng)情況剛好相反。完成同一操作,一般只有一條指令可供選擇,指令數(shù)目相對(duì)較少,尤其是采用了精簡(jiǎn)指令的單片機(jī)CPU,如PIC系列、A

54、tmel的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)度相同,取指、譯碼過(guò)程中不必做更多的判斷,因而指令執(zhí)行速度較快。上一頁(yè)下一頁(yè)返回第55頁(yè),共94頁(yè),2022年,5月20日,2點(diǎn)45分,星期二1.3 微型計(jì)算機(jī)組成原理但無(wú)論采用何種類(lèi)型的指令系統(tǒng),任何CPU的指令系統(tǒng)都會(huì)提供數(shù)據(jù)傳送指令、算術(shù)邏輯運(yùn)算指令、控制轉(zhuǎn)移指令等四種基本類(lèi)型指令。此外,在單片機(jī)系統(tǒng)中,還要提供位操作指令,以簡(jiǎn)化控制系統(tǒng)的程序設(shè)計(jì)。用二進(jìn)制代碼表示的指令稱(chēng)

55、為機(jī)器語(yǔ)言指令,其中的二進(jìn)制代碼稱(chēng)為指令的機(jī)器碼。機(jī)器語(yǔ)言指令是計(jì)算機(jī)系統(tǒng)中惟一能夠理解和執(zhí)行的指令。正因如此,形象地將二進(jìn)制代碼形式的指令稱(chēng)為機(jī)器語(yǔ)言指令。上一頁(yè)下一頁(yè)返回第56頁(yè),共94頁(yè),2022年,5月20日,2點(diǎn)45分,星期二1.3 微型計(jì)算機(jī)組成原理2程序程序(Program)就是指令的有機(jī)組合,是完成特定工作所用到的指令(這些指令當(dāng)然是某個(gè)特定計(jì)算機(jī)系統(tǒng)的指令)的總稱(chēng)。一段程序通常由多條指令組成,程序中所包含的指令數(shù)目及種類(lèi)由程序功能決定。用機(jī)器語(yǔ)言指令編寫(xiě)的程序,就稱(chēng)為機(jī)器語(yǔ)言程序,如:74 AAF875 A8 82程序的編制稱(chēng)為程序設(shè)計(jì)。通常,設(shè)計(jì)人員是采用指令的匯編符(即助

56、記符)形式編程的,這種程序設(shè)計(jì)稱(chēng)之為匯編語(yǔ)言程序設(shè)計(jì)。上一頁(yè)下一頁(yè)返回第57頁(yè),共94頁(yè),2022年,5月20日,2點(diǎn)45分,星期二1.3 微型計(jì)算機(jī)組成原理3匯編語(yǔ)言及匯編語(yǔ)言程序由于機(jī)器語(yǔ)言指令中的操作碼和操作數(shù)均用二進(jìn)制數(shù)表示、書(shū)寫(xiě),沒(méi)有明顯的特征,一般人很難理解和記憶,使程序編寫(xiě)工作成了一件非常困難和乏味的事。為此,人們想出了一個(gè)辦法:將每條指令操作碼所要完成的動(dòng)作用特定符號(hào)表示,即用指令功能的英文縮寫(xiě)替代指令操作碼,形成了指令操作碼的助記符;并將機(jī)器語(yǔ)言指令中的操作數(shù)也用CPU內(nèi)寄存器名、存儲(chǔ)單元地址或IO端口號(hào)代替,這樣便形成了操作數(shù)助記符,于是就獲得了“匯編語(yǔ)言指令”。例如,將累

57、加器A內(nèi)容清零,記為“CLR A”;用“MOV”作為數(shù)據(jù)傳送指令的助記符,于是將立即數(shù)23H傳送到累加器A中的指令就可以用“MOV A,#23H”(#是立即數(shù)標(biāo)志)表示;將存儲(chǔ)器43H單元中的內(nèi)容傳送到累加器A中,可用“MOV A,43H”表示??梢?jiàn),匯編語(yǔ)言指令比機(jī)器語(yǔ)言指令容易理解和記憶。上一頁(yè)下一頁(yè)返回第58頁(yè),共94頁(yè),2022年,5月20日,2點(diǎn)45分,星期二1.3 微型計(jì)算機(jī)組成原理 用指令助記符(由操作碼助記符和操作數(shù)助記符組成)表示的指令稱(chēng)為匯編語(yǔ)言指令,由匯編語(yǔ)言指令構(gòu)成的程序,稱(chēng)為匯編語(yǔ)言程序(有時(shí)也稱(chēng)為匯編語(yǔ)言源程序)。可見(jiàn),匯編語(yǔ)言程序容易理解,可讀性強(qiáng),方便了程序的編

58、寫(xiě)和維護(hù)。由于匯編語(yǔ)言指令與機(jī)器語(yǔ)言指令一一對(duì)應(yīng),而機(jī)器語(yǔ)言指令中每一指令碼的含義由CPU決定,因此不同計(jì)算機(jī)系統(tǒng)匯編語(yǔ)言指令格式、助記符等不一定相同。例如,在IntelMCS-51系列單片機(jī)系統(tǒng)中,將立即數(shù)55H送累加器A的匯編語(yǔ)言指令記作“MOV A,#55H”;但在Motorola M6805系列單片機(jī)中,卻表示為“LDAA $55”;在PIC系列單片機(jī)中,寫(xiě)為“MOVLW 0 x55”,其中:“MOVLW”是“MOV Literal to W”的縮寫(xiě),含義是“操作數(shù)傳送到工作寄存器W中”(在PIC系列單片機(jī)CPU內(nèi),工作寄存器W與Intel MCS一51 CPU內(nèi)累加器A的地位、作用相

59、同);“0 x”表示隨后的數(shù)是十六進(jìn)制數(shù)。上一頁(yè)下一頁(yè)返回第59頁(yè),共94頁(yè),2022年,5月20日,2點(diǎn)45分,星期二1.3 微型計(jì)算機(jī)組成原理當(dāng)然,計(jì)算機(jī)只能理解和執(zhí)行二進(jìn)制代碼形式的機(jī)器語(yǔ)言指令,不能理解和執(zhí)行匯編語(yǔ)言指令,但可以通過(guò)專(zhuān)門(mén)軟件或手工查表方式將匯編語(yǔ)言程序中的匯編語(yǔ)言指令逐條翻譯成對(duì)應(yīng)的機(jī)器語(yǔ)言指令。將匯編語(yǔ)言程序轉(zhuǎn)換為機(jī)器語(yǔ)言程序的過(guò)程就稱(chēng)為匯編過(guò)程,將完成匯編語(yǔ)言指令轉(zhuǎn)換為機(jī)器語(yǔ)言指令的程序稱(chēng)為匯編程序??梢?jiàn)匯編程序的功能就是逐一讀出匯編語(yǔ)言源程序中的匯編語(yǔ)言指令,再通過(guò)查表比較方式,將其中的匯編語(yǔ)言指令逐一轉(zhuǎn)換成機(jī)器語(yǔ)言指令。當(dāng)然這一過(guò)程也可以由人工查表完成,即所謂的

60、人工匯編。上一頁(yè)下一頁(yè)返回第60頁(yè),共94頁(yè),2022年,5月20日,2點(diǎn)45分,星期二1.3 微型計(jì)算機(jī)組成原理4微型計(jì)算機(jī)執(zhí)行程序的過(guò)程為了弄清微型計(jì)算機(jī)的工作原理,現(xiàn)以如下的求和程序來(lái)說(shuō)明微型計(jì)算機(jī)的工作過(guò)程。MOV A,0020H ;將存儲(chǔ)器0020H單元中的內(nèi)容傳送到累加器中,該指令對(duì)應(yīng)的機(jī)器碼為;E5 2000。ADD A,0021H ;將存儲(chǔ)器0021H單元中的內(nèi)容與累加器內(nèi)容相加,和存放在累加器A中,;該指令對(duì)應(yīng)的機(jī)器碼為25 21 00。MOV 002FH,A ;將結(jié)果傳送到存儲(chǔ)器002FH單元中,該指令對(duì)應(yīng)的機(jī)器碼為F5 2F 00。上述求和程序完成的操作是將存儲(chǔ)器0020

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論