版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第1章數(shù)字邏輯基礎(chǔ)
1.1概述1.2數(shù)制與碼制1.3數(shù)字邏輯設(shè)計(jì)基礎(chǔ)數(shù)字系統(tǒng)所處理的信息都是二進(jìn)制形式的數(shù)字信號(hào)。本章介紹數(shù)字信號(hào)的表示方式,數(shù)制和碼制;重點(diǎn)介紹數(shù)字邏輯設(shè)計(jì)的基礎(chǔ),包括邏輯代數(shù)的基本公式和定理、邏輯函數(shù)的表示方法、邏輯函數(shù)的化簡(jiǎn)以及邏輯門電路的基本結(jié)構(gòu)和常用的集成門電路。
1.1概述
1.1.1數(shù)字信號(hào)及模擬信號(hào)
客觀世界中存在著各種各樣的物理量,用于量度物體屬性或描述物體運(yùn)動(dòng)狀態(tài)及其變化過程。根據(jù)各物理量變化規(guī)律的特點(diǎn)可將它們劃分為兩大類。
一類物理量的變化在時(shí)間和數(shù)值上都是連續(xù)的。這一類物理量叫做模擬量,如電壓、頻率、壓力、溫度等。時(shí)間上的“連續(xù)”是指在一個(gè)指定的時(shí)間范圍里,物理量的數(shù)值個(gè)數(shù)有無(wú)窮多個(gè)。而數(shù)值上的“連續(xù)”是指物理量的數(shù)值本身的數(shù)目有無(wú)窮多個(gè)。我們把在時(shí)間上和數(shù)值上都連續(xù)的物理量稱為模擬物理量,表示模擬量的信號(hào)叫做模擬信號(hào),如圖1-1(a)所示,而處理模擬信號(hào)的電子電路被稱為模擬電路。圖1-1模擬信號(hào)與數(shù)字信號(hào)另一類物理量的變化在時(shí)間上和數(shù)量上都是離散的。例如產(chǎn)品的數(shù)量、學(xué)生的成績(jī)、開關(guān)的狀態(tài)等,它們的值都是離散值。時(shí)間上的“離散”是指在一個(gè)指定的時(shí)間范圍里,物理量的數(shù)值的個(gè)數(shù)是有限的。而數(shù)值上的“離散”是指物理量的數(shù)值本身的數(shù)目是有限的。我們把在時(shí)間上和數(shù)值上都離散的物理量稱為數(shù)字量,表示數(shù)字量的信號(hào)稱為數(shù)字信號(hào),如圖1-1(b)所示,直接對(duì)數(shù)字量進(jìn)行處理的電子線路被稱為數(shù)字電路。由于數(shù)字電路中存儲(chǔ)、處理和傳輸?shù)男盘?hào)都是數(shù)字信號(hào),因而對(duì)于模擬信號(hào)而言,需要將其轉(zhuǎn)換為數(shù)字信號(hào),才能在數(shù)字電路中進(jìn)行存儲(chǔ)、處理和傳輸。圖1-1顯示出了這種轉(zhuǎn)換的方法。圖1-1中,經(jīng)過了采樣、量化和編碼后,模擬信號(hào)轉(zhuǎn)換成了數(shù)字信號(hào)。所謂采樣,是指以相等的時(shí)間間隔,將時(shí)間上連續(xù)的模擬信號(hào)截取成時(shí)間上離散的數(shù)字信號(hào),也就是在時(shí)間上將模擬信號(hào)離散化。量化是指將采樣得到的瞬間幅度值離散化,也就是用有限個(gè)幅度值近似表示原來(lái)連續(xù)變化的幅度值,即把模擬信號(hào)的連續(xù)幅度值變?yōu)橛邢迶?shù)量的有一定間隔的離散值。例如,用離散值-5V,-4V,…,4V,5V表示電壓的幅度值,當(dāng)采樣得到的幅度值是1.23V時(shí),量化后的值取1V;當(dāng)采樣得到的幅度值是?-2.68V時(shí),量化后的值取?-3V。編碼則是按照一定的規(guī)律,把量化后的值用二進(jìn)制數(shù)字表示。例如,1V用二進(jìn)制數(shù)0001表示,-3V用二進(jìn)制數(shù)1101表示。1.1.2數(shù)字抽象
數(shù)字系統(tǒng)是一個(gè)能對(duì)數(shù)字信號(hào)進(jìn)行處理和傳輸?shù)膶?shí)體,由各種能實(shí)現(xiàn)特定功能的數(shù)字邏輯電路相互連接組合而成。在數(shù)字系統(tǒng)中,表示信息所使用的都是離散型的信號(hào)。
早期機(jī)械式的數(shù)字系統(tǒng),如CharlesBabbage(查兒斯·巴貝奇)設(shè)計(jì)的分析機(jī)(現(xiàn)代電子計(jì)算機(jī)的前身),使用蒸汽作動(dòng)力,用10個(gè)齒輪分別表示0~9十個(gè)數(shù)字,是一個(gè)具有10個(gè)離散值變量的數(shù)字系統(tǒng)?,F(xiàn)在,大部分?jǐn)?shù)字系統(tǒng)使用二進(jìn)制處理信息,這是由于:
(1)電路容易實(shí)現(xiàn)。二進(jìn)制只有兩個(gè)數(shù)碼,在電路中用高、低電平分別表示“1”和“0”這兩種狀態(tài),區(qū)分兩種電壓值要比區(qū)分10種電壓值容易得多。
(2)物理上容易實(shí)現(xiàn)存儲(chǔ)。二進(jìn)制在物理上最容易實(shí)現(xiàn)存儲(chǔ),如通過磁極的取向、表面的凹凸等來(lái)記錄“0”、“1”信息。
(3)便于運(yùn)算。與十進(jìn)制數(shù)相比,二進(jìn)制數(shù)的運(yùn)算規(guī)則要簡(jiǎn)單得多(例如二進(jìn)制乘法只有4條規(guī)則)。這不僅可使運(yùn)算器的硬件結(jié)構(gòu)大大簡(jiǎn)化,而且有利于運(yùn)算速度的提高。
(4)便于邏輯判斷。二進(jìn)制中的0和1兩個(gè)數(shù)碼,正好與邏輯命題中的“真(True)”、“假(False)”相對(duì)應(yīng),為邏輯運(yùn)算提供了便利。
目前,在計(jì)算機(jī)、數(shù)字通信及其他數(shù)字設(shè)備中,都是用兩個(gè)電平狀態(tài)來(lái)表示數(shù)字信號(hào)的。采用的兩個(gè)狀態(tài)符號(hào)就是0和1(在二進(jìn)制中,它們表示兩個(gè)數(shù)字信號(hào)),它們是構(gòu)成數(shù)字信息的基本元素。也就是說(shuō),不論數(shù)字系統(tǒng)處理的信息是表示一個(gè)數(shù),或者是表示控制某個(gè)裝置動(dòng)作的命令,也都不過是0和1的某種形式的組合。對(duì)于0和1來(lái)說(shuō),既可以用電位的高低來(lái)表示,也可以用脈沖信號(hào)的有無(wú)來(lái)表示。例如在圖1-2中,為表示1101110010這樣的數(shù)字信號(hào),用電位的高低來(lái)表示的信號(hào)波形如圖1-2(a)所示,以高電平表示1,低電平表示0;若以脈沖信號(hào)有無(wú)表示,信號(hào)波形如圖1-2(b)所示,以有脈沖表示1,無(wú)脈沖表示0。目前的數(shù)字系統(tǒng)中,常用前一種方式表示數(shù)字信號(hào)。圖1-2數(shù)字信號(hào)的表示1.1.3數(shù)字信號(hào)傳輸時(shí)對(duì)“0”、“1”的處理
在數(shù)字系統(tǒng)中,常用自然二進(jìn)制對(duì)信號(hào)進(jìn)行編碼,即高電平表示數(shù)據(jù)“1”,低電平表示數(shù)據(jù)“0”。但這種類型的數(shù)字信號(hào)不適合于在信道中直接傳輸,原因在于:①這種類型的數(shù)字信號(hào)往往存在直流分量和低頻分量,而具有電容耦合電路的設(shè)備或頻帶低端受限的信道會(huì)過濾掉這些分量;②當(dāng)出現(xiàn)連續(xù)的“0”或“1”數(shù)據(jù)時(shí),數(shù)字信號(hào)會(huì)出現(xiàn)長(zhǎng)時(shí)間的低電平或高電平,接收端無(wú)法獲取定時(shí)信息(即同步信息);③接收端無(wú)法判斷是否包含錯(cuò)碼。因此,數(shù)字信號(hào)在傳輸時(shí)需要選擇其他的編碼方式,常用的有以下四種。
1.不歸零編碼(NRZ)
不歸零編碼(NRZ)的編碼規(guī)則是:“1”和“0”都分別由不同的電平狀態(tài)來(lái)表現(xiàn),用正電平表示“1”,用負(fù)電平表示“0”,除此之外,沒有中性狀態(tài)及其他狀態(tài)。圖1-3為不歸零編碼示意圖。不歸零編碼發(fā)送能量大,直流分量小,抗干擾能力比較強(qiáng),但使用這種編碼需要另外傳輸同步信號(hào)。
2.NRZ-Inverted(NRZI)編碼圖
NRZ-Inverted(NRZI)的編碼規(guī)則是:如果輸入為0,則輸出保持它的前一個(gè)值;如果輸入為1,則輸出為前一個(gè)輸出值的相反值。因此,只要輸入為0,輸出就會(huì)保持不變;如果輸入為1,輸出就會(huì)發(fā)生翻轉(zhuǎn)。圖1-4為NRZ-Inverted編碼示意圖。使用這種編碼也同樣需要另外傳輸同步信號(hào)。圖1-3NRZ編碼示意圖圖1-4NRZ-Inverted編碼示意圖
3.歸零編碼
歸零編碼(ReturntoZero,RZ)的編碼規(guī)則是:高電平表示“1”,低電平表示“0”,但整個(gè)碼元分兩部分,前半部分用高低電平表示數(shù)據(jù),后半部分則歸零位。顯然,信號(hào)“0”在整個(gè)位的時(shí)間內(nèi)以低電平發(fā)送;信號(hào)“1”在前半個(gè)位時(shí)間內(nèi)以高電平發(fā)送,在剩余位時(shí)間內(nèi)以低電平發(fā)送。圖1-5為歸零編碼示意圖。歸零編碼自帶了同步信號(hào),但當(dāng)出現(xiàn)長(zhǎng)串“0”時(shí),將丟失同步信號(hào)。圖1-5歸零編碼示意圖
4.曼徹斯特編碼
曼徹斯特編碼(ManchesterEncoding)也叫做相位編碼(PhaseEncoding,PE),是一種用電平跳變來(lái)表示1或0的編碼,這種編碼帶同步信號(hào),即時(shí)鐘同步信號(hào)就隱藏在數(shù)據(jù)波形中。在曼徹斯特編碼中,每一位的中間有一電平的跳變,位中間的跳變既作時(shí)鐘信號(hào),又作數(shù)據(jù)信號(hào);從高到低跳變表示“0”,從低到高跳變表示“1”。
還有一種是差分曼徹斯特編碼,每位中間的跳變僅提供同步信號(hào),而用每位開始時(shí)有無(wú)跳變表示“0”或“1”,如果有跳變則表示“0”,如果無(wú)跳變則表示“1”。兩種曼徹斯特編碼將時(shí)鐘同步信號(hào)和數(shù)據(jù)包含在數(shù)據(jù)流中,在傳輸代碼信息的同時(shí),也將時(shí)鐘同步信號(hào)一起傳輸?shù)綄?duì)方。每位編碼中有一跳變,不存在直流分量,因此具有自同步能力和良好的抗干擾性能。但每一個(gè)碼元都被調(diào)成兩個(gè)電平,所以數(shù)據(jù)傳輸速率只有調(diào)制速率的1/2。圖1-6為兩種曼徹斯特編碼示意圖。圖1-6兩種曼徹斯特編碼示意圖
1.2數(shù)?制?與?碼?制
1.2.1數(shù)制
數(shù)制也稱計(jì)數(shù)制,是指用一組固定的符號(hào)和統(tǒng)一的規(guī)則來(lái)表示數(shù)值的方法。由于按進(jìn)位的方法進(jìn)行計(jì)數(shù),故也稱進(jìn)位計(jì)數(shù)制。在日常生活中,人們普遍采用十進(jìn)制計(jì)數(shù)方式,而在數(shù)字系統(tǒng)中,最廣泛使用的是二進(jìn)制計(jì)數(shù)方式。
學(xué)習(xí)數(shù)制,必須首先掌握數(shù)碼、基數(shù)和位權(quán)這三個(gè)概念。
數(shù)碼:數(shù)制中為表示基本數(shù)值大小所使用的不同數(shù)字符號(hào)。例如,十進(jìn)制有10個(gè)數(shù)碼:0~9;二進(jìn)制有2個(gè)數(shù)碼:0、1?;鶖?shù):數(shù)制中所使用數(shù)碼的個(gè)數(shù)。例如,十進(jìn)制計(jì)數(shù)制使用10個(gè)數(shù)碼,故基數(shù)為10;二進(jìn)制計(jì)數(shù)制使用2個(gè)數(shù)碼,故基數(shù)為2。
位權(quán):數(shù)制中某位置上的數(shù)字1所表示數(shù)值的大小。例如,十進(jìn)制的435中,4所在位置上的位權(quán)是100,3的位權(quán)是10,5的位權(quán)是1。
下面介紹常用的進(jìn)位計(jì)數(shù)制及數(shù)制之間的轉(zhuǎn)換。
1.十進(jìn)制數(shù)(Decimal)
十進(jìn)制數(shù)的特點(diǎn)是:
(1)由10個(gè)數(shù)碼0~9組成。
(2)基數(shù)是10,運(yùn)算規(guī)則是逢十進(jìn)一。
(3)在小數(shù)點(diǎn)左邊,從右至左各位的位權(quán)依次是:100、101、102、103等;在小數(shù)點(diǎn)右邊,從左至右各位的位權(quán)依次是:10-1、10-2、10-3、10-4等。任意一個(gè)十進(jìn)制數(shù),都可以用位權(quán)展開式表示為
其中:di表示各個(gè)位置上的十進(jìn)制數(shù)碼。例如,十進(jìn)制數(shù)826.78的位權(quán)展開式為
(826.78)10?=?8?×?102?+?2?×?101?+?6?×?100
+?7?×?10-1?+?8?×?10-2
2.二進(jìn)制數(shù)(Binary)
二進(jìn)制數(shù)的特點(diǎn)是:
(1)由兩個(gè)數(shù)碼0、1組成。
(2)基數(shù)是2,運(yùn)算規(guī)則是逢二進(jìn)一。
(3)在小數(shù)點(diǎn)左邊,從右至左各位的位權(quán)依次是:20、21、22、23等;在小數(shù)點(diǎn)右邊,從左至右各位的位權(quán)依次是:2-1、2-2、2-3、2-4等。
任意一個(gè)二進(jìn)制數(shù),都可以用位權(quán)展開式表示為其中:bi表示各個(gè)位置上的二進(jìn)制數(shù)碼。例如,二進(jìn)制數(shù)1011.101的位權(quán)展開式為
(1011.101)2?=?1?×?23?+?0?×?22?+?1?×?21?+?1?×?20?+?1?×?2-1?+?0?×?2-2?+?1?×?2-3
3.八進(jìn)制數(shù)(Octal)
八進(jìn)制數(shù)的特點(diǎn)是:
(1)由8個(gè)數(shù)碼0~7組成。
(2)基數(shù)是8,運(yùn)算規(guī)則是逢八進(jìn)一。
(3)在小數(shù)點(diǎn)左邊,從右至左各位的位權(quán)依次是:80、81、82、83等;在小數(shù)點(diǎn)右邊,從左至右各位的位權(quán)依次是:8-1、8-2、8-3、8-4等。任意一個(gè)八進(jìn)制數(shù),都可以用位權(quán)展開式表示為
其中:oi表示各個(gè)位置上的八進(jìn)制數(shù)碼。例如,八進(jìn)制數(shù)723.24的位權(quán)展開式為
(723.24)8?=?7?×?82?+?2?×?81?+?3?×?80?+?2?×?8-1?+?4×8-2
4.十六進(jìn)制數(shù)(Hexidecimal)
十六進(jìn)制數(shù)的特點(diǎn)是:
(1)由16個(gè)數(shù)碼0~9及A~F組成。
(2)基數(shù)是16,運(yùn)算規(guī)則是逢十六進(jìn)一。
(3)在小數(shù)點(diǎn)左邊,從右至左各位的位權(quán)依次是:160、161、162、163等;在小數(shù)點(diǎn)右邊,從左至右各位的位權(quán)依次是:16-1、16-2、16-3、16-4等。任意一個(gè)十六進(jìn)制數(shù),都可以用位權(quán)展開式表示為:
其中:xi表示各個(gè)位置上的十六進(jìn)制數(shù)碼。例如,十六進(jìn)制數(shù)2D9.A8的位權(quán)展開式為
(2D9.A8)16?=?2?×?162?+?13?×?161?+?9?×?160
?+?10?×?16-1?+?8?×?16-2
5.數(shù)制之間的轉(zhuǎn)換
1)十進(jìn)制數(shù)與非十進(jìn)制數(shù)之間的轉(zhuǎn)換
(1)非十進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù)。非十進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù)的方法是:將非十進(jìn)制數(shù)按位權(quán)展開后求和。
【例1-1】將(1011.101)2、(723.24)8、(2D9.A8)16分別轉(zhuǎn)換成十進(jìn)制數(shù)。
解(1011.101)2??=?1?×?23?+?0?×?22?+?1?×?21?+?1?×?20?+?1?×?2-1?+?0?×?2-2?+?1?×?2-3
=?8?+?0?+?2?+?1?+?0.5?+?0?+?0.125?=?11.625
(723.24)8?=?7?×?82?+?2?×?81?+?3?×?80?+?
2?×?8-1?+?4?×?8-2
=?448?+?16?+?3?+?0.25?+?0.0625
=?467.3125
(2D9.A8)16?=?2?×?162?+?13?×?161?+?9?×?160?+?
10?×?16-1?+?8?×?16-2
=?512?+?208?+?9?+?0.625?+?0.03125
=?729.65625
(2)十進(jìn)制數(shù)轉(zhuǎn)換成非十進(jìn)制數(shù)。十進(jìn)制數(shù)轉(zhuǎn)換成非十進(jìn)制數(shù),需要分別對(duì)整數(shù)部分和小數(shù)部分進(jìn)行轉(zhuǎn)換。
①整數(shù)部分的轉(zhuǎn)換方法:不斷除以基數(shù)取余數(shù),直到商為0,從下到上讀取余數(shù)。
【例1-2】將(179)10分別轉(zhuǎn)換成二進(jìn)制、八進(jìn)制、十六進(jìn)制數(shù)。
解結(jié)果:(179)10?=?(10110011)2?=?(263)8?=?(B3)16②小數(shù)部分的轉(zhuǎn)換方法:不斷乘以基數(shù)取整數(shù),從上到下讀取整數(shù),直到滿足精度要求為止。
【例1-3】將(0.6875)10分別轉(zhuǎn)換成二進(jìn)制、八進(jìn)制、十六進(jìn)制數(shù)。結(jié)果:(0.6875)10?=?(0.1011)2?=?(0.54)8?=?(0.B)16
2)二進(jìn)制數(shù)與八進(jìn)制或十六進(jìn)制數(shù)之間的轉(zhuǎn)換
雖然在數(shù)字系統(tǒng)中使用的是二進(jìn)制數(shù),但由于二進(jìn)制數(shù)往往很長(zhǎng),不便書寫及識(shí)別,因此常使用八進(jìn)制數(shù)或十六進(jìn)制數(shù)來(lái)表示二進(jìn)制數(shù),以減少書寫的長(zhǎng)度。
由于八進(jìn)制數(shù)、十六進(jìn)制數(shù)的基數(shù)都是2n(n?=?3,4),因此1位2n進(jìn)制數(shù)所能表示的數(shù)值能恰好用n位二進(jìn)制數(shù)表示,即八(23)進(jìn)制數(shù)中的數(shù)碼0~7與3位二進(jìn)制數(shù)000~111一一對(duì)應(yīng),十六(24)進(jìn)制數(shù)中的數(shù)碼0~9、A~F與4位二進(jìn)制數(shù)0000~1111一一對(duì)應(yīng)。所以,二進(jìn)制數(shù)與2n進(jìn)制數(shù)之間可以按位進(jìn)行轉(zhuǎn)換。
(1)二進(jìn)制數(shù)轉(zhuǎn)換成八進(jìn)制、十六進(jìn)制數(shù)。將二進(jìn)制數(shù)轉(zhuǎn)換成2n(n?=?3,4)進(jìn)制數(shù)的方法是:以小數(shù)點(diǎn)為界,分別向左、右兩個(gè)方向按n位進(jìn)行分組,左右兩端不足n位的,分別用0補(bǔ)夠n位,再將每組二進(jìn)制數(shù)轉(zhuǎn)換為對(duì)應(yīng)的2n進(jìn)制數(shù)。
【例1-4】將二進(jìn)制數(shù)(11010101001101.11001)2分別轉(zhuǎn)換為八進(jìn)制數(shù)及十六進(jìn)制數(shù)。
解二進(jìn)制數(shù)011010101001101.110010
八進(jìn)制數(shù) 3
2 ??515.6 2
二進(jìn)制數(shù)0011010101001101.11001000
十六進(jìn)制數(shù) 35 ?4D?. C8
結(jié)果:(11010101001101.11001)2?=?(32515.62)8?=?(354D.C8)16
(2)八進(jìn)制數(shù)或十六進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)。將2n(n?=?3,4)進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)的方法與上面正好相反,將2n進(jìn)制數(shù)中的每一位直接轉(zhuǎn)換成n位二進(jìn)制數(shù)即可。
【例1-5】將八進(jìn)制數(shù)(7301.24)8、十六進(jìn)制數(shù)(4A3.E6)16分別轉(zhuǎn)換成二進(jìn)制數(shù)。
解八進(jìn)制數(shù) 7??3?0124
二進(jìn)制數(shù) 111011000
001010100
結(jié)果:(7301.24)8?=?(111011000001.0101)2
十六進(jìn)制數(shù)4??A?3?.??E?6
二進(jìn)制數(shù) 010010100011.11100110
結(jié)果:(4A3.E6)16?=?(10010100011.1110011)2
1.2.2碼制
1.數(shù)字的存儲(chǔ)形式
前面所提到的二進(jìn)制數(shù),沒有考慮符號(hào)問題,所指的都是無(wú)符號(hào)數(shù)。但實(shí)際上數(shù)字是有正、負(fù)符號(hào)的,那么在數(shù)字系統(tǒng)中對(duì)數(shù)字進(jìn)行運(yùn)算操作時(shí),正負(fù)符號(hào)該如何表示呢?
以數(shù)字6為例,按習(xí)慣的表示方法,正6用?+6表示,二進(jìn)制數(shù)為?+110;負(fù)6用?-6表示,二進(jìn)制數(shù)為?-110。但在數(shù)字系統(tǒng)中,符號(hào)“+”、“-”也要數(shù)字化,一般將數(shù)的最高位設(shè)為符號(hào)位,用“0”表示“+”、用“1”表示“-”,即為了區(qū)分一個(gè)符號(hào)數(shù)的“+”、“-”符號(hào)數(shù)字化前后的兩種表示方式,引入真值和機(jī)器數(shù)兩個(gè)術(shù)語(yǔ)。在二進(jìn)制數(shù)之前用“+”、“-”符號(hào)表示正、負(fù)數(shù)的這種符號(hào)數(shù)稱為真值。將符號(hào)用二進(jìn)制碼“0”、“1”表示的這種符號(hào)數(shù)稱為機(jī)器數(shù)。
機(jī)器數(shù)常用的表示方法有原碼、反碼、補(bǔ)碼等。下面以帶符號(hào)的整數(shù)為例介紹原碼、反碼及補(bǔ)碼的定義規(guī)則。
2.原碼
將數(shù)的真值形式中正數(shù)符號(hào)用符號(hào)位0表示,負(fù)數(shù)符號(hào)用符號(hào)位1表示,叫做數(shù)的原碼形式,簡(jiǎn)稱原碼。原碼的定義可用下式表示:
式中A為真值,|A|?為A的絕對(duì)值的真值,A原為A的原碼,n為二進(jìn)制數(shù)碼的位數(shù)。
例如,絕對(duì)值為9的數(shù),它的真值形式和原碼形式如下所示(用8位數(shù)碼表示,最高位為符號(hào)位):
原碼的優(yōu)點(diǎn)是易于辨認(rèn),因?yàn)樗臄?shù)值部分就是該數(shù)的絕對(duì)值,而且與真值和十進(jìn)制數(shù)的轉(zhuǎn)換十分方便。但在采用原碼進(jìn)行運(yùn)算時(shí),運(yùn)算比較復(fù)雜,例如當(dāng)兩個(gè)數(shù)相加時(shí),如果是同號(hào),則數(shù)值直接相加;如果是異號(hào),則要進(jìn)行減法運(yùn)算,首先要判定哪個(gè)數(shù)的絕對(duì)值大,絕對(duì)值大的作為被減數(shù),小的作為減數(shù),所得差值的符號(hào)與絕對(duì)值大的數(shù)符號(hào)一致。這樣就要增加判定數(shù)大小的設(shè)備,而且要用減法器來(lái)完成減法運(yùn)算,顯然增加了設(shè)備量。為了減少設(shè)備量,將減法變?yōu)榧臃ㄟ\(yùn)算,就引進(jìn)了反碼和補(bǔ)碼表示法。
3.反碼
與原碼相比較,反碼也是在數(shù)碼左邊加上一位符號(hào)位,0代表正數(shù),1代表負(fù)數(shù)。與原碼不一樣的是,反碼的數(shù)碼與它的符號(hào)位有關(guān):對(duì)于正數(shù),反碼與原碼相同;對(duì)于負(fù)數(shù),反碼的數(shù)碼由原碼逐位求反而得(不包括符號(hào)位)。反碼定義可用下式表示:
式中:A為原碼,|A|?為A的絕對(duì)值的原碼,A反為A的反碼,n為二進(jìn)制數(shù)碼的位數(shù)。例如,絕對(duì)值為9的數(shù),如用8位二進(jìn)制反碼表示,則?+9的反碼為
A反
=?A?=?00001001
-9的反碼為
A反
=?28?-?1?-?|A|
=?(100000000?-?1)?-?(00001001)=11110110
即
數(shù)真值原碼反碼
+9
+00010010
00010010
0001001
-9
-00010011
00010011
1110110
由此可看出:正數(shù)的反碼與原碼相同,負(fù)數(shù)的反碼為其絕對(duì)值的原碼按位取反。
4.補(bǔ)碼
機(jī)器數(shù)的第三種表示是補(bǔ)碼形式。對(duì)于正數(shù)來(lái)說(shuō),其原碼、反碼和補(bǔ)碼的表示是相同的;對(duì)于負(fù)數(shù)來(lái)說(shuō),表示則不相同。補(bǔ)碼的最高位仍然是符號(hào)位,0表示正數(shù),1表示負(fù)數(shù)。
補(bǔ)碼定義可用下式表示:
式中:A為原碼,|A|為A的絕對(duì)值的原碼,A補(bǔ)為A的補(bǔ)碼,n為二進(jìn)制數(shù)碼的位數(shù)。
例如,絕對(duì)值為9的數(shù),如用8位二進(jìn)制補(bǔ)碼表示,則?+9的補(bǔ)碼為
A補(bǔ)
=?A?=?00001001
-9的補(bǔ)碼為
A補(bǔ)
=?28?-?|A|=?100000000?-?00001001?=?11110111
即
數(shù)真值原碼反碼補(bǔ)碼
+9
+0001001000010010
00010010
0001001
-9
-0001001100010011
111011011110111
由此可看出:正數(shù)的補(bǔ)碼與原碼相同,負(fù)數(shù)的補(bǔ)碼為其絕對(duì)值的原碼按位取反,然后加1,即反碼加1。1.2.3常用編碼
用代碼表示信息的過程稱為編碼。在數(shù)字系統(tǒng)中,由于二進(jìn)制數(shù)用電路實(shí)現(xiàn)起來(lái)比較容易,因此在編碼中廣泛使用的是二進(jìn)制數(shù)。我們稱用二進(jìn)制數(shù)表示文字、符號(hào)等信息的過程為二進(jìn)制編碼。
常用的二進(jìn)制編碼方法如下。
1.順序二進(jìn)制編碼
將十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)所得到的二進(jìn)制編碼就是順序二進(jìn)制碼,簡(jiǎn)稱二進(jìn)制碼。其特點(diǎn)是相鄰的兩個(gè)數(shù)之間的差值為1。表1-1中列出了十進(jìn)制數(shù)0~15所對(duì)應(yīng)的二進(jìn)制碼。按上一節(jié)中所介紹的進(jìn)制數(shù)轉(zhuǎn)換法可以得到某一個(gè)數(shù)的順序二進(jìn)制編碼。表1-1順序二進(jìn)制編碼及格雷碼編碼表
2.格雷碼
順序二進(jìn)制編碼簡(jiǎn)單且容易轉(zhuǎn)換,但在相鄰的兩個(gè)編碼之間,可能同時(shí)有多個(gè)二進(jìn)制位發(fā)生變化,例如代碼0111變化為1000時(shí),4個(gè)二進(jìn)制位均發(fā)生了變化。在數(shù)字系統(tǒng)中,常常需要代碼按一定順序變化,但如果多個(gè)位同時(shí)發(fā)生變化,由于各個(gè)位變化在時(shí)間上的差異,往往會(huì)出現(xiàn)短暫的其他代碼,例如代碼0111變化為1000時(shí),可能會(huì)出現(xiàn)短暫的1111、1011等,這有可能會(huì)導(dǎo)致嚴(yán)重的電路狀態(tài)錯(cuò)誤。使用格雷碼可以避免這種錯(cuò)誤的發(fā)生。
格雷碼(GrayCode)又稱為循環(huán)碼,它的主要特點(diǎn)是相鄰兩個(gè)編碼之間只有一個(gè)位不相同,但它不夠直觀。常用的典型格雷碼編碼規(guī)則如表1-1所示。順序二進(jìn)制碼與格雷碼之間可以通過公式進(jìn)行轉(zhuǎn)換。設(shè)二進(jìn)制碼為,對(duì)應(yīng)的格雷碼為,格雷碼編碼規(guī)則可表示為
反之,典型二進(jìn)制格雷碼也可轉(zhuǎn)換成二進(jìn)制數(shù),其公式如下:
,
3.獨(dú)熱碼
只有一個(gè)二進(jìn)制位為1,其他全為0的編碼叫做獨(dú)熱碼。這種編碼方式中,編碼的二進(jìn)制位數(shù)與需要進(jìn)行編碼的狀態(tài)數(shù)相等。例如,如需對(duì)8個(gè)狀態(tài)進(jìn)行編碼,則這8個(gè)編碼分別是:00000001、00000010、00000100、00001000、00010000、00100000、01000000、10000000。獨(dú)熱碼常用于時(shí)序邏輯電路中狀態(tài)機(jī)的設(shè)計(jì)。
4.二—十進(jìn)制編碼(BCD碼)
日常生活中最常使用的是十進(jìn)制數(shù)。在數(shù)字系統(tǒng)中,為了既滿足系統(tǒng)中使用二進(jìn)制數(shù)的要求,又適應(yīng)人們使用十進(jìn)制數(shù)的習(xí)慣,需要用二進(jìn)制數(shù)來(lái)表示十進(jìn)制數(shù),即用4位二進(jìn)制數(shù)對(duì)十進(jìn)制數(shù)中的10個(gè)數(shù)符進(jìn)行編碼,簡(jiǎn)稱二—十進(jìn)制編碼,又稱BCD碼(BinaryCodedDecimal)。二—十進(jìn)制編碼有多種不同的編碼方法,也就是說(shuō)有多種不同的BCD碼,常用的有8421BCD碼、2421BCD碼、5211BCD碼、余3碼、余3格雷碼等,見表1-2。其中8421碼、2421碼、5211碼都屬于位權(quán)碼,即編碼中每1位對(duì)應(yīng)一個(gè)位權(quán)值,如8421BCD碼中,各位的位權(quán)依次是8、4、2、1,編碼1001對(duì)應(yīng)的十進(jìn)制數(shù)符是8+0+0+1=9。余3碼是由二進(jìn)制碼加3(0011)后形成的,即余3碼從二進(jìn)制碼的3開始編碼。余3格雷碼是由格雷碼加3后形成的,即余3格雷碼從格雷碼的3(0010)開始編碼。表1-2常用的二—十進(jìn)制編碼
【例1-6】用8421BCD碼對(duì)十進(jìn)制數(shù)407.81進(jìn)行編碼。
解按8421BCD碼編碼規(guī)則對(duì)十進(jìn)制數(shù)中的每個(gè)數(shù)符進(jìn)行編碼,得到
407.86?=?(010000000111.10000110)8421BCD
5.ASCII碼
前面介紹的只是對(duì)數(shù)字的編碼,在數(shù)字系統(tǒng)中,字符、文字以及一些特殊符號(hào)也都必須用二進(jìn)制代碼來(lái)表示。用于表示各種字符(包括文字、字母、數(shù)字、標(biāo)點(diǎn)符號(hào)、運(yùn)算符及其他特殊字符等)的二進(jìn)制代碼稱為字符編碼。
ASCII(AmericanStandardCodeforInformationInterchange)是美國(guó)信息交換標(biāo)準(zhǔn)代碼的簡(jiǎn)稱,是目前國(guó)際通用的字符代碼。ASCII碼常見于通信設(shè)備和計(jì)算機(jī)中,采用7位二進(jìn)制編碼,共表示27(即128)個(gè)字符,其中包括0~9十個(gè)數(shù)碼、大小寫各26個(gè)英文字母、標(biāo)點(diǎn)符號(hào)、運(yùn)算符、一些常用符號(hào)及33個(gè)控制字符。使用時(shí)通常加上第8位作為奇偶校驗(yàn)位。ASCII碼的編碼規(guī)則見表1-3。表1-3ASCII碼表
1.3數(shù)字邏輯設(shè)計(jì)基礎(chǔ)
1.3.1邏輯代數(shù)
邏輯代數(shù)是分析和設(shè)計(jì)邏輯電路的基本數(shù)學(xué)工具。邏輯代數(shù)是英國(guó)數(shù)學(xué)家喬治·布爾(GeorgeBoole)于19世紀(jì)中葉創(chuàng)立的,因此也叫布爾代數(shù)。當(dāng)時(shí),這種代數(shù)純粹是一種數(shù)學(xué)游戲,沒有任何物理與現(xiàn)實(shí)意義。直到20世紀(jì)30年代,美國(guó)人ClaudeE.Shannon在開關(guān)電路中才找到了它的應(yīng)用價(jià)值,其很快成為分析和設(shè)計(jì)開關(guān)電路的重要數(shù)學(xué)工具,故又稱為開關(guān)代數(shù)。與普通代數(shù)類似,在邏輯代數(shù)中,參與邏輯運(yùn)算的變量也用字母A、B…表示,稱為邏輯變量。每個(gè)變量的取值不是0就是1。0和1不表示數(shù)值的大小,而是代表兩種不同的邏輯狀態(tài)。
例如,用1和0分別表示是與非、真和假、有與無(wú)、電平的高與低、開關(guān)的通與斷、燈的亮與滅等。
1.基本及常用的邏輯運(yùn)算
在邏輯代數(shù)中,基本邏輯運(yùn)算有與、或、非,常用的復(fù)合邏輯運(yùn)算有與非、或非、異或等。
1)與運(yùn)算
當(dāng)決定一件事情的各個(gè)條件全部具備時(shí),這件事才會(huì)發(fā)生,這樣的因果關(guān)系稱為與邏輯關(guān)系。
如果用變量A和B分別表示決定這件事情的兩個(gè)條件,用Y表示這件事情的結(jié)果,則A、B和Y的與邏輯關(guān)系如表1-4所示。
對(duì)于A、B變量來(lái)說(shuō),如果用1表示條件成立,用0表示條件不成立;對(duì)于Y的值,如果值為1表示事情發(fā)生,值為0表示事情不發(fā)生,則表1-4可轉(zhuǎn)換為表1-5。這種使用
1和0反映邏輯關(guān)系的表格被稱為真值表。表1-4與邏輯關(guān)系表
表1-5與邏輯關(guān)系的真值表
在邏輯代數(shù)中,使用運(yùn)算符“·?”表示與邏輯關(guān)系,因而上述Y和變量A、B之間的關(guān)系被記為
Y=A·B
書寫時(shí),常省略與運(yùn)算符,寫為
Y=AB
在數(shù)字系統(tǒng)的電路圖中,使用邏輯符號(hào)來(lái)表示各種邏輯關(guān)系。圖1-7所示為與邏輯關(guān)系的邏輯符號(hào)。本書中均采用圖(a)的符號(hào)表達(dá)形式。圖1-7與邏輯符號(hào)2)或運(yùn)算
若決定一件事情的各個(gè)條件中,只要有一個(gè)條件具備,事情就會(huì)發(fā)生,則這樣的因果關(guān)系稱為或邏輯關(guān)系。
表示或邏輯關(guān)系的真值表如表1-6所示。
在邏輯代數(shù)中,使用運(yùn)算符“+”表示或邏輯關(guān)系,因而上述真值表中Y和變量A、B之間的關(guān)系被記為
Y=A+B
圖1-8所示為或邏輯關(guān)系的邏輯符號(hào)。表1-6或邏輯關(guān)系真值表
圖1-8或邏輯符號(hào)
3)非運(yùn)算
非就是反,即為否定,表示若條件成立,事件不會(huì)發(fā)生;若條件不成立,事件才發(fā)生這樣的邏輯關(guān)系。
非邏輯關(guān)系的真值表如表1-7所示。
在邏輯代數(shù)中,在變量或表達(dá)式上加反號(hào)“-”表示非邏輯關(guān)系,因而上述真值表中Y和變量A之間的關(guān)系被記為
圖1-9所示為非邏輯關(guān)系的邏輯符號(hào)。表1-7非邏輯關(guān)系真值表圖1-9非邏輯符號(hào)
4)與非、或非及異或運(yùn)算
在邏輯代數(shù)中,與非、或非、異或、異或非運(yùn)算都屬于復(fù)合邏輯運(yùn)算,即由2個(gè)或2個(gè)以上邏輯運(yùn)算組成,它們的表達(dá)式分別為
與非運(yùn)算
或非運(yùn)算
異或運(yùn)算
異或非(同或)運(yùn)算
其中異或運(yùn)算使用運(yùn)算符“
”,同或運(yùn)算符為“⊙”。
這4種復(fù)合邏輯關(guān)系的真值表如表1-8所示?!袯表1-8與非、或非、異或、異或非邏輯關(guān)系真值表圖1-10所示為這4種復(fù)合邏輯關(guān)系的邏輯符號(hào)。
注:在邏輯圖中,邏輯符號(hào)輸出端的小圓圈所表示的含義為反相輸出,即在原有邏輯關(guān)系的基礎(chǔ)上再進(jìn)行非邏輯運(yùn)算,如圖1-10中的(a)、(b)、(d)邏輯符號(hào)。圖1-104種復(fù)合邏輯關(guān)系的邏輯符號(hào)
2.邏輯運(yùn)算的公式及定理
(1)常量之間的關(guān)系。
因?yàn)槎颠壿嬛兄挥?和1兩個(gè)常量,所以常量之間的邏輯關(guān)系只有以下幾種:
(2)變量和常量間的關(guān)系。
(3)定理。
交換律
結(jié)合律
分配律
德·摩根定理
3.一些常用公式
利用以上公式及定理,可以推導(dǎo)出如下公式。
(1)。
證明:
(2)。
證明:
(3)。
證明:1.3.2邏輯函數(shù)的表示方法
前面提到的Y=A·B、Y=A+B、等式子稱為邏輯表達(dá)式,式中A、B稱為輸入邏輯變量,Y稱為輸出邏輯變量。在邏輯變量中,形如A、B的變量稱為原變量,形如、的變量稱為反變量。在邏輯關(guān)系中,如果輸入邏輯變量A、B、…的取值確定后,輸出邏輯變量Y的值也被唯一地確定了,那么就稱Y是A、B、…的邏輯函數(shù),并寫為
Y=F(A,B,…)
常用的表示邏輯函數(shù)的方法有邏輯表達(dá)式、真值表、邏輯圖、卡諾圖等。
1.邏輯表達(dá)式
用與、或、非等運(yùn)算表示函數(shù)中各個(gè)變量之間邏輯關(guān)系的代數(shù)式子,稱為邏輯表達(dá)式,如。
邏輯表達(dá)式的優(yōu)點(diǎn)是書寫簡(jiǎn)潔、方便,可利用公式和定理進(jìn)行運(yùn)算和變換。其缺點(diǎn)是當(dāng)邏輯函數(shù)比較復(fù)雜時(shí),很難直接從變量的取值情況看出函數(shù)的值,不夠直觀。
2.真值表
把變量的各種可能取值與相應(yīng)的函數(shù)值用表格的形式一一列舉出來(lái),這種表格就稱為真值表。真值表可以直觀明了地反映出函數(shù)輸入、輸出變量之間的邏輯關(guān)系,它和邏輯表達(dá)式之間可以直接進(jìn)行轉(zhuǎn)換。
列函數(shù)真值表的方法是:在真值表的左邊列出邏輯變量取值的所有組合,由于1個(gè)變量有0、1兩種取值,2個(gè)變量有00、01、10、11四種取值,依此類推,n個(gè)變量有2n種變量取值,為了不漏掉任何一種取值組合,邏輯變量的取值應(yīng)按順序二進(jìn)制碼的順序排列。真值表右邊列出對(duì)應(yīng)每一種邏輯變量取值組合的邏輯函數(shù)值。
【例1-7】列出函數(shù)的真值表。
解由于函數(shù)有A、B、C三個(gè)輸入變量,因而有8種不同的取值組合,分別是000、001、010、011、100、101、110、111,將這8種取值組合填入真值表中左邊3列;然后計(jì)算每一種取值組合所對(duì)應(yīng)的、及的值;最后計(jì)算Y的值,分別填入真值表相應(yīng)的列中。結(jié)果如表1-9所示。表1-9函數(shù)真值表
真值表直觀明了,當(dāng)輸入變量的取值確定時(shí),可從表中查出相應(yīng)的函數(shù)值,是一種十分有用的邏輯工具。在許多集成電路手冊(cè)中,常常給出電路的真值表,以反映其功能。在進(jìn)行邏輯電路的設(shè)計(jì)時(shí),設(shè)計(jì)的第一步往往就是通過分析電路所需的邏輯功能列出真值表。
真值表的缺點(diǎn)是難以用邏輯代數(shù)的公式和定理進(jìn)行運(yùn)算和變換,并且當(dāng)變量比較多時(shí),列真值表會(huì)變得十分繁瑣。
3.卡諾圖
卡諾圖是1953年由美國(guó)工程師卡諾(Karnaugh)提出的一種描述邏輯函數(shù)的特殊方法??ㄖZ圖實(shí)質(zhì)上是真值表的方格圖表示方式,也就是將真值表中每一種變量取值組合對(duì)應(yīng)的函數(shù)值填入到卡諾圖的每一個(gè)方格中。有關(guān)卡諾圖的使用將在下一小節(jié)中介紹。
使用卡諾圖的目的在于化簡(jiǎn)邏輯函數(shù)。由于卡諾圖是用幾何相鄰形象直觀地表示了函數(shù)各個(gè)最小項(xiàng)在邏輯上的相鄰性,因此便于求出邏輯函數(shù)的最簡(jiǎn)與或表達(dá)式??ㄖZ圖的缺點(diǎn)是只適用于表示和化簡(jiǎn)邏輯變量個(gè)數(shù)比較少的邏輯函數(shù),當(dāng)變量個(gè)數(shù)超過6個(gè)時(shí),不適合于用卡諾圖化簡(jiǎn)。此外,卡諾圖也不便于用公式和定理進(jìn)行運(yùn)算和變換。
4.邏輯圖
由于每一種基本和常用的邏輯關(guān)系都有其相應(yīng)的邏輯符號(hào),因此,邏輯函數(shù)也可以通過圖形的方式將邏輯符號(hào)相互連接,從而反映出各個(gè)變量之間的運(yùn)算關(guān)系,這就是邏輯圖(即用邏輯門電路符號(hào)組成的電路圖)。邏輯圖與邏輯表達(dá)式有著十分簡(jiǎn)單而準(zhǔn)確的對(duì)應(yīng)關(guān)系。
【例1-8】畫出函數(shù)的邏輯圖。
解由表達(dá)式可以看到,函數(shù)中有2個(gè)非運(yùn)算、2個(gè)與運(yùn)算、1個(gè)異或運(yùn)算、2個(gè)或運(yùn)算,根據(jù)表達(dá)式內(nèi)容,將每一個(gè)運(yùn)算用對(duì)應(yīng)的邏輯符號(hào)表示,可逐級(jí)畫出函數(shù)的邏輯圖,如圖1-11所示,圖中最右邊的或運(yùn)算采用了3輸入的或運(yùn)算邏輯符號(hào)。圖1-11函數(shù)的邏輯圖邏輯圖中的邏輯符號(hào),都有與之對(duì)應(yīng)的被稱之為門電路的實(shí)際電路器件存在,所以邏輯圖比較接近工程實(shí)際。在實(shí)際應(yīng)用中,當(dāng)要分析了解某個(gè)數(shù)字電路的邏輯功能時(shí),需要從邏輯圖入手,通過將邏輯圖轉(zhuǎn)換為邏輯表達(dá)式,最終獲得邏輯函數(shù)的真值表;另外,在制作數(shù)字設(shè)備時(shí),常常也要通過邏輯設(shè)計(jì),畫出邏輯圖,最終再把邏輯圖變成實(shí)際電路。
邏輯圖的缺點(diǎn)是不能用公式和定理進(jìn)行運(yùn)算和變換,所表示的邏輯關(guān)系不如真值表和卡諾圖直觀。1.3.3邏輯函數(shù)的化簡(jiǎn)
在邏輯設(shè)計(jì)中,邏輯函數(shù)的化簡(jiǎn)是十分重要的課題。化簡(jiǎn)的方法有代數(shù)法和卡諾圖法兩種。
我們從實(shí)際問題中概括出來(lái)的邏輯函數(shù),需要落實(shí)到實(shí)現(xiàn)該函數(shù)的邏輯圖,最后才能轉(zhuǎn)換為電路圖實(shí)現(xiàn)其功能。由于邏輯圖與邏輯函數(shù)有直接關(guān)系,因此函數(shù)式越簡(jiǎn)單,實(shí)現(xiàn)該邏輯函數(shù)式所需要的門電路數(shù)量就越少,這樣既可以節(jié)省器材,又可提高電路的可靠性。通常,從邏輯問題概括出來(lái)的邏輯函數(shù)式不一定是最簡(jiǎn)的。例如函數(shù)
,直接由該函數(shù)式得到的邏輯電路圖如圖1-12所示,此圖用了5個(gè)與門、3個(gè)或門和3個(gè)非門。但如果將函數(shù)化簡(jiǎn),化簡(jiǎn)后的函數(shù)式為F?=?AC?+B。顯然,要實(shí)現(xiàn)此邏輯函數(shù)只需要兩個(gè)門,如圖1-13所示。
由此可以看到,函數(shù)化簡(jiǎn)是為了簡(jiǎn)化電路,以便用最少的門實(shí)現(xiàn)它們,從而降低系統(tǒng)的成本,提高電路的可靠性。
在了解函數(shù)化簡(jiǎn)方法之前,首先應(yīng)掌握最小項(xiàng)及標(biāo)準(zhǔn)與或式的概念。圖1-12F原函數(shù)的邏輯圖圖1-13F函數(shù)化簡(jiǎn)后的邏輯圖
1.最小項(xiàng)及標(biāo)準(zhǔn)與或式
同一個(gè)邏輯函數(shù),其與或表達(dá)式的形式是多種多樣的。例如下面3個(gè)函數(shù)表達(dá)式:
它們的真值表都相同,均為如表1-10所示的真值表,因此它們是相等的。表1-10函數(shù)真值表
如果將3個(gè)表達(dá)式都變換成每一個(gè)乘積項(xiàng)都包含所有變量的與或式形式,則可以看到,最終變換的結(jié)果都是相同的。
在邏輯函數(shù)的表達(dá)式中,形如
的表達(dá)式稱為與或式,其特點(diǎn)是先進(jìn)行與運(yùn)算,再進(jìn)行或運(yùn)算。
在與或式中,形如
的表達(dá)式稱為標(biāo)準(zhǔn)與或式。標(biāo)準(zhǔn)與或式除了具有與或式的特點(diǎn)外,其主要特征是與或式中的每一個(gè)乘積項(xiàng)都是最小項(xiàng),或者說(shuō),標(biāo)準(zhǔn)與或式就是最小項(xiàng)之和的表達(dá)式。
顯然,在同一個(gè)邏輯函數(shù)中,其表達(dá)式的形式是多種多樣的,但標(biāo)準(zhǔn)與或式卻是唯一的。那么,什么是最小項(xiàng)呢?
在邏輯函數(shù)中,最小項(xiàng)就是包含著函數(shù)所有變量的乘積項(xiàng),而且每一變量在該乘積項(xiàng)中均以原變量或反變量的形式出現(xiàn)且僅出現(xiàn)一次。
如果一個(gè)邏輯函數(shù)有n個(gè)變量,則有2n個(gè)最小項(xiàng)。例如:一個(gè)變量A有2個(gè)最小項(xiàng):,A;兩個(gè)變量AB有4個(gè)最小項(xiàng):;三個(gè)變量A、B、C有8個(gè)最小項(xiàng):
。以此類推,四個(gè)變量A、B、C、D共有24?=?16個(gè)最小項(xiàng),n個(gè)變量有2n個(gè)最小項(xiàng)。最小項(xiàng)的性質(zhì)是:在真值表中,每一個(gè)最小項(xiàng)都與一組變量取值一一對(duì)應(yīng),所有最小項(xiàng)對(duì)應(yīng)全部變量取值。表1-11中顯示了3個(gè)變量的函數(shù)最小項(xiàng)與變量取值之間的對(duì)應(yīng)關(guān)系。顯然,變量取值中的1與原變量對(duì)應(yīng),變量取值中的0與反變量對(duì)應(yīng),即變量取值000與對(duì)應(yīng),變量取值101與
對(duì)應(yīng)。
由于標(biāo)準(zhǔn)與或式是最小項(xiàng)之和的形式,而最小項(xiàng)與函數(shù)取值之間有一一對(duì)應(yīng)的關(guān)系,因此,標(biāo)準(zhǔn)與或式也可以直接從真值表中得到。例如,在表1-10的真值表中,使輸出變量Y的值為1的輸入變量的取值有001、010、011、101、110,其對(duì)應(yīng)的最小項(xiàng)是,顯然只要其中一個(gè)最小項(xiàng)的運(yùn)算值為1,函數(shù)的值為1。由此可寫出標(biāo)準(zhǔn)與或式如下:
標(biāo)準(zhǔn)與或式在書寫時(shí)往往比較長(zhǎng)且繁瑣,為簡(jiǎn)化書寫方式,常將最小項(xiàng)以編號(hào)的形式表示。最小項(xiàng)的編號(hào)就是它所對(duì)應(yīng)變量取值組合的十進(jìn)制數(shù)。
例如,最小項(xiàng),對(duì)應(yīng)變量的取值組合為二進(jìn)制數(shù)001,二進(jìn)制數(shù)001對(duì)應(yīng)的十進(jìn)制數(shù)是1,則該最小項(xiàng)的編號(hào)是1,該最小項(xiàng)記做m1。顯然最小項(xiàng)可分別用m2、m3、m5、m6表示。表1-113變量函數(shù)最小項(xiàng)的真值表
標(biāo)準(zhǔn)與或式可表示為
或?qū)懗?/p>
【例1-9】寫出邏輯函數(shù)
的標(biāo)準(zhǔn)與或式。
解
方法一:通過公式和定理,變換表達(dá)式得到:方法二:先列出函數(shù)真值表,再寫出標(biāo)準(zhǔn)與或式。該函數(shù)的真值表如表1-12所示。
由真值表可直接寫出標(biāo)準(zhǔn)與或式如下:表1-12函數(shù)真值表
【例1-10】寫出函數(shù)的標(biāo)準(zhǔn)與或式。
解利用公式和定理,將函數(shù)表達(dá)式進(jìn)行變換:
2.邏輯函數(shù)的最簡(jiǎn)與或式
邏輯函數(shù)的最簡(jiǎn)表達(dá)式指的是邏輯表達(dá)式最簡(jiǎn)單、運(yùn)算量最少的表達(dá)式。由于運(yùn)算量越少,實(shí)現(xiàn)邏輯關(guān)系所需要的門電路就越少,成本降低,可靠性相對(duì)就高,因此在設(shè)計(jì)邏輯電路時(shí),需要求出邏輯函數(shù)的最簡(jiǎn)表達(dá)式。
一個(gè)函數(shù)的最簡(jiǎn)表達(dá)式,根據(jù)變量之間運(yùn)算關(guān)系的不同,分為最簡(jiǎn)與或式、最簡(jiǎn)與非-與非式、最簡(jiǎn)或與式、最簡(jiǎn)或非-或非式等。關(guān)于它們的定義如下:
最簡(jiǎn)與或式:是指乘積項(xiàng)最少,每個(gè)乘積項(xiàng)中變量的個(gè)數(shù)也最少的與或表達(dá)式,例如。最簡(jiǎn)與非-與非式:是指只有與非運(yùn)算,同時(shí)非號(hào)個(gè)數(shù)最少,每個(gè)非號(hào)下面的乘積項(xiàng)中變量的個(gè)數(shù)也最少的邏輯表達(dá)式,例如。
最簡(jiǎn)或與式:是指先進(jìn)行或運(yùn)算,再進(jìn)行與運(yùn)算,同時(shí)與運(yùn)算的次數(shù)最少,或運(yùn)算中變量的個(gè)數(shù)也最少的邏輯表達(dá)式,例如。
最簡(jiǎn)或非-或非式:是指只有或非運(yùn)算,同時(shí)非號(hào)個(gè)數(shù)最少,每個(gè)非號(hào)下面的或運(yùn)算中變量的個(gè)數(shù)也最少的邏輯表達(dá)式,例如。
注:以上運(yùn)算中不包括單個(gè)變量上面的非號(hào),因?yàn)橐褜⑵洚?dāng)做反變量。
在以上最簡(jiǎn)表達(dá)式中,最簡(jiǎn)與或式是核心,因?yàn)榭梢杂伤D(zhuǎn)換為其他最簡(jiǎn)表達(dá)式。
【例1-11】求邏輯函數(shù)
的最簡(jiǎn)表達(dá)式。
解先求出最簡(jiǎn)與或式:
將最簡(jiǎn)與或式取兩次反,去掉下面的反號(hào),得到最簡(jiǎn)與非-與非式:將最簡(jiǎn)與非-與非式中大反號(hào)下面的函數(shù)式化簡(jiǎn),再去掉大反號(hào),可得到最簡(jiǎn)或與式:
將最簡(jiǎn)或與式取兩次反,去掉下面的反號(hào),得到最簡(jiǎn)或非-或非式:
3.利用公式和定理化簡(jiǎn)邏輯函數(shù)
邏輯函數(shù)公式化簡(jiǎn)的原理就是反復(fù)使用邏輯代數(shù)的基本公式定理和常用公式,消去函數(shù)式中多余的乘積項(xiàng)和多余的因子,以求得函數(shù)式的最簡(jiǎn)形式。需要說(shuō)明的是,同一個(gè)邏輯函數(shù),有時(shí)候可能會(huì)有復(fù)雜程度相同的多個(gè)最簡(jiǎn)表達(dá)式,這和化簡(jiǎn)時(shí)所使用的方法有關(guān)。公式化簡(jiǎn)法沒有固定的步驟,現(xiàn)將經(jīng)常使用的方法歸納如下。
(1)并項(xiàng)法。運(yùn)用公式:。
【例1-12】試用并項(xiàng)法化簡(jiǎn)下列邏輯函數(shù):
解
(2)吸收法。運(yùn)用公式:A?+?AB?=?A。
【例1-13】試用吸收法化簡(jiǎn)下列邏輯函數(shù):
解
(3)消項(xiàng)法。運(yùn)用公式:
【例1-14】試用消項(xiàng)法化簡(jiǎn)下列邏輯函數(shù):
解
(4)消因子法。運(yùn)用公式:。
【例1-15】試用消因子法化簡(jiǎn)下列邏輯函數(shù):
解
(5)配項(xiàng)法。運(yùn)用公式、及,適當(dāng)配項(xiàng),從而達(dá)到進(jìn)一步化簡(jiǎn)的目的。
【例1-16】試化簡(jiǎn)下列邏輯函數(shù):
解
在化簡(jiǎn)復(fù)雜的邏輯函數(shù)時(shí),往往需要交替綜合運(yùn)用上述方法,才能得到最后的化簡(jiǎn)結(jié)果。而且,能否較快地獲得滿意結(jié)果,與對(duì)邏輯代數(shù)公式、定理的熟悉程度和運(yùn)算技巧有關(guān)。
【例1-17】試化簡(jiǎn)邏輯函數(shù)。
解
4.卡諾圖的構(gòu)成
卡諾圖是一種平面方格圖,每個(gè)小方格代表一個(gè)最小項(xiàng),故又稱為最小項(xiàng)方格圖。
顯然:
1個(gè)變量邏輯函數(shù)的卡諾圖有2個(gè)最小項(xiàng),就有2個(gè)方格。
2個(gè)變量邏輯函數(shù)的卡諾圖有4個(gè)最小項(xiàng),就有4個(gè)方格。
3個(gè)變量邏輯函數(shù)的卡諾圖有8個(gè)最小項(xiàng),就有8個(gè)方格。
n個(gè)變量邏輯函數(shù)的卡諾圖有2n個(gè)最小項(xiàng),就有2n個(gè)方格。
圖1-14所示為1~5個(gè)變量的邏輯函數(shù)的卡諾圖。畫卡諾圖時(shí),首先應(yīng)根據(jù)變量的個(gè)數(shù)確定卡諾圖的規(guī)模,設(shè)定變量的排列順序,然后在相應(yīng)的行列前面按格雷碼的順序排列變量的取值。例如5個(gè)變量的卡諾圖,應(yīng)畫32個(gè)格式,即4行8列,行由A、B變量控制,列由C、D、E變量控制,行的左端A、B變量的取值按格雷碼的順序排列為00、01、11、10,列的頂端C、D、E變量的取值按格雷碼的順序排列為000、001、011、010、110、111、101、100,卡諾圖中每一個(gè)格子根據(jù)其變量的取值對(duì)應(yīng)一個(gè)最小項(xiàng),如圖1-14(e)所示。圖1-141~5個(gè)變量邏輯函數(shù)的卡諾圖卡諾圖的特點(diǎn)是:利用卡諾圖中變量最小項(xiàng)在幾何位置上的相鄰關(guān)系表示最小項(xiàng)在邏輯上的相鄰關(guān)系??ㄖZ圖中,凡是幾何相鄰的最小項(xiàng),它們?cè)谶壿嬌弦捕际窍噜彽?。之所以采用格雷碼,就是為了保證幾何相鄰即邏輯相鄰這個(gè)特點(diǎn)。
所謂幾何相鄰指的是以下三種情況:
①相接,也就是緊挨著的最小項(xiàng)方格。凡是緊挨著的最小項(xiàng),都是幾何相鄰。例如圖1-15中的m2和m6、m15和m31最小項(xiàng)。
②相對(duì),也就是行列兩頭的最小項(xiàng)。凡是行、列兩頭相對(duì)的最小項(xiàng),都是幾何相鄰,例如圖1-15中的m1和m17、m24和m28最小項(xiàng)。圖1-15最小項(xiàng)的幾個(gè)相鄰性③相重,指的是卡諾圖對(duì)折后位置重合的最小項(xiàng)。凡是具有這一特征的最小項(xiàng),也都是幾何相鄰,例如圖1-15中的m1和m5、m11和m15最小項(xiàng)。
所謂邏輯相鄰指的是兩個(gè)最小項(xiàng)中,只有一個(gè)變量形式不同,其余都相同。例如3個(gè)變量的最小項(xiàng)和,這兩個(gè)最小項(xiàng)只有B變量的形式不同,其余都相同,那么它們是邏輯相鄰的。凡是邏輯相鄰的最小項(xiàng)都可以合并起來(lái),消去變量,如,消去了B變量。在圖1-15中:
m2和m6,即和最小項(xiàng),它們是邏輯相鄰的;
m24和m28,即和最小項(xiàng),它們是邏輯相鄰的;
m11和m15,即和最小項(xiàng),它們也是邏輯相鄰的。
顯然,卡諾圖中幾何相鄰的最小項(xiàng)一定邏輯相鄰,而邏輯相鄰最小項(xiàng)能夠合并起來(lái)消去變量。因此,幾何相鄰的最小項(xiàng)可以合并起來(lái)消去變量,這就是卡諾圖的化簡(jiǎn)作用。
卡諾圖最大的缺點(diǎn),就是當(dāng)函數(shù)變量多于六個(gè)時(shí),不僅畫起來(lái)非常麻煩,而且其優(yōu)點(diǎn)也不再顯現(xiàn),已無(wú)實(shí)用價(jià)值。
5.用卡諾圖表示邏輯函數(shù)
用卡諾圖表示邏輯函數(shù)時(shí),可在函數(shù)與或表達(dá)式或者真值表的基礎(chǔ)上,按以下步驟進(jìn)行:
(1)根據(jù)邏輯函數(shù)中變量的個(gè)數(shù)畫出卡諾圖的方格,分配好變量,并按格雷碼順序在行、列的開頭處寫出變量的取值。
(2)將表達(dá)式中每一個(gè)乘積項(xiàng)所包含的最小項(xiàng)在卡諾圖中相應(yīng)的最小項(xiàng)位置填1,剩下的填0或不填,則可得到函數(shù)的卡諾圖。如果是利用真值表畫卡諾圖,則是將真值表中輸出值為1的最小項(xiàng)在卡諾圖中相應(yīng)的最小項(xiàng)位置填1,其余的填0或不填。
【例1-18】畫出如表1-13所示真值表對(duì)應(yīng)的卡諾圖。
解由于真值表中的每一行變量取值對(duì)應(yīng)一個(gè)最小項(xiàng),因此直接將真值表中的輸出值填入卡諾圖即可,如圖1-16所示。表1-13函數(shù)真值表
圖1-16例1-18卡諾圖
【例1-19】畫出函數(shù)
的卡諾圖。
解(1)首先畫出3變量邏輯函數(shù)的卡諾圖方格。
(2)將表達(dá)式中所包含的最小項(xiàng)填入卡諾圖中。由于函數(shù)表達(dá)式是標(biāo)準(zhǔn)與或式,即
則在卡諾圖中的m1、m3、m6、m7位置填1,其余填0,即可得到函數(shù)的卡諾圖,如圖1-17所示。圖1-17例1-19的卡諾圖
【例1-20】畫出函數(shù)的卡諾圖。
解(1)首先畫出4變量邏輯函數(shù)的卡諾圖方格。
(2)將表達(dá)式中所包含的最小項(xiàng)填入卡諾圖中。由于函數(shù)表達(dá)式是一般與或式,因此應(yīng)分別找出表達(dá)式中每一個(gè)乘積項(xiàng)所包含的所有最小項(xiàng):
乘積項(xiàng)ABCD:在ABCD值為1111的方格中填1,即m15;
乘積項(xiàng):在A?=
0、CD?=
01的對(duì)應(yīng)方格中填1,即m1、m5;
乘積項(xiàng):在CD?=
10的對(duì)應(yīng)方格中填1,即m2、m6、m14、m10;乘積項(xiàng):在B?=
0、CD?=
11的對(duì)應(yīng)方格中填1,即m3、m11;
乘積項(xiàng):在B?=
1、C?=
0的對(duì)應(yīng)方格中填1,即m4、m5、m12、m13。
其余的格子填0或不填,結(jié)果如圖1-18所示。圖1-18例1-20的卡諾圖
6.利用卡諾圖化簡(jiǎn)邏輯函數(shù)
在變量卡諾圖中,凡是邏輯相鄰的最小項(xiàng)均可合并,合并時(shí)可消去有關(guān)變量??偨Y(jié)起來(lái)有如下規(guī)律:
兩個(gè)最小項(xiàng)合并成一項(xiàng)時(shí),可消去一個(gè)變量;
四個(gè)最小項(xiàng)合并成一項(xiàng)時(shí),可消去兩個(gè)變量;
八個(gè)最小項(xiàng)合并成一項(xiàng)時(shí),可消去三個(gè)變量;
即2n個(gè)最小項(xiàng)合并成一項(xiàng)時(shí),可消去n個(gè)變量。
圖1-19~圖1-21中,分別畫出了兩個(gè)、四個(gè)、八個(gè)最小項(xiàng)合并成一項(xiàng)的一些情況。通過仔細(xì)觀察圖中的合并規(guī)律,可得到:合并后所消去的變量一定是那些在合并包圍圈中變量取值不一致的變量,所保留的一定是合并包圍圈中變量取值一致的變量。在書寫合并包圍圈所對(duì)應(yīng)的表達(dá)式時(shí),應(yīng)按照變量取值為1時(shí)寫成原變量、變量取值為0時(shí)寫成反變量的規(guī)則書寫。圖1-19兩個(gè)最小項(xiàng)的合并圖1-20四個(gè)最小項(xiàng)的合并圖1-21八個(gè)最小項(xiàng)的合并利用卡諾圖化簡(jiǎn)邏輯函數(shù)的步驟如下:
(1)畫出邏輯函數(shù)的卡諾圖;
(2)為幾何相鄰的最小項(xiàng)畫包圍圈;
(3)寫出每一個(gè)包圍圈對(duì)應(yīng)的乘積項(xiàng)表達(dá)式;
(4)將所有寫出的乘積項(xiàng)表達(dá)式用“+”號(hào)連接,寫出最簡(jiǎn)與或式。
在上述步驟中,顯然為最小項(xiàng)畫包圍圈是最重要的,在畫包圍圈時(shí),應(yīng)注意以下原則:
(1)包圍圈中只能包圍那些值為1的最小項(xiàng),每個(gè)包圍圈中只能包含2n個(gè)最小項(xiàng);
(2)包圍圈應(yīng)盡可能大,這樣才能消去更多變量,使對(duì)應(yīng)的乘積項(xiàng)表達(dá)式簡(jiǎn)單;
(3)包圍圈的數(shù)量應(yīng)盡可能的少,這樣才能使最終的表達(dá)式中或運(yùn)算最少;
(4)最小項(xiàng)可重復(fù)被圈,但應(yīng)保證每一個(gè)圈中至少有一個(gè)新的、未被包圍的最小項(xiàng);
(5)畫完包圍圈后,應(yīng)反復(fù)檢查,去掉多余的包圍圈。為避免重復(fù)畫圈,畫包圍圈時(shí),應(yīng)盡可能從只有較少合并方式的最小項(xiàng)圈起。
【例1-21】化簡(jiǎn)。
解(1)畫出邏輯函數(shù)的卡諾圖,將乘積項(xiàng)、
、、所對(duì)應(yīng)的最小項(xiàng)在卡諾圖中填入1,其余不填,如圖1-22所示。
(2)在卡諾圖中為幾何相鄰的最小項(xiàng)畫包圍圈,如圖1-23所示。
(3)寫出每一個(gè)包圍圈對(duì)應(yīng)的乘積項(xiàng)表達(dá)式,如圖1-23所示。
(4)將所有寫出的乘積項(xiàng)表達(dá)式用“+”號(hào)連接,寫出最簡(jiǎn)與或式,化簡(jiǎn)結(jié)果是圖1-22例1-21的卡諾圖表示圖1-23例1-21的化簡(jiǎn)過程
【例1-22】用卡諾圖化簡(jiǎn)邏輯函數(shù)
。
解(1)畫出4變量邏輯函數(shù)的卡諾圖。由于該函數(shù)表達(dá)式為標(biāo)準(zhǔn)與或式,因此直接將表達(dá)式中的最小項(xiàng)填入卡諾圖中,如圖1-24所示。
(2)為幾何相鄰的最小項(xiàng)畫包圍圈,如圖1-25所示。
(3)寫出每一個(gè)包圍圈對(duì)應(yīng)的乘積項(xiàng)表達(dá)式,如圖1-25所示。
(4)寫出最簡(jiǎn)與或式。由卡諾圖可寫出最簡(jiǎn)與或表達(dá)式如下:圖1-24例1-22的卡諾圖表示圖1-25例1-22的化簡(jiǎn)過程
7.具有約束的邏輯函數(shù)的化簡(jiǎn)
(1)邏輯函數(shù)的無(wú)關(guān)項(xiàng)。日常生活中許多具體的邏輯函數(shù),輸入變量的取值受一定條件限制,這種對(duì)輸入變量取值所加的限制稱為約束。
例如,用三個(gè)輸入變量A、B、C分別表示電梯的上升、下降和停止這三種工作狀態(tài),并規(guī)定A?=
1表示電梯處在上升的工作狀態(tài),B?=
1表示電梯處在下降的工作狀態(tài),C?=
1表示電梯處在停止的工作狀態(tài)。因電梯在任何時(shí)候只能處在一個(gè)特定的工作狀態(tài)下,所以,不允許同時(shí)有兩個(gè)或兩個(gè)以上的輸入變量為1。即,ABC的取值只能是100、010、001當(dāng)中的某一種,而不能出現(xiàn)000、011、101、110、111中的任何一種,因此A、B、C是一組具有約束的變量。在具有約束的邏輯關(guān)系中,不能出現(xiàn)的變量取值所對(duì)應(yīng)的最小項(xiàng)稱為約束項(xiàng)。在上例中,不能出現(xiàn)的變量取值有000、011、101、110、111,則對(duì)應(yīng)的約束項(xiàng)為、、、、。
在具有約束的邏輯函數(shù)中,通常用約束條件來(lái)描述約束的具體內(nèi)容。由于每一個(gè)約束項(xiàng)對(duì)應(yīng)的變量取值都是不能出現(xiàn)的,因此可用約束項(xiàng)恒等于0來(lái)表示約束條件。故上例中約束條件可寫為或?qū)懗苫蚧蛴袝r(shí)還會(huì)遇到某些最小項(xiàng)的取值是1或是0,對(duì)邏輯函數(shù)最終的邏輯狀態(tài)沒有影響的情況,具有這種特性的最小項(xiàng)稱為邏輯函數(shù)的任意項(xiàng)。
邏輯函數(shù)的約束項(xiàng)和任意項(xiàng)統(tǒng)稱為無(wú)關(guān)項(xiàng)。無(wú)關(guān)項(xiàng)在真值表或卡諾圖中用符號(hào)“×”來(lái)表示。
(2)無(wú)關(guān)項(xiàng)在邏輯函數(shù)化簡(jiǎn)中的作用。當(dāng)邏輯函數(shù)帶有無(wú)關(guān)項(xiàng)時(shí),因?yàn)闊o(wú)關(guān)項(xiàng)的值取“1”或是“0”對(duì)邏輯函數(shù)最終的邏輯狀態(tài)沒有影響,所以,可根據(jù)需要選擇合適的無(wú)關(guān)項(xiàng),幫助邏輯函數(shù)進(jìn)行化簡(jiǎn)。
對(duì)帶無(wú)關(guān)項(xiàng)的邏輯函數(shù)進(jìn)行化簡(jiǎn)時(shí),可將合并到包圍圈中的無(wú)關(guān)項(xiàng)視為1,包圍圈以外的無(wú)關(guān)項(xiàng)視為0進(jìn)行化簡(jiǎn)。究竟把無(wú)關(guān)項(xiàng)作為1還是作為0,應(yīng)以得到的包圍圈最大且包圍圈個(gè)數(shù)最少為原則。下面舉例說(shuō)明帶約束關(guān)系的邏輯函數(shù)式化簡(jiǎn)方法。
【例1-23】用卡諾圖化簡(jiǎn)具有約束關(guān)系的邏輯函數(shù)
。已知約束條件為
。
解該邏輯函數(shù)的卡諾圖如圖1-26所示。如按圖1-26所示的圓圈合并最小項(xiàng),可得最簡(jiǎn)與或式為
利用無(wú)關(guān)項(xiàng)的性質(zhì),取無(wú)關(guān)項(xiàng)中的為1,其余的兩項(xiàng)為0,可得如圖1-27所示的卡諾圖。按圖1-27所示的包圍圈合并最小項(xiàng),可得最簡(jiǎn)與或式為
由上面化簡(jiǎn)的過程可見,合理設(shè)置無(wú)關(guān)項(xiàng)的值對(duì)化簡(jiǎn)邏輯函數(shù)有幫助,有可能達(dá)到更為簡(jiǎn)單的結(jié)果。圖1-26例1-23的卡諾圖圖1-27無(wú)關(guān)項(xiàng)確定后的卡諾圖
【例1-24】用卡諾圖化簡(jiǎn)具有約束關(guān)系的邏輯函數(shù)。
解該邏輯函數(shù)表達(dá)式中第一個(gè)求和號(hào)表示五個(gè)最小項(xiàng)的和,第二個(gè)求和號(hào)表示約束條件,對(duì)應(yīng)的最小項(xiàng)為約束項(xiàng)。在卡諾圖中最小項(xiàng)m0、m1、m2、m8、m9的位置填“1”,約束項(xiàng)m10、m11、m12、m13、m14、m15在卡諾圖中填“×”,如圖1-28所示,按圖中所示的包圍圈合并最小項(xiàng),可得最簡(jiǎn)與或式為
Y(A,B,C,D)
注意:圖中虛框所畫的包圍圈是多余的,因?yàn)槿χ胁]有包含新的沒被其他圈包圍的最小項(xiàng)。圖1-28例1-24的卡諾圖1.3.4邏輯門電路
前面介紹了與、或、非三種基本邏輯運(yùn)算以及與非、或非、異或、異或非等常用的復(fù)合邏輯運(yùn)算。在數(shù)字系統(tǒng)中,能實(shí)現(xiàn)基本和常用邏輯運(yùn)算的電子電路,稱為邏輯門電路。能實(shí)現(xiàn)與運(yùn)算的邏輯門電路稱為與門,能實(shí)現(xiàn)或運(yùn)算的邏輯門電路稱為或門,能實(shí)現(xiàn)非運(yùn)算的邏輯門電路稱為非門或反相器。此外,還有與非門、或非門、異或門、異或非門等。
組成門電路的基本半導(dǎo)體元器件有二極管、三極管及金屬氧化物半導(dǎo)體(MetalOxideSemiconductor,MOS)管,它們?cè)谝欢l件下均具有導(dǎo)通及截止兩種狀態(tài),可實(shí)現(xiàn)電子開關(guān)的功能。本節(jié)簡(jiǎn)單介紹門電路的基本構(gòu)成。
1.簡(jiǎn)單的分立元件門電路
1)二極管與門
由半導(dǎo)體二極管構(gòu)成的與門電路如圖1-29所示。電路中A、B為輸入端,Y為輸出端。工作原理如下:
(1)當(dāng)A、B端均輸入低電平0V時(shí),兩個(gè)二極管均正向?qū)?,輸出端Y的輸出電壓為二極管的正向?qū)▔航?.7V,此為低電平。
(2)當(dāng)A、B輸入端一個(gè)輸入低電平0V,另一個(gè)輸入高電平3V時(shí),輸入低電平0V的二極管必然導(dǎo)通,使輸出端Y的輸出電壓為低電平0.7V。圖1-29二極管與門
(3)當(dāng)A、B端均輸入高電平3V時(shí),兩個(gè)二極管均正向?qū)?,輸出端Y的輸出電壓為高電平3.7V。
上述關(guān)系可整理為電平表,見表1-14。
如果將輸入、輸出中的高電平用邏輯1表示,低電平用邏輯0表示,則可得到如表1-15所示的真值表。由真值表可見,圖1-29所示的電路實(shí)現(xiàn)了與邏輯關(guān)系。表1-14圖1-29電路的輸入輸出電平表表1-15圖1-29電路的真值表
2)二極管或門
圖1-30所示為由半導(dǎo)體二極管構(gòu)成的或門電路。電路中A、B為輸入端,Y為輸出端。
工作原理如下:
(1)當(dāng)A、B端均輸入低電平0V時(shí),兩個(gè)二極管均截止,輸出端Y的輸出電壓為低電平0V。
(2)當(dāng)A、B輸入端一個(gè)輸入低電平0V,另一個(gè)輸入高電平3V時(shí),輸入高電平3V的二極管必然導(dǎo)通,使輸出端Y的輸出電壓為高電平2.3V。
(3)當(dāng)A、B端均輸入高電平3V時(shí),兩個(gè)二極管均正向?qū)?,輸出端Y的輸出電壓為高電平2.3V。圖1-30二極管或門上述關(guān)系可整理為電平表,見表1-16。
如果將輸入、輸出中的高電平用邏輯1表示,低電平用邏輯0表示,則可得到如表1-17所示的真值表。由真值表可見,圖1-30所示的電路實(shí)現(xiàn)了或邏輯關(guān)系。表1-16圖1-30電路的輸入輸出電平表
表1-17圖1-30電路的真值表
3)三極管非門(反相器)
圖1-31所示為由三極管構(gòu)成的非門電路。圖中A為信號(hào)輸入端,Y為輸出端。其工作原理如下:
(1)當(dāng)A端輸入低電平0V時(shí),三極管截止,ic?≈?0,Y端輸出高電平5V。
(2)當(dāng)A端輸入高電平5V時(shí),三極管飽和導(dǎo)通,導(dǎo)通后Vce≤0.3V,故Y端輸出低電平。
上述關(guān)系可整理為電平表,見表1-18。
如果將輸入、輸出中的高電平用邏輯1表示,低電平用邏輯0表示,則可得到如表1-19所示的真值表。由真值表可見,圖1-31所示的電路實(shí)現(xiàn)了非邏輯關(guān)系。圖1-31三極管反相器表1-18圖1-31電路的輸入輸出電平表
表1-19圖1-31電路的真值表
4)?MOS三極管非門
圖1-32所示為由N溝道MOS三極管非門構(gòu)成的電路圖。圖中A為信號(hào)輸入端,Y為輸出端。其工作原理如下:
(1)當(dāng)A端輸入低電平0V時(shí),MOS管截止,電流為0,Y端輸出高電平10V。
(2)當(dāng)A端輸入高電平10V時(shí),MOS管飽和導(dǎo)通,Y端輸出低電平。
顯然,圖1-32所示的電路實(shí)現(xiàn)了非邏輯關(guān)系。圖1-32NMOS反相器
2.TTL集成門電路
集成門電路是指將構(gòu)成門電路的元器件和連線都制作在一塊半導(dǎo)體芯片上再封裝起來(lái)的門電路芯片。
按集成度劃分,集成門電路可分為小規(guī)模集成電路SSI、中規(guī)模集成電路MSI、大規(guī)模集成電路LSI、超大規(guī)模集成電路VLSI。
按構(gòu)成集成門電路的主要元器件劃分,可分為TTL集成門電路及CMOS集成門電路。
TTL是晶體管—晶體管邏輯電路的簡(jiǎn)稱。TTL集成電路的輸入級(jí)和輸出級(jí)都采用半導(dǎo)體三極管。
圖1-33為TTL反相器、TTL與非門、TTL或非門的典型電路圖。圖1-33TTL反相器、與非門、或非門電路圖其中TTL反相器的工作原理如下:
(1)當(dāng)輸入端A輸入低電平0V時(shí),V1的基極電流iB1流入發(fā)射極,即由A端流出,因此V2的基極電流iB2為0,V2截止,因而V4的基極也無(wú)電流,V4也截止,而此時(shí)V3和二極管VD將導(dǎo)通,輸出端Y輸出高電平3.6V。
(2)當(dāng)輸入端A輸入高電平3.6V時(shí),V1倒置(即發(fā)射極和集電極顛倒),ib1流入V2基極,使V2飽和導(dǎo)通,進(jìn)而使V4飽和導(dǎo)通,而V3和VD將截止。由于V4飽和導(dǎo)通,從而使輸入端Y輸出≤0.3V的低電平。
從以上分析可看出圖1-33(a)所示的電路實(shí)現(xiàn)了反相器功能。不難分析,圖1-33(b)所示電路中,V1使用多發(fā)射極三極管,只要有一個(gè)輸入端輸入低電平0V,就會(huì)輸出高電平3.6V,只有所有輸入端都輸入高電平3.6V,V4才飽和導(dǎo)通,輸出低電平。因而電路具有了與非邏輯功能。
而圖1-33(c)所示電路中,兩個(gè)輸入端分別各自擁有VD1、V1、V2、R1和、、、,只要有一個(gè)輸入端輸入高電平,V4就能導(dǎo)通,輸出低電平,只有當(dāng)所有輸入端均輸入低電平0V時(shí),輸出才為高電平。因而電路具有或非邏輯功能。
有了以上3種邏輯門電路,不難組合得到與門、或門、異或門等其他邏輯門電路。
3.CMOS集成門電路
CMOS集成電路中的基本邏輯單元是PMOS管和NMOS管,它們按互補(bǔ)對(duì)稱的形式連接起來(lái),因而稱為CMOS。
圖1-34所示為CMOS非門(反相器)的典型電路圖,電路中VDD接?+5?V。電路由一個(gè)PMOS晶體管(V1)和一個(gè)NMOS晶體管(V2)互補(bǔ)連接組成。其工作原理如下:
(1)當(dāng)uA?=?0V(低電平)時(shí),V1導(dǎo)通,V2截止,于是uY?=?VDD?=?5V(高電平);
(2)當(dāng)uA?=?5V(高電平)時(shí),V1截止,V2導(dǎo)通,于是uY?=?0V(低電平)。
顯然,圖1-34所示電路實(shí)現(xiàn)了非門邏輯功能。
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 44966-2024橄欖油中脂肪酸乙酯含量的測(cè)定氣相色譜-質(zhì)譜法
- GB/T 18375-2024假肢下肢假肢的結(jié)構(gòu)檢驗(yàn)要求和試驗(yàn)方法
- 廣東省深圳市2025屆高三第二次診斷考試語(yǔ)文試題及答案
- 抗利尿激素分泌失調(diào)綜合征的臨床護(hù)理
- ADME/T工程細(xì)胞株的構(gòu)建調(diào)研報(bào)告
- 產(chǎn)后肚子疼的健康宣教
- 低磷性佝僂病的臨床護(hù)理
- 孕期肺結(jié)核的健康宣教
- 兒童精神分裂癥的健康宣教
- 口技公開課課件
- 感染性休克指南解讀
- 曼娜回憶錄完整版三篇
- (正式版)HG∕T 21633-2024 玻璃鋼管和管件選用規(guī)定
- NCCN 非小細(xì)胞肺癌指南2024
- 個(gè)體工商戶設(shè)立(變更)登記審核表
- 一般自我效能感量表及計(jì)分方式
- 世界旅游夏威夷英文介紹簡(jiǎn)介English introduction of Hawaii(課堂PPT)
- 安全生產(chǎn)中長(zhǎng)期規(guī)劃
- 日標(biāo)歐標(biāo)英標(biāo)O型圈匯總
- 777F02板型尺寸及ULD組裝高教知識(shí)
- 土木工程可持續(xù)發(fā)展調(diào)查報(bào)告
評(píng)論
0/150
提交評(píng)論