版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、單片機(jī)原理及應(yīng)用,第1章 微型計(jì)算機(jī)的基本概念,主講教師: 石海霞,1.1 概述,電子計(jì)算機(jī)發(fā)展概況 1946-1958: 第一代電子管計(jì)算機(jī)。磁鼓存儲(chǔ)器,機(jī)器語(yǔ)言 匯編語(yǔ)言編程。世界上第一臺(tái)數(shù)字計(jì)算機(jī)ENIAC。 1958-1964: 第二代晶體管計(jì)算機(jī)。磁芯作主存儲(chǔ)器, 磁盤 作外存儲(chǔ)器,開始使用高級(jí)語(yǔ)言編程。 1964-1971: 第三代集成電路計(jì)算機(jī)。使用半導(dǎo)體存儲(chǔ)器, 出現(xiàn)多終端計(jì)算機(jī)和計(jì)算機(jī)網(wǎng)絡(luò)。 1971- : 第四代大規(guī)模集成電路計(jì)算機(jī)。出現(xiàn)微型計(jì)算 機(jī)、單片微型計(jì)算機(jī),外部設(shè)備多樣化。 1981- : 第五代人工智能計(jì)算機(jī)。模擬人的智能和交流 方式。,計(jì)算機(jī)發(fā)展趨勢(shì),微型化
2、便攜式、低功耗 巨型化 尖端科技領(lǐng)域的信息處理,需要超大容量、高 速度 智能化 模擬人類大腦思維和交流方式,多種處理能力 系列化、標(biāo)準(zhǔn)化 便于各種計(jì)算機(jī)硬、軟件兼容和升級(jí) 網(wǎng)絡(luò)化 網(wǎng)絡(luò)計(jì)算機(jī)和信息高速公路 多機(jī)系統(tǒng) 大型設(shè)備、生產(chǎn)流水線集中管理(獨(dú)立控制、 故障分散、資源共享),一、 微處理器、微型計(jì)算機(jī)和微型計(jì)算機(jī)系統(tǒng),微處理器 簡(jiǎn)稱P或M P (Microprocessor),是指由一片或幾片大規(guī)模集成電路組成的具有運(yùn)算器和控制器功能的中央處理器部件,又稱為微處理機(jī)。 MPU(微處理器)在嵌入系統(tǒng)中與其他電路及芯片組合稱為CPU,1.1.1 微型計(jì)算機(jī)系統(tǒng)組成,微型計(jì)算機(jī)系統(tǒng) 微型計(jì)算機(jī)系
3、統(tǒng)(Microcomputer System), 簡(jiǎn)稱CS或MCS,是指以微型計(jì)算機(jī)為核心,配以相應(yīng)的外圍設(shè)備、電源和輔助電路(統(tǒng)稱硬件)以及指揮微型計(jì)算機(jī)工作的系統(tǒng)軟件所構(gòu)成的系統(tǒng)。,微型計(jì)算機(jī) 簡(jiǎn)稱C或MC,是指以微處理器為核心,配上存儲(chǔ)器、輸入/輸出接口電路及系統(tǒng)總線所組成的計(jì)算機(jī)(又稱主機(jī)或微電腦)。,二、微型計(jì)算機(jī)系統(tǒng)的組成,微型計(jì)算機(jī)系統(tǒng)的組成 (續(xù)),微機(jī)系統(tǒng)硬件的組成及結(jié)構(gòu),硬件系統(tǒng)構(gòu)成微機(jī)的實(shí)體和裝置,軟件系統(tǒng)微機(jī)系統(tǒng)所使用的各種程序的總稱,軟件系統(tǒng)與硬件系統(tǒng)共同構(gòu)成實(shí)用的微機(jī)系統(tǒng),兩者是相輔相成、缺一不可的。,(一)、微型計(jì)算機(jī)的硬件系統(tǒng)結(jié)構(gòu) 微型計(jì)算機(jī)由微處理器()、存儲(chǔ)
4、器、 輸入輸出接口(/接口)三部分主成,各部分用總線相連。,總線結(jié)構(gòu),系統(tǒng)中各部件 “掛”在總線上,1. 中央處理器CPU CPU(Central Processing Unit)是計(jì)算機(jī)的核心部件, 它由運(yùn)算器和控制器組成, 完成計(jì)算機(jī)的運(yùn)算和控制功能。 運(yùn)算器又稱算術(shù)邏輯部件(ALU, Aithmctieal Logic Unit), 主要完成對(duì)數(shù)據(jù)的算術(shù)運(yùn)算和邏輯運(yùn)算。 控制器(Controller)是整個(gè)計(jì)算機(jī)的指揮中心, 它負(fù)責(zé)從內(nèi)部存儲(chǔ)器中取出指令并對(duì)指令進(jìn)行分析、判斷, 并根據(jù)指令發(fā)出控制信號(hào), 使計(jì)算機(jī)的有關(guān)部件及設(shè)備有條不紊地協(xié)調(diào)工作, 保證計(jì)算機(jī)能自動(dòng)、連續(xù)地運(yùn)行。,CPU
5、中還包括若干寄存器(Register), 它們的作用是存放運(yùn)算過程中的各種數(shù)據(jù)、地址或其它信息。寄存器種類很多, 主要有: 通用寄存器: 向 ALU提供運(yùn)算數(shù)據(jù), 或保留運(yùn)算中間或最終的結(jié)果。 累加器A: 這是一個(gè)使用相對(duì)頻繁的特殊的通用寄存器, 有重復(fù)累加數(shù)據(jù)的功能。 程序計(jì)數(shù)器PC: 存放將要執(zhí)行的指令地址。 指令存儲(chǔ)器IR: 存放根據(jù)PC 的內(nèi)容從存儲(chǔ)器中取出的指令。 在微型計(jì)算機(jī)中, CPU一般集成在一塊被稱為微處理器(MPU, Micro Processing Unit)的芯片上。,2. 存儲(chǔ)器M 存儲(chǔ)器(Memory)是具有記憶功能的部件, 用來存儲(chǔ)數(shù)據(jù)和程序。存儲(chǔ)器根據(jù)其位置不同
6、可分為兩類: 內(nèi)存儲(chǔ)器和外存儲(chǔ)器。內(nèi)存儲(chǔ)器(簡(jiǎn)稱內(nèi)存)和CPU直接相連, 存放當(dāng)前要運(yùn)行的程序和數(shù)據(jù), 故也稱主存儲(chǔ)器(簡(jiǎn)稱主存)。它的特點(diǎn)是存取速度快, 基本上可與CPU處理速度相匹配, 但價(jià)格較貴, 能存儲(chǔ)的信息量較小。外存儲(chǔ)器(簡(jiǎn)稱外存)又稱輔助存儲(chǔ)器, 主要用于保存暫時(shí)不用但又需長(zhǎng)期保留的程序和數(shù)據(jù)。 存放在外存的程序必須調(diào)入內(nèi)存才能進(jìn)行。外存的存取速度相對(duì)較慢, 但價(jià)格較便宜, 可保存的信息量大。,3. 輸入/輸出接口(I/O接口) 輸入/輸出(I/O)接口由大規(guī)模集成電路組成的I/O器件構(gòu)成, 用來連接主機(jī)和相應(yīng)的I/O設(shè)備(如: 鍵盤、 鼠標(biāo)、顯示器、 打印機(jī)等), 使得這些設(shè)備
7、和主機(jī)之間傳送的數(shù)據(jù)、信息在形式上和速度上都能匹配。不同的I/O設(shè)備必須配置與其相適應(yīng)的I/O接口。,接口是主機(jī)與外設(shè)連接的必然通路,是必經(jīng)的“橋梁”。每個(gè)接口可包含若干個(gè)端口,每個(gè)端口對(duì)應(yīng)一個(gè)端口地址,可由指令按地址訪問端口,接口功能:,4. 總線 總線(BUS)是計(jì)算機(jī)各部件之間傳送信息的公共通道。微機(jī)中有內(nèi)部總線和外部總線兩類。內(nèi)部總線是CPU內(nèi)部之間的連線。外部總線是指CPU與其它部件之間的連線。 外部總線有三種: 數(shù)據(jù)總線DB(Data Bus), 地址總線 AB(Address Bus)和控制總線 CB(Control Bus)。,控制總線CB:傳送各種控制信號(hào)和狀態(tài)信號(hào) 對(duì)于每一
8、根來說是單向傳送的, 地址總線AB: CPU執(zhí)行指令時(shí),用于單向傳送地址信息,AB的寬度決定了微機(jī)系統(tǒng)的最大尋址能力,最大尋址空間=2N ,其中N為AB的寬度,51單片機(jī) N=16 最大尋址空間 = 216 = 65536 B = 64 KB,8086/8088CPU N=20 最大尋址空間 220=1MB,例:,(二)、計(jì)算機(jī)的軟件系統(tǒng) 硬件只是使計(jì)算機(jī)具備了計(jì)算的可能,但是計(jì)算機(jī)脫離人的干預(yù)自動(dòng)進(jìn)行計(jì)算,還需要有軟件的配合。,軟件系統(tǒng)是指計(jì)算機(jī)所使用的各種程序的集合。,程序是指指令的有序集合,是人們?yōu)槭褂?jì)算機(jī)完成某一特定任務(wù)而編排的一系列指令,指令是規(guī)定計(jì)算機(jī)完成某種操作的命令,它用二進(jìn)制
9、碼表示,存于存儲(chǔ)器中。,各種語(yǔ)言的匯編或解釋、編譯程序,機(jī)器的監(jiān)控管理程序、 操作系統(tǒng)、調(diào)試程序、故障診斷程序,程序庫(kù),系統(tǒng)軟件,1.系統(tǒng)軟件,計(jì)算機(jī)系統(tǒng)硬件、軟件與用戶之間的關(guān)系如右圖所示,軟件可看做是用戶與計(jì)算機(jī)硬件系統(tǒng)的接口。軟件之間又是逐層依賴的。,總之,硬件建立了計(jì)算機(jī)的物質(zhì)基礎(chǔ),而各種軟件則擴(kuò)大了計(jì)算機(jī)的功能。硬件和軟件只有結(jié)合起來,才能完成各種功能,才是一個(gè)完整的計(jì)算機(jī)系統(tǒng)。左圖給出了微處理器、微型計(jì)算機(jī)和微型計(jì)算機(jī)系統(tǒng)的結(jié)構(gòu)關(guān)系。,用戶用各種語(yǔ)言編制的解決各種問題的軟件統(tǒng)稱為應(yīng)用軟件,財(cái)務(wù)管理軟件,銀行管理軟件等,文字處理軟件,2.應(yīng)用軟件,計(jì)算機(jī)系統(tǒng)的功能模型,微處理器、微型
10、計(jì)算機(jī)和微型計(jì)算機(jī)系統(tǒng),計(jì)算機(jī)的軟件系統(tǒng),1.1.2 計(jì)算機(jī)中的數(shù)制及相互轉(zhuǎn)換,一、 進(jìn)位計(jì)數(shù)制 按進(jìn)位原則進(jìn)行計(jì)數(shù)的方法, 稱為進(jìn)位計(jì)數(shù)制。十進(jìn)制數(shù)有兩個(gè)主要特點(diǎn): (1) 有 10 個(gè)不同的數(shù)字符號(hào): 0、 1、 2、 、 9; (2) 低位向高位進(jìn)位的規(guī)律是“逢十進(jìn)一”。 因此, 同一個(gè)數(shù)字符號(hào)在不同的數(shù)位所代表的數(shù)值是不同的。如555.5中 4 個(gè) 5分別代表500、 50、 5 和 0.5, 這個(gè)數(shù)可以寫成555.5=5102+5101+5100+510-1 式中的10稱為十進(jìn)制的基數(shù), 10、101、100、10-1稱為各數(shù)位的權(quán)。,任意一個(gè)十進(jìn)制數(shù)N都可以表示成按權(quán)展開的多項(xiàng)式:
11、,其中, di是09共10個(gè)數(shù)字中的任意一個(gè), m是小數(shù)點(diǎn)右邊的位數(shù), n是小數(shù)點(diǎn)左邊的位數(shù), i是數(shù)位的序數(shù)。例如, 543.21可表示為 543.21=5102+4101+3100+210-1+110-2,一般而言, 對(duì)于用 R 進(jìn)制表示的數(shù) N , 可以按權(quán)展開為,式中, ai 是 0、1、 、 (R-1)中的任一個(gè), m、 n是正整數(shù), R是基數(shù)。在 R 進(jìn)制中, 每個(gè)數(shù)字所表示的值是該數(shù)字與它相應(yīng)的權(quán)Ri的乘積, 計(jì)數(shù)原則是“逢 R進(jìn)一”。,1. 二進(jìn)制數(shù) 當(dāng) R=2 時(shí), 稱為二進(jìn)位計(jì)數(shù)制, 簡(jiǎn)稱二進(jìn)制。在二進(jìn)制數(shù)中, 只有兩個(gè)不同數(shù)碼: 0和1, 進(jìn)位規(guī)律為“逢二進(jìn)一”。任何一個(gè)
12、數(shù) N, 可用二進(jìn)制表示為,例如, 二進(jìn)制數(shù) 1011.01 可表示為 (1011.01)2=123+022+121+120+02-1+12-2,2. 八進(jìn)制數(shù) 當(dāng)R=8 時(shí), 稱為八進(jìn)制。在八進(jìn)制中, 有 0、1、2、7 共 8 個(gè)不同的數(shù)碼, 采用“逢八進(jìn)一”的原則進(jìn)行計(jì)數(shù)。如(503)8可表示為 (503)8=582+081+380,3. 十六進(jìn)制 當(dāng)R=16時(shí), 稱為十六進(jìn)制。在十六進(jìn)制中, 有 0、1、2、 9、 A、B、C、D、E、F共 16個(gè)不同的數(shù)碼, 進(jìn)位方法是“逢十六進(jìn)一”。 例如, (3A8.0D)16可表示為 (3A8.0D)16=3162+10161+8160+016
13、-1+ 1316-2,表1.1 各種進(jìn)位制的對(duì)應(yīng)關(guān)系,二、 不同進(jìn)制間的相互轉(zhuǎn)換,1. 二、 八、 十六進(jìn)制轉(zhuǎn)換成十進(jìn)制,例 1 將數(shù)(10.101)2, (46.12)8, (2D.A4)16轉(zhuǎn)換為十進(jìn)制。 (10.101)2=121+020+12-1+02-2+12-3=2.625 (46.12)8=481+680+18-1+28-2=38.156 25 (2D.A4)16=2161+13160+1016-1+416-2=45.640 62,2. 十進(jìn)制數(shù)轉(zhuǎn)換成二、八、十六進(jìn)制數(shù) 任意十進(jìn)制數(shù) N 轉(zhuǎn)換成 R 進(jìn)制數(shù), 需將整數(shù)部分和小數(shù)部分分開, 采用不同方法分別進(jìn)行轉(zhuǎn)換, 然后用小數(shù)點(diǎn)
14、將這兩部分連接起來。 (1) 整數(shù)部分: 除基取余法。 分別用基數(shù) R 不斷地去除 N 的整數(shù), 直到商為零為止, 每次所得的余數(shù)依次排列即為相應(yīng)進(jìn)制的數(shù)碼。最初得到的為最低有效數(shù)字, 最后得到的為最高有效數(shù)字。,例 2 將(168)10轉(zhuǎn)換成二、 八、 十六進(jìn)制數(shù)。,(2) 小數(shù)部分: 乘基取整法。 分別用基數(shù) R(R=2、8或16)不斷地去乘N 的小數(shù), 直到積的小數(shù)部分為零(或直到所要求的位數(shù))為止, 每次乘得的整數(shù)依次排列即為相應(yīng)進(jìn)制的數(shù)碼。 最初得到的為最高有效數(shù)字, 最后得到的為最低有效數(shù)字。,故: (0.645)10=(0.10100)2=(0.51217)8=(0.A51EB)
15、16,例 4 將(168.645)10轉(zhuǎn)換成二、 八、 十六進(jìn)制數(shù)。 根據(jù)例2、例 3 可得 (168.645)10= (10101000.10100)2= (250.51217) 8 =(A8.A51EB)16,3. 二進(jìn)制與八進(jìn)制之間的相互轉(zhuǎn)換 由于23= 8, 故可采用“合三為一”的原則, 即從小數(shù)點(diǎn)開始分別向左、右兩邊各以3位為一組進(jìn)行二八換算: 若不足 3 位的以 0 補(bǔ)足, 便可將二進(jìn)制數(shù)轉(zhuǎn)換為八進(jìn)制數(shù)。反之, 采用“一分為三”的原則, 每位八進(jìn)制數(shù)用三位二進(jìn)制數(shù)表示, 就可將八進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)。 例 5 將(101011.01101)2轉(zhuǎn)換為八進(jìn)制數(shù)。,即 (101011.0
16、1101)2= (53.32)8,例 6 將(123.45)8轉(zhuǎn)換成二進(jìn)制數(shù)。,即 (123.45)8=(1010011.100101),例 7 將(110101.011)2轉(zhuǎn)換為十六進(jìn)制數(shù)。,0011 0101 . 0110,3 5 . 6,即 (110101.011) 2=(35.6)16,例 8 將(4A5B.6C)16轉(zhuǎn)換為二進(jìn)制數(shù)。,即 (4A5B.6C)16=(100101001011011.011011)2,1.1.3 二進(jìn)制數(shù)的運(yùn)算,一、 二進(jìn)制數(shù)的算術(shù)運(yùn)算 二進(jìn)制數(shù)只有 0和1兩個(gè)數(shù)字,其算術(shù)運(yùn)算較為簡(jiǎn)單,加、 減法遵循“逢二進(jìn)一”、“借一當(dāng)二”的原則。,1. 加法運(yùn)算 規(guī)則
17、: 0+0=0; 0+1=1; 1+0=1; 1+1=10(有進(jìn)位),例 1 求1001B+1011B。,2. 減法運(yùn)算 規(guī)則: 0-0=0; 1-1=0; 1-0=1; 0-1=1(有借位),例 2 求1100B-111B。,3. 乘法運(yùn)算 規(guī)則: 00=0; 01=10=0; 11=1 例 3 求1011B1101B。,4. 除法運(yùn)算 規(guī)則: 0/1=0; 1/1=1 例 4 求10100101B/1111B,二、 二進(jìn)制數(shù)的邏輯運(yùn)算,1. “與”運(yùn)算 “與”運(yùn)算是實(shí)現(xiàn)“必須都有, 否則就沒有”這種邏輯關(guān)系的一種運(yùn)算。 運(yùn)算符為“ ”, 其運(yùn)算規(guī)則如下: 00=0, 01=10=0, 11
18、=1 例 5 若X=1011B, Y=1001B, 求XY。,.,即 XY=1001B,2. “或”運(yùn)算 “或”運(yùn)算是實(shí)現(xiàn)“只要其中之一有, 就有”這種邏輯關(guān)系的一種運(yùn)算, 其運(yùn)算符為“+”。 “或”運(yùn)算規(guī)則如下: 0+0=0, 0+1=1+0=1, 1+1=1 例 6 若X=10101B, Y=01101B, 求X+Y。,10101 01101 11101,+,即 X+Y=11101B,3. “非”運(yùn)算 “非”運(yùn)算是實(shí)現(xiàn)“求反”這種邏輯的一種運(yùn)算,如變量A的“非”運(yùn)算記作 。 其運(yùn)算規(guī)則如下:,例 7 若A=10101B, 求 。,4. “異或”運(yùn)算 “異或”運(yùn)算是實(shí)現(xiàn)“必須不同, 否則就沒
19、有”這種邏輯的一種運(yùn)算, 運(yùn)算符為“”。其運(yùn)算規(guī)則是:,例 8 若X=1010B, Y=0110B, 求XY。,1010 0110 1100,即 XY=1100B,1.1.4 帶符號(hào)數(shù)的表示,一、 機(jī)器數(shù)及真值 計(jì)算機(jī)在數(shù)的運(yùn)算中, 不可避免地會(huì)遇到正數(shù)和負(fù)數(shù), 那么正負(fù)符號(hào)如何表示呢?由于計(jì)算機(jī)只能識(shí)別0和1, 因此, 我們將一個(gè)二進(jìn)制數(shù)的最高位用作符號(hào)位來表示這個(gè)數(shù)的正負(fù)。 規(guī)定符號(hào)位用“0”表示正, 用“1”表示負(fù)。例如, X=-1101010B, Y=+1101010B, 則X表示為: 11101010B, Y表示為01101010B。,二、 數(shù)的碼制,1. 原碼 當(dāng)正數(shù)的符號(hào)位用0表
20、示, 負(fù)數(shù)的符號(hào)位用1表示, 數(shù)值部分用真值的絕對(duì)值來表示的二進(jìn)制機(jī)器數(shù)稱為原碼, 用X原表示, 設(shè)X為整數(shù)。 若X=+Xn-2Xn-3X1X0, 則X原=0Xn-2Xn-3X1X0=X; 若X=-Xn-2Xn-3X1X0,則X原=1Xn-2Xn-3X1X0=2n-1-X。 其中, X為n-1位二進(jìn)制數(shù), Xn-2、Xn-3、 、X1、X0為二進(jìn)制數(shù)0或1。例如+115和-115在計(jì)算機(jī)中(設(shè)機(jī)器數(shù)的位數(shù)是8)其原碼可分別表示為 +115原= 01110011B; -115原= 11110011B,可見, 真值X與原碼X原的關(guān)系為,值得注意的是, 由于+0原=00000000B, 而-0原=1
21、0000000B, 所以數(shù) 0的原碼不唯一。 8位二進(jìn)制原碼能表示的范圍是: -127+127。,2. 反碼 一個(gè)正數(shù)的反碼, 等于該數(shù)的原碼; 一個(gè)負(fù)數(shù)的反碼, 由它的正數(shù)的原碼按位取反形成。反碼用X反表示。 若X=-Xn-2Xn-3X1X0, 則X反=1Xn-2Xn-3X1X0。例如: X=+103, 則X反=X原=01100111B; X=-103, X原=11100111B, 則X反=10011000B。,3. 補(bǔ)碼 “模”是指一個(gè)計(jì)量系統(tǒng)的計(jì)數(shù)量程。如, 時(shí)鐘的模為12。任何有模的計(jì)量器, 均可化減法為加法運(yùn)算。仍以時(shí)鐘為例, 設(shè)當(dāng)前時(shí)鐘指向11點(diǎn), 而準(zhǔn)確時(shí)間為7點(diǎn), 調(diào)整時(shí)間的方
22、法有兩種, 一種是時(shí)鐘倒撥4小時(shí), 即11-4=7; 另一種是時(shí)鐘正撥8小時(shí), 即11+8=12+7=7。 由此可見, 在以12為模的系統(tǒng)中, 加8和減4的效果是一樣的, 即 -4=+8(mod 12) 對(duì)于n位計(jì)算機(jī)來說, 數(shù)X的補(bǔ)碼定義為,補(bǔ)碼,在鐘表上,指針正撥12小時(shí)或倒撥12小時(shí),其時(shí)間值是相等的,即在鐘表上X+12=X-12(mod 12)。,模的概念,補(bǔ)碼的引入,對(duì)于n位二進(jìn)制數(shù),其計(jì)數(shù)范圍為0( 2n-1),在該計(jì)數(shù)器上加2n或減2n結(jié)果是不變的,我們稱2n為n位計(jì)數(shù)系統(tǒng)的模。對(duì)鐘表來說,它的模為12。,在鐘表上,如果現(xiàn)在時(shí)間是6點(diǎn)整,而鐘表卻指著8點(diǎn)整,快了2小時(shí),校準(zhǔn)的方法
23、是正撥10小時(shí)或倒撥2小時(shí),結(jié)果都正確,即:8+10=6(mod 12)順撥 ,8-2=6(mod 12) 倒撥。,補(bǔ)碼表示范圍: 8位二進(jìn)制補(bǔ)碼所表示數(shù)據(jù)范圍:-128+127; 16位二進(jìn)制補(bǔ)碼所表示數(shù)據(jù)范圍:-32768+32767。 注意:規(guī)定-128補(bǔ)= 10000000B; -32768補(bǔ)= 1000000000000000B。,+3補(bǔ)=+3原=+3反=00000011 -3補(bǔ)=-3反+1=11111100+1=11111101 +0補(bǔ)=+0原=+0反=00000000 -0補(bǔ)=-0反+1=11111111+1=00000000,補(bǔ)碼的求法,對(duì)n為二進(jìn)制數(shù),模為2n ,則X補(bǔ)=(
24、2in +X), MOD 2n ,i為正整數(shù)。,補(bǔ)碼的定義,若X+0 則X補(bǔ)=X , 若X -0 則X補(bǔ)= 2n +X,其中n為補(bǔ)碼的位數(shù)。如果X0,則X補(bǔ)=( 2in +X)MOD 2n=X,即正數(shù)的補(bǔ)碼為原正數(shù)不變。如果X0,則X補(bǔ)(2n +X) MOD 2n = 2n -1+X+1=X反+1,即負(fù)數(shù)的補(bǔ)碼等于負(fù)數(shù)的反碼加1,也就是等于負(fù)數(shù)原碼除符號(hào)位外求反加1。,求法與應(yīng)用,+0補(bǔ)=-0補(bǔ)=00000000,即0的補(bǔ)碼為0,且只有一種表示方法。,注意,補(bǔ)碼,+0補(bǔ)=-0補(bǔ)=00000000。 8位二進(jìn)制補(bǔ)碼真值范圍為-128+127,16位補(bǔ)碼真值范圍為-32768 +32767。 一個(gè)
25、用補(bǔ)碼表示的二進(jìn)制數(shù),最高位為符號(hào)位,當(dāng)符號(hào)位為“0”即正數(shù)時(shí),其余位即為此數(shù)的二進(jìn)制值;但當(dāng)符號(hào)位為“1”即負(fù)數(shù)時(shí),其余位不是此數(shù)的二進(jìn)制值,其值為后面各位按位取反,在最低位加1。,當(dāng)采用補(bǔ)碼表示時(shí),可以把減法運(yùn)算轉(zhuǎn)換為加法運(yùn)算,即XY補(bǔ)=X補(bǔ)+Y補(bǔ)。,8位帶符號(hào)的補(bǔ)碼特點(diǎn),補(bǔ)碼,即正數(shù)的補(bǔ)碼就是它本身, 負(fù)數(shù)的補(bǔ)碼是真值與模數(shù)相加而得。 例如, n=8時(shí), +75補(bǔ)=01001001B -73補(bǔ)=10000000 B- 01001001B=10110111B 0補(bǔ)=+0補(bǔ)=-0補(bǔ)=00000000B 可見, 數(shù)0的補(bǔ)碼表示是唯一的。在用補(bǔ)碼定義求負(fù)數(shù)補(bǔ)碼的過程中, 由于做減法不方便, 一般
26、該法不用。負(fù)數(shù)補(bǔ)碼的求法: 用原碼求反碼, 再在數(shù)值末位加1, 即: X補(bǔ)=X反+1。 例如: -30補(bǔ)=-30反+1 =+30原+1=11100001+1=11100010B。 8位二進(jìn)制補(bǔ)碼能表示的范圍為: -128 +127, 若超過此范圍, 則為溢出。,數(shù)的表示方法,表1.2,原碼、反碼、補(bǔ)碼間的相互轉(zhuǎn)換(總結(jié)) (1)對(duì)于正數(shù)X,X原=X反=X補(bǔ); (2)對(duì)于負(fù)數(shù)X,三種編碼則不同。 (3)已知負(fù)數(shù)的原碼轉(zhuǎn)換為反碼和補(bǔ)碼 轉(zhuǎn)換為反碼:符號(hào)位不變,數(shù)值位取反; 轉(zhuǎn)換為補(bǔ)碼:符號(hào)位不變,數(shù)值位取反加1。 (4)已知負(fù)數(shù)的反碼轉(zhuǎn)換為原碼和補(bǔ)碼 轉(zhuǎn)換為原碼:符號(hào)位不變,數(shù)值位取反; 轉(zhuǎn)換為補(bǔ)
27、碼:反碼加1。 (5)已知負(fù)數(shù)的補(bǔ)碼轉(zhuǎn)換為原碼和反碼 轉(zhuǎn)換為原碼:符號(hào)位不變,數(shù)值位取反加1; 轉(zhuǎn)換為反碼:補(bǔ)碼減1。 注意:當(dāng)補(bǔ)碼表示的整數(shù)為-128(或-32768)時(shí),不能用8(或16)位的原碼和反碼表示。,4.補(bǔ)碼的運(yùn)算 (1)加法運(yùn)算 補(bǔ)碼的加法運(yùn)算有如下的公式: X補(bǔ) Y補(bǔ)=XY補(bǔ) (a)兩個(gè)正數(shù)相加: 4 5 0 0 1 0 1 1 0 1(45的補(bǔ)碼) + 2 2 + 0 0 0 1 0 1 1 0(22的補(bǔ)碼) 6 7 0 1 0 0 0 0 1 1(67的補(bǔ)碼),_,_,(b)正數(shù)加負(fù)數(shù)(負(fù)數(shù)絕對(duì)值?。?45 00101101(45的補(bǔ)碼) +(-22) +11101010
28、(-22的補(bǔ)碼) 23 00010111(23的補(bǔ)碼),22的絕對(duì)值:0010110,取反加1:1101010 補(bǔ)碼:11101010,_,_,(c)負(fù)數(shù)加正數(shù)(負(fù)數(shù)絕對(duì)值大): (-45) 11010011(-45的補(bǔ)碼) + 22 + 00010110(22的補(bǔ)碼) -23 11101001(-23的補(bǔ)碼),_,_,(d)兩個(gè)負(fù)數(shù)相加: (-45) 11010011(-45的補(bǔ)碼) +(-22) + 11101010(-22的補(bǔ)碼) (-67) 10111101(-67的補(bǔ)碼),結(jié)論: 用補(bǔ)碼表示的數(shù)據(jù)進(jìn)行加法運(yùn)算時(shí)可以不考慮符號(hào)位,直接運(yùn)算,即與不帶符號(hào)的數(shù)據(jù)的運(yùn)算完全相同。,_,_,(
29、2). 補(bǔ)碼的減法運(yùn)算,補(bǔ)碼的減法運(yùn)算有如下的公式: X補(bǔ) Y補(bǔ)=XY補(bǔ) 例:56 - 34 = ? 00111000 (56的補(bǔ)碼) 00100010 (34的補(bǔ)碼) 00010110 (22的補(bǔ)碼),_,補(bǔ)碼的減法運(yùn)算有如下的公式: X補(bǔ) Y補(bǔ)= X補(bǔ)Y補(bǔ) Y補(bǔ) Y補(bǔ) 例:5634,取補(bǔ),00100010,11011110,例:5634 00111000 (56的補(bǔ)碼) 11011110 (34的補(bǔ)碼) 00010110 (22的補(bǔ)碼) 5634=56+(34)=22,_,問題:微機(jī)中數(shù)的加減運(yùn)算為什么采用補(bǔ)碼?,原碼:易于識(shí)別,但運(yùn)算復(fù)雜,符號(hào)位往往需要單獨(dú)處理 補(bǔ)碼:運(yùn)算方便,簡(jiǎn)化設(shè)計(jì)
30、電路;在加減運(yùn)算中,兩個(gè)帶符號(hào)數(shù)的補(bǔ)碼,經(jīng)加或減運(yùn)算后即得到和或差的補(bǔ)碼,符號(hào)位無需單獨(dú)處理,1.1.5 定點(diǎn)數(shù)和浮點(diǎn)數(shù),一、 定點(diǎn)法 定點(diǎn)法中約定所有數(shù)據(jù)的小數(shù)點(diǎn)隱含在某個(gè)固定位置。 對(duì)于純小數(shù), 小數(shù)點(diǎn)固定在數(shù)符與數(shù)值之間; 對(duì)于整數(shù), 則把小數(shù)點(diǎn)固定在數(shù)值部分的最后面, 其格式為,純小數(shù)表示: 數(shù)符. 尾數(shù),.小數(shù)點(diǎn),.小數(shù)點(diǎn),二、 浮點(diǎn)法 浮點(diǎn)法中, 數(shù)據(jù)的小數(shù)點(diǎn)位置不是固定不變的, 而是可浮動(dòng)的。 因此, 可將任意一個(gè)二進(jìn)制數(shù)N表示成 N=M2E 其中, M為尾數(shù), 為純二進(jìn)制小數(shù), E稱為階碼??梢? 一個(gè)浮點(diǎn)數(shù)有階碼和尾數(shù)兩部分, 且都帶有表示正負(fù)的階碼符與數(shù)符, 其格式為,為了
31、提高精度, 發(fā)揮尾數(shù)有效位的最大作用, 還規(guī)定尾數(shù)數(shù)字部分原碼的最高位為1, 叫做規(guī)格化表示法。 如0.000101表示為: 2-30.101,1.1.6 BCD碼和ASCII 碼,一、 BCD碼,表1.3 8421BCD編碼表,例 1 寫出69.25的BCD碼。 根據(jù)表 1.3, 可直接寫出相應(yīng)的BCD碼: 69.25 =(01101001.00100101)BCD,BCD碼與非BCD碼,注:在09之間十進(jìn)制數(shù)的 BCD碼與十六進(jìn)制是相同的, 10以后的稱為非BCD碼, BCD碼加法運(yùn)算,BCD加法就是按“逢十進(jìn)位”的原則進(jìn)行相加,其和也是一個(gè)BCD數(shù)。但微機(jī)只能進(jìn)行二進(jìn)制加法,在相鄰BCD
32、碼字之間只能“逢十六進(jìn)位”。導(dǎo)致出現(xiàn)非BCD碼。因此需要對(duì)結(jié)果進(jìn)行調(diào)整,做到“逢十進(jìn)位”,96,例:89+95=,184,運(yùn)算結(jié)果的低4位出現(xiàn)非BCD碼 高4位出現(xiàn)進(jìn)位,均應(yīng)做加6調(diào)整, 結(jié)果仍為BCD碼,進(jìn)位,相加結(jié)果為無符號(hào)數(shù),最高位進(jìn)位有效,117,例: 48+69=,在BCD加法過程中,進(jìn)制不同導(dǎo)致出現(xiàn)非BCD碼或某位向高位產(chǎn)生進(jìn)位,使運(yùn)算結(jié)果不正確。在這種情況下均應(yīng)作加6調(diào)整,以補(bǔ)上多拿走的6。十進(jìn)制調(diào)整在微機(jī)中有專門的調(diào)整電路自動(dòng)完成,總結(jié):,BCD碼減法運(yùn)算與加法運(yùn)算同理 減法運(yùn)算的調(diào)整原則:在運(yùn)算過程中某位出現(xiàn)借位或非BCD碼,相應(yīng)位作減6調(diào)整,減去多借的6。也是有專門的指令來
33、完成的,例: 58-25=,33, BCD碼減法運(yùn)算,例: 35-28=,低四位向高四位借位,運(yùn)算結(jié)果的低4位出現(xiàn)非BCD碼,7, 個(gè)位做減6調(diào)整, 結(jié)果仍為BCD碼,二、 ASCII碼,表 1.4 ASCII 碼 表,字長(zhǎng):一個(gè)基本信息單位所占用的最大二進(jìn) 制位數(shù),字:微機(jī)一條指令所能處理的一個(gè)基本信息 單位,例如:一個(gè)數(shù)據(jù)(25、35.67、-0.0038;)一 個(gè)字符(A、a、#、)等均稱為一個(gè)字,1.1.7 微型計(jì)算機(jī)系統(tǒng)的主要性能指標(biāo),1、字長(zhǎng):CPU能直接處理的二進(jìn)制信息的位數(shù)。,字長(zhǎng)越長(zhǎng)的微機(jī),其運(yùn)算速度越快,數(shù)的表示范圍越寬,數(shù)據(jù)的運(yùn)算精度越高,機(jī)器的整體功能越強(qiáng),字長(zhǎng)是微機(jī)的主要性能指標(biāo)之一!,1.1.7 微型計(jì)算機(jī)系統(tǒng)的主要性能指標(biāo),2、內(nèi)存容量:以字節(jié)為單位。字節(jié)(Byte) 基本單位,規(guī)定 8位二進(jìn)制數(shù)稱為一個(gè)字節(jié) 1Byte=8bit(二進(jìn)制信息的最小單位) 210Byte=1024Byte,簡(jiǎn)計(jì)為1kB或1k; 220Byte=1024kByte=1MByte,簡(jiǎn)計(jì)為1MB或1M; 230Byte=1024MByte
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026上半年安徽事業(yè)單位聯(lián)考滁州市市直單位招聘65人考試備考題庫(kù)及答案解析
- 2026上海政法學(xué)院高層次學(xué)科(實(shí)務(wù))帶頭人與骨干人才引進(jìn)17人筆試模擬試題及答案解析
- 2026上半年浙江舟山市國(guó)際海運(yùn)職業(yè)技術(shù)學(xué)院招聘教師3人考試參考題庫(kù)及答案解析
- 2026湖南長(zhǎng)沙市寧鄉(xiāng)市人力資源和社會(huì)保障局招聘公益性崗位人員1人考試參考題庫(kù)及答案解析
- 2025年跨學(xué)科加試筆試及答案
- 2025年服裝設(shè)計(jì)專業(yè)職高筆試及答案
- 2026年傳熱學(xué)中流體力學(xué)的基礎(chǔ)
- 2025年惠州惠城區(qū)衛(wèi)生招聘筆試及答案
- 2025年維正筆試題目及答案
- 2025年湖北國(guó)企筆試及答案
- 2026年杭州職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)附答案解析
- 北京市豐臺(tái)區(qū)2026屆(年)高三年級(jí)(上)學(xué)期期末考試英語(yǔ)試題卷+答案
- 2026屆山東省淄博市第一學(xué)期高三摸底質(zhì)量檢測(cè)歷史(期末)(含答案)
- 2025年優(yōu)待證自查自糾報(bào)告模板范文
- 2026年春教科版(新教材)小學(xué)科學(xué)二年級(jí)下學(xué)期教學(xué)計(jì)劃及進(jìn)度表
- 中國(guó)熱帶農(nóng)業(yè)科學(xué)院熱帶作物品種資源研究所2026年第一批公開招聘工作人員備考題庫(kù)及答案詳解參考
- Ozon培訓(xùn)課件教學(xué)課件
- 2025年民航概論試題及答案判斷
- 吸氫機(jī)銷售課件
- DB1310-T 369-2025 化學(xué)分析實(shí)驗(yàn)室玻璃儀器使用規(guī)
- 2025年城市綜合交通設(shè)施優(yōu)化項(xiàng)目可行性研究報(bào)告及總結(jié)分析
評(píng)論
0/150
提交評(píng)論