夏路易編著的《數(shù)字電子技術(shù)基礎(chǔ)》內(nèi)容包括數(shù)制與編碼、邏輯代數(shù)、邏輯門(mén)電路、組合電路、觸發(fā)器、時(shí)序電路、存儲(chǔ)器、可編程邏輯器件、Verilog語(yǔ)言、脈沖整形與產(chǎn)生、數(shù)模與模數(shù)轉(zhuǎn)換器、數(shù)字外圍電路與QUARTUSⅡ軟件的使用,并給出數(shù)十個(gè)數(shù)字電路大型作業(yè)題。本書(shū)還介紹多種數(shù)字元器件的技術(shù)參數(shù)、數(shù)字電路邏輯設(shè)計(jì)與直接設(shè)計(jì)方法,給出大量豐富的例題與習(xí)題,目的是使讀者具有分析、設(shè)計(jì)與實(shí)現(xiàn)數(shù)字電路的能力。 《數(shù)字電子技術(shù)基礎(chǔ)》可作為電子信息類(lèi)、電氣信息類(lèi)、儀器儀表類(lèi)各專(zhuān)業(yè)的教材,也可供其他相關(guān)工科專(zhuān)業(yè)使用,還可作為電子工程師、電子技術(shù)愛(ài)好者的參考書(shū)。
夏路易編著的《數(shù)字電子技術(shù)基礎(chǔ)》系統(tǒng)全面介紹了數(shù)字電子技術(shù)基礎(chǔ)知識(shí),目的是使讀者具有分析、設(shè)計(jì)與實(shí)現(xiàn)數(shù)字電路的能力。本書(shū)可作為電子信息類(lèi)、電氣信息類(lèi)、儀器儀表類(lèi)各專(zhuān)業(yè)的教材,也可供其他相關(guān)工科專(zhuān)業(yè)使用,還可作為電子工程師、電子技術(shù)愛(ài)好者的參考書(shū)。
前言
第1章 數(shù)制轉(zhuǎn)換與編碼
1.1 二進(jìn)制數(shù)
1.1.1 為什么使用二進(jìn)制數(shù)
1.1.2 二進(jìn)制數(shù)的組成、轉(zhuǎn)換與算術(shù)運(yùn)算
1.2 常用的編碼
小結(jié)
思考題
習(xí)題
第2章 邏輯門(mén)與邏輯代數(shù)基礎(chǔ)
2.1 邏輯描述
2.2 基本邏輯門(mén)功能概述
2.3 邏輯代數(shù)基本定律與公式
2.3.1 基本定律
2.3.2 基本公式
2.3.3 基本定理
2.4 標(biāo)準(zhǔn)邏輯函數(shù)式
2.5 代數(shù)法化簡(jiǎn)函數(shù)式
2.6 卡諾圖
2.6.1 畫(huà)卡諾圖
2.6.2 用卡諾圖化簡(jiǎn)“與一或”函數(shù)式
2.6.3 具有無(wú)關(guān)項(xiàng)的邏輯函數(shù)化簡(jiǎn)
2.7 邏輯電路圖、函數(shù)式與真值表之間的轉(zhuǎn)換
2.8 與非門(mén)和或非門(mén)
小結(jié)
思考題
習(xí)題
第3章 門(mén)電路
3.1 數(shù)字邏輯信號(hào)
3.2 CMOS門(mén)電路
3.2.1 MOS晶體管
3.2.2 基本CMOS非門(mén)
3.2.3 CMOS與非門(mén)和或非門(mén)
3.3 74HC系列門(mén)電路的電特性
3.3.1 74HC系列門(mén)電路的極限電參數(shù)
3.3.2 74HC系列門(mén)電路的推薦工作條件
第4章 組合邏輯電路
第5章 鎖存器與觸發(fā)器
第6章 時(shí)序電路分析與設(shè)計(jì)
第7章 存儲(chǔ)器
第8章 可編程邏輯器件工作原理
第9章 Verilog HDL
第10章 脈沖整形與產(chǎn)生電路
第11章 數(shù)模與模數(shù)轉(zhuǎn)換器
第12章 數(shù)字外圍電路
第13章 學(xué)習(xí)使用QuartusII軟件
附錄
參考文獻(xiàn)
第1章 數(shù)制轉(zhuǎn)換與編碼
本章介紹二進(jìn)制數(shù)的基本概念、不同數(shù)制之間的轉(zhuǎn)換、二進(jìn)制數(shù)運(yùn)算與補(bǔ)碼,以及常用的編碼。
1.1 二進(jìn)制數(shù)
1.1.1 為什么使用二進(jìn)制數(shù)
日常使用的十進(jìn)制數(shù)中任何一位數(shù)需要10個(gè)狀態(tài)才能表示,因此用電的方法表示非常困難。例如,用電壓表示十進(jìn)制數(shù),需要10個(gè)電壓值,常用如圖1-1所示的簡(jiǎn)單分壓電路實(shí)現(xiàn)。所以,為獲得表示任何數(shù)字的電壓值,單刀開(kāi)關(guān)須動(dòng)作多次。
同樣,實(shí)現(xiàn)1位二進(jìn)制信號(hào)簡(jiǎn)單得多,若用兩個(gè)分離的電壓值(又稱(chēng)邏輯電平)表示二進(jìn)制數(shù),例如,實(shí)現(xiàn)1位二進(jìn)制信號(hào),可以用如圖1-2所示的開(kāi)關(guān)電路實(shí)現(xiàn),開(kāi)關(guān)閉合時(shí),輸出電壓0V表示二進(jìn)制數(shù)字0;開(kāi)關(guān)斷開(kāi)時(shí),輸出電壓5V表示二進(jìn)制數(shù)字1,所以實(shí)現(xiàn)二進(jìn)制數(shù)的開(kāi)關(guān)動(dòng)作簡(jiǎn)單得多,因此二進(jìn)制數(shù)很容易用開(kāi)關(guān)電路實(shí)現(xiàn)。
圖1-2 開(kāi)關(guān)實(shí)現(xiàn)1位二進(jìn)制數(shù)
在實(shí)際中具有開(kāi)關(guān)功能的電子器件很多,如圖1-3所示,繼電器可以實(shí)現(xiàn)二進(jìn)制數(shù),二極管、晶體管等都可作為開(kāi)關(guān)組成電路實(shí)現(xiàn)二進(jìn)制數(shù)。如圖1-3(a)所示,繼電器在線圈輸入端無(wú)電壓時(shí),線圈b無(wú)電,觸點(diǎn)a在彈簧c的作用下斷開(kāi);當(dāng)線圈輸入端有電壓時(shí),繼電器線圈b通電,在線圈b電磁吸力的作用下,觸點(diǎn)a閉合。因此繼電器是一個(gè)電壓控制的開(kāi)關(guān)。
圖1-3(b)是二極管作為開(kāi)關(guān)的電路圖,當(dāng)二極管輸入電壓為0V時(shí),輸出被鉗位在0.7V;當(dāng)二極管輸入電壓為3V時(shí),輸出被鉗位在3.7V,因此輸入信號(hào)可以控制輸出電平。
圖1-3 用于表示二進(jìn)制數(shù)的開(kāi)關(guān)元器件
圖1-3(c)是三極管開(kāi)關(guān)電路圖,當(dāng)輸入電壓使三極管飽和時(shí),輸出電壓近似為0V ;當(dāng)輸入電壓使三極管截止時(shí),輸出電壓近似為5V 。輸入電壓信號(hào)可以控制三極管開(kāi)關(guān)的通斷,控制輸出電壓的變化。
二進(jìn)制數(shù)容易用電子元件實(shí)現(xiàn),這是使用二進(jìn)制數(shù)的主要原因。
1.1.2 二進(jìn)制數(shù)的組成、轉(zhuǎn)換與算術(shù)運(yùn)算
1.有權(quán)數(shù)
十進(jìn)制數(shù)是有權(quán)數(shù),數(shù)的位置不同,數(shù)具有的權(quán)不同,例如,對(duì)于十進(jìn)制數(shù)33,雖然兩個(gè)數(shù)都是3,但由于位置不同,所以右邊的3代表3,左邊的3代表30,所以33=3×101 +3。對(duì)于有小數(shù)的十進(jìn)制數(shù),例如,123.4可以表示為1×102 +2×101+3×100 +4×10 -1 。
十進(jìn)制數(shù)的權(quán)結(jié)構(gòu)可以表示為:.105 104 103 102 101 10010 -1 10 -2 10 -3 .二進(jìn)制數(shù)與十進(jìn)制數(shù)一樣也是有權(quán)數(shù),其權(quán)結(jié)構(gòu)可以表示為:
2n -1 .2524 23 22 21 20 2-1 2-2 2-3 .2 -n
二進(jìn)制權(quán)重如表1-1所示。
表1-1 二進(jìn)制權(quán)重
28 27 26 25 24 23 22 21 20 2 -1 2 -2 2 -3 2 -4 2 -5
256 128 64 32 16 8 4 2 1 0 .5 0 .25 0 .125 0 .0625 0.03125
1 /2 1 /4 1 /8 1/16 1/32
2.二進(jìn)制數(shù)轉(zhuǎn)十進(jìn)制數(shù)將各位二進(jìn)制數(shù)乘以相應(yīng)的權(quán)后相加就可以轉(zhuǎn)成十進(jìn)制數(shù)。例如,將1101101轉(zhuǎn)成十進(jìn)制
數(shù)的過(guò)程如下:1×26 +1×25 +0×24 +1×23 +1×22 +0×21+1×20 =1×64+1×32+0×16+1×8+1×4+0×2+1×1=64+32+8+4+1=109
3.十進(jìn)制整數(shù)轉(zhuǎn)二進(jìn)制數(shù)
常用的十進(jìn)制整數(shù)轉(zhuǎn)二進(jìn)制數(shù)方法是重復(fù)除2法:將十進(jìn)制數(shù)除以2,余數(shù)則為二進(jìn)制數(shù)低位,得到的商繼續(xù)除以2;得到的余數(shù)為次低位,得到的商再次除以2;不斷重復(fù)該過(guò)程,直到商為0;最后得到的余數(shù)1為最高位。
例如,45(10)=101101(2),173(10)=10101101(2)。其中,MSB 表示高位,LSB 表示低位。
4.十進(jìn)制小數(shù)轉(zhuǎn)二進(jìn)制數(shù)
常用的十進(jìn)制小數(shù)轉(zhuǎn)二進(jìn)制數(shù)方法是重復(fù)乘2法:將小數(shù)部分乘以2,積的整數(shù)部分是最高位;積的小數(shù)部分繼續(xù)乘以2,積的整數(shù)部分是次高位;積的小數(shù)部分繼續(xù)乘以2,直到積的小數(shù)部分全為0;最后得到積的整數(shù)部分1是最低位。
例如,0.3125(10)=.0101(2)。
積的整數(shù)部分
0.3125×2=0.625 0 MSB 0.625×2=1.2510.25×2=0.5000.5×2=1.001LSB
5.二進(jìn)制數(shù)算術(shù)運(yùn)算
二進(jìn)制數(shù)可以表示數(shù)值,也可以表示邏輯值。所以,兩個(gè)二進(jìn)制數(shù)既可以實(shí)現(xiàn)算術(shù)運(yùn)算,也可以實(shí)現(xiàn)邏輯運(yùn)算。二進(jìn)制數(shù)的算術(shù)運(yùn)算與十進(jìn)制數(shù)運(yùn)算規(guī)則相似,只是逢2進(jìn)1,借1相當(dāng)于2。
1) 加減法運(yùn)算
例如,1100(2)+1010(2)=10110(2),1100(2)?1010(2)=0010(2)。
在實(shí)際應(yīng)用中,使用數(shù)字電路可以實(shí)現(xiàn)二進(jìn)制數(shù)的加減法運(yùn)算。
2) 乘法運(yùn)算
二進(jìn)制數(shù)乘法運(yùn)算過(guò)程:先將被乘數(shù)與乘數(shù)最低位形成部分積,隨后將被乘數(shù)與乘數(shù)次低位形成部分積,直到所有乘數(shù)各位都與被乘數(shù)相乘形成部分積,再將所有部分積相加。
例如,1100(2)×1001(2)=1101100(2),其運(yùn)算式如下:
乘法運(yùn)算實(shí)際上是被乘數(shù)按照乘數(shù)中1的位置左移形成部分積后相加實(shí)現(xiàn),乘數(shù)的最低位的位置為0。在本例中,由于乘數(shù)位置0為數(shù)1,則被乘數(shù)1100先左移0位,形成第一個(gè)部分積1100;然后由于乘數(shù)位置3為1,則被乘數(shù)左移三位形成部分積1100000,兩個(gè)部分積相加,形成積為1101100。由上述規(guī)律可知,如果一個(gè)二進(jìn)制數(shù)乘以一個(gè)2的整數(shù)冪,則可以由左移冪次實(shí)現(xiàn),移出的
空位補(bǔ)0,例如,110×21 之積可以直接將110左移1位實(shí)現(xiàn),結(jié)果為1100。3)除法運(yùn)算除法運(yùn)算是被除數(shù)或余數(shù)減去右移的除數(shù)。若余數(shù)大于等于0,則商為1,否則商為0。例如,110(2)÷10(2)=11(2)。首先是被除數(shù)110減去右移0位的除數(shù),余數(shù)大于0,所以商為1;然后是余數(shù)減去右移1位
的除數(shù),余數(shù)等于0,則商為1。由上述規(guī)律可知,如果一個(gè)二進(jìn)制數(shù)除以一個(gè)2的整數(shù)冪,則可以由右移冪次實(shí)現(xiàn),移出的
空位補(bǔ)0,例如,110÷21 之商可以直接將110右移1位實(shí)現(xiàn),結(jié)果為11。6.反碼與補(bǔ)碼1)反碼反碼是將一個(gè)二進(jìn)制數(shù)中的1變?yōu)?,0變?yōu)?。例如,二進(jìn)制數(shù)1010的反碼是0101。反碼有時(shí)又稱(chēng)為1的補(bǔ)碼,就是與該二進(jìn)制數(shù)位數(shù)相等的全1二進(jìn)制數(shù)(2n -1,n為二進(jìn)制
數(shù)的位數(shù))的補(bǔ)碼,或者一個(gè)二進(jìn)制數(shù)與該二進(jìn)制數(shù)1的補(bǔ)碼相加,是與該二進(jìn)制數(shù)相等位數(shù)的
全1二進(jìn)制數(shù)。例如,1010與0101相加等于1111(24 -1),所以0101是1010的1的補(bǔ)碼(反碼)。2)2的補(bǔ)碼反碼加1稱(chēng)為2的補(bǔ)碼,相當(dāng)與二進(jìn)制數(shù)位數(shù)相等的全1二進(jìn)制數(shù)加1(2n )的補(bǔ)碼,或者稱(chēng)
為模為2n 的補(bǔ)碼。例如,1010的反碼是0101,0101+1=0110是2的補(bǔ)碼,因?yàn)?010+0110=10000(24 )。一個(gè)二進(jìn)制數(shù)的補(bǔ)碼就是用模2n 減去這個(gè)二進(jìn)制數(shù)。一個(gè)數(shù)與該數(shù)的補(bǔ)碼之間是互補(bǔ)關(guān)
系,而兩個(gè)數(shù)互補(bǔ),則說(shuō)明是相同的數(shù)(只是表示方法不同),或者說(shuō)是符號(hào)相反的另外一個(gè)數(shù)。
因此在減法運(yùn)算中,減一個(gè)數(shù)常用加一個(gè)數(shù)的補(bǔ)碼代替。7.有符號(hào)數(shù)有符號(hào)數(shù)可以表示為:符號(hào)+數(shù)值。一個(gè)二進(jìn)制數(shù)的最高位在有符號(hào)數(shù)中是符號(hào)位,通常用
0表示正數(shù),1表示負(fù)數(shù),例如,+25的8位有符號(hào)二進(jìn)制數(shù)為00011001,而-25的有符號(hào)的二
進(jìn)制數(shù)為10011001。有符號(hào)數(shù)也可以表示為:權(quán)重之和,即最高位等效為具有符號(hào)權(quán)重的十進(jìn)制數(shù)。若是將負(fù)數(shù)的符號(hào)位按照權(quán)重考慮為負(fù)數(shù),其他權(quán)重為正數(shù),則二進(jìn)制數(shù)的權(quán)重之和是該
數(shù)。取補(bǔ)運(yùn)算可以改變?cè)摂?shù)的符號(hào),例如,8位有符號(hào)數(shù)中00000100(+4)的補(bǔ)碼為11111100,由于最高位為1,因此:-128+64+32+16+8+4=-4;11101101(-19)的補(bǔ)碼為00010011,其權(quán)重之和為16+2+1=19。
在有符號(hào)數(shù)系統(tǒng)中,正數(shù)的補(bǔ)碼是該數(shù)本身,而負(fù)數(shù)的補(bǔ)碼為該數(shù)取反碼加1。1)兩個(gè)有符號(hào)數(shù)相加兩個(gè)有符號(hào)數(shù)相加分為4種情況,以下舉例說(shuō)明。
(1)兩數(shù)都是正數(shù),如7+4=11的情況:這時(shí),和是正二進(jìn)制數(shù)。
(2)正數(shù)大于負(fù)數(shù),如15+(-6)=9的情況:在丟掉進(jìn)位后,和是正二進(jìn)制數(shù)。
(3)負(fù)數(shù)大于正數(shù),如16+(-24)=-8的情況:和是負(fù)數(shù),因此是2的補(bǔ)碼。
(4)兩數(shù)都是負(fù)數(shù),如-5+(-9)=-14的情況:丟掉進(jìn)位后,和是2的補(bǔ)碼。
2)兩個(gè)有符號(hào)數(shù)相減兩個(gè)有符號(hào)數(shù)減法運(yùn)算步驟為:將減數(shù)取補(bǔ)碼,然后被減數(shù)與減數(shù)相加,再丟掉進(jìn)位,下面分
4種情況舉例說(shuō)明。(1)8-3=8+(-3)=5:
(2)-25-(+19) = -25+(-19)=-44:
(3)-120-(-30) = -120+30=-90:
(4)12-(-9)=12+9=21:
8.十六進(jìn)制數(shù)與二進(jìn)制數(shù)之間的轉(zhuǎn)換1位十六進(jìn)制數(shù)與十進(jìn)制數(shù)、二進(jìn)制數(shù)之間的關(guān)系如表1-2所示。將二進(jìn)制數(shù)轉(zhuǎn)換成十六進(jìn)制數(shù),只須將二進(jìn)制數(shù)4位1組,按組轉(zhuǎn)換成十六進(jìn)制數(shù)。將十六進(jìn)
制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù),只須將每位十六進(jìn)制數(shù)轉(zhuǎn)換成對(duì)應(yīng)的二進(jìn)制數(shù)。例如,10101110(2)=AE(16)。有時(shí)為區(qū)別十六進(jìn)制數(shù)與十進(jìn)制數(shù),常在十六進(jìn)制數(shù)前加0x 。例如,10011100(2)=0x9C 。
?5?
表1-2 十六進(jìn)制數(shù)與十進(jìn)制、二進(jìn)制數(shù)之間的關(guān)系
十進(jìn)制數(shù) 二進(jìn)制數(shù) 十六進(jìn)制數(shù) 十進(jìn)制數(shù) 二進(jìn)制數(shù) 十六進(jìn)制數(shù)
0 0000 0 8 1000 8
1 0001 1 9 1001 9
2 0010 2 10 1010 A
3 0011 3 11 1011 B
4 0100 4 12 1100 C
5 0101 5 13 1101 D
6 0110 6 14 1110 E
7 0111 7 15 1111 F
1.2 常用的編碼
1.8421碼
8421碼又稱(chēng)為BCD(Binary Coded Decimal)碼,用4位二進(jìn)制數(shù)表示1位十進(jìn)制數(shù),如表1-3所示。
表1-3 BCD碼
十進(jìn)制數(shù) 0 1 2 3 4 5 6 7 8 9
BCD 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001
由于4位二進(jìn)制數(shù)有16種組合,而B(niǎo)CD 碼只用其中的10種組合,因此還有6種組合沒(méi)有使用。2.余三碼余三碼也是一種用4位二進(jìn)制數(shù)表示十進(jìn)制的編碼,是由8421碼加3形成的一種編碼,如
表1-4所示。
表1-4 余三碼
十進(jìn)制數(shù) 0 1 2 3 4 5 6 7 8 9
余三碼 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100
3.格雷碼格雷碼(Gray Code)又稱(chēng)為循環(huán)碼,該編碼如表1-5所示。
表1-5 格雷碼
編碼順序 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
二進(jìn)制數(shù) 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
格雷碼 0000 0001 0011 0010 0110 0111 0101 0100 1100 1101 1111 1110 1010 1011 1001 1000
從0000開(kāi)始,該編碼的特點(diǎn)是每一位都循環(huán)變化:
(1)最右邊一位的變化規(guī)律為0110011001100110;
(2)右邊第二位的變化規(guī)律為0011110000111100;