




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第1章數(shù)字邏輯基礎
1.1概述1.2數(shù)制與碼制1.3數(shù)字邏輯設計基礎數(shù)字系統(tǒng)所處理的信息都是二進制形式的數(shù)字信號。本章介紹數(shù)字信號的表示方式,數(shù)制和碼制;重點介紹數(shù)字邏輯設計的基礎,包括邏輯代數(shù)的基本公式和定理、邏輯函數(shù)的表示方法、邏輯函數(shù)的化簡以及邏輯門電路的基本結構和常用的集成門電路。
1.1概述
1.1.1數(shù)字信號及模擬信號
客觀世界中存在著各種各樣的物理量,用于量度物體屬性或描述物體運動狀態(tài)及其變化過程。根據(jù)各物理量變化規(guī)律的特點可將它們劃分為兩大類。
一類物理量的變化在時間和數(shù)值上都是連續(xù)的。這一類物理量叫做模擬量,如電壓、頻率、壓力、溫度等。時間上的“連續(xù)”是指在一個指定的時間范圍里,物理量的數(shù)值個數(shù)有無窮多個。而數(shù)值上的“連續(xù)”是指物理量的數(shù)值本身的數(shù)目有無窮多個。我們把在時間上和數(shù)值上都連續(xù)的物理量稱為模擬物理量,表示模擬量的信號叫做模擬信號,如圖1-1(a)所示,而處理模擬信號的電子電路被稱為模擬電路。圖1-1模擬信號與數(shù)字信號另一類物理量的變化在時間上和數(shù)量上都是離散的。例如產品的數(shù)量、學生的成績、開關的狀態(tài)等,它們的值都是離散值。時間上的“離散”是指在一個指定的時間范圍里,物理量的數(shù)值的個數(shù)是有限的。而數(shù)值上的“離散”是指物理量的數(shù)值本身的數(shù)目是有限的。我們把在時間上和數(shù)值上都離散的物理量稱為數(shù)字量,表示數(shù)字量的信號稱為數(shù)字信號,如圖1-1(b)所示,直接對數(shù)字量進行處理的電子線路被稱為數(shù)字電路。由于數(shù)字電路中存儲、處理和傳輸?shù)男盘柖际菙?shù)字信號,因而對于模擬信號而言,需要將其轉換為數(shù)字信號,才能在數(shù)字電路中進行存儲、處理和傳輸。圖1-1顯示出了這種轉換的方法。圖1-1中,經過了采樣、量化和編碼后,模擬信號轉換成了數(shù)字信號。所謂采樣,是指以相等的時間間隔,將時間上連續(xù)的模擬信號截取成時間上離散的數(shù)字信號,也就是在時間上將模擬信號離散化。量化是指將采樣得到的瞬間幅度值離散化,也就是用有限個幅度值近似表示原來連續(xù)變化的幅度值,即把模擬信號的連續(xù)幅度值變?yōu)橛邢迶?shù)量的有一定間隔的離散值。例如,用離散值-5V,-4V,…,4V,5V表示電壓的幅度值,當采樣得到的幅度值是1.23V時,量化后的值取1V;當采樣得到的幅度值是?-2.68V時,量化后的值取?-3V。編碼則是按照一定的規(guī)律,把量化后的值用二進制數(shù)字表示。例如,1V用二進制數(shù)0001表示,-3V用二進制數(shù)1101表示。1.1.2數(shù)字抽象
數(shù)字系統(tǒng)是一個能對數(shù)字信號進行處理和傳輸?shù)膶嶓w,由各種能實現(xiàn)特定功能的數(shù)字邏輯電路相互連接組合而成。在數(shù)字系統(tǒng)中,表示信息所使用的都是離散型的信號。
早期機械式的數(shù)字系統(tǒng),如CharlesBabbage(查兒斯·巴貝奇)設計的分析機(現(xiàn)代電子計算機的前身),使用蒸汽作動力,用10個齒輪分別表示0~9十個數(shù)字,是一個具有10個離散值變量的數(shù)字系統(tǒng)?,F(xiàn)在,大部分數(shù)字系統(tǒng)使用二進制處理信息,這是由于:
(1)電路容易實現(xiàn)。二進制只有兩個數(shù)碼,在電路中用高、低電平分別表示“1”和“0”這兩種狀態(tài),區(qū)分兩種電壓值要比區(qū)分10種電壓值容易得多。
(2)物理上容易實現(xiàn)存儲。二進制在物理上最容易實現(xiàn)存儲,如通過磁極的取向、表面的凹凸等來記錄“0”、“1”信息。
(3)便于運算。與十進制數(shù)相比,二進制數(shù)的運算規(guī)則要簡單得多(例如二進制乘法只有4條規(guī)則)。這不僅可使運算器的硬件結構大大簡化,而且有利于運算速度的提高。
(4)便于邏輯判斷。二進制中的0和1兩個數(shù)碼,正好與邏輯命題中的“真(True)”、“假(False)”相對應,為邏輯運算提供了便利。
目前,在計算機、數(shù)字通信及其他數(shù)字設備中,都是用兩個電平狀態(tài)來表示數(shù)字信號的。采用的兩個狀態(tài)符號就是0和1(在二進制中,它們表示兩個數(shù)字信號),它們是構成數(shù)字信息的基本元素。也就是說,不論數(shù)字系統(tǒng)處理的信息是表示一個數(shù),或者是表示控制某個裝置動作的命令,也都不過是0和1的某種形式的組合。對于0和1來說,既可以用電位的高低來表示,也可以用脈沖信號的有無來表示。例如在圖1-2中,為表示1101110010這樣的數(shù)字信號,用電位的高低來表示的信號波形如圖1-2(a)所示,以高電平表示1,低電平表示0;若以脈沖信號有無表示,信號波形如圖1-2(b)所示,以有脈沖表示1,無脈沖表示0。目前的數(shù)字系統(tǒng)中,常用前一種方式表示數(shù)字信號。圖1-2數(shù)字信號的表示1.1.3數(shù)字信號傳輸時對“0”、“1”的處理
在數(shù)字系統(tǒng)中,常用自然二進制對信號進行編碼,即高電平表示數(shù)據(jù)“1”,低電平表示數(shù)據(jù)“0”。但這種類型的數(shù)字信號不適合于在信道中直接傳輸,原因在于:①這種類型的數(shù)字信號往往存在直流分量和低頻分量,而具有電容耦合電路的設備或頻帶低端受限的信道會過濾掉這些分量;②當出現(xiàn)連續(xù)的“0”或“1”數(shù)據(jù)時,數(shù)字信號會出現(xiàn)長時間的低電平或高電平,接收端無法獲取定時信息(即同步信息);③接收端無法判斷是否包含錯碼。因此,數(shù)字信號在傳輸時需要選擇其他的編碼方式,常用的有以下四種。
1.不歸零編碼(NRZ)
不歸零編碼(NRZ)的編碼規(guī)則是:“1”和“0”都分別由不同的電平狀態(tài)來表現(xiàn),用正電平表示“1”,用負電平表示“0”,除此之外,沒有中性狀態(tài)及其他狀態(tài)。圖1-3為不歸零編碼示意圖。不歸零編碼發(fā)送能量大,直流分量小,抗干擾能力比較強,但使用這種編碼需要另外傳輸同步信號。
2.NRZ-Inverted(NRZI)編碼圖
NRZ-Inverted(NRZI)的編碼規(guī)則是:如果輸入為0,則輸出保持它的前一個值;如果輸入為1,則輸出為前一個輸出值的相反值。因此,只要輸入為0,輸出就會保持不變;如果輸入為1,輸出就會發(fā)生翻轉。圖1-4為NRZ-Inverted編碼示意圖。使用這種編碼也同樣需要另外傳輸同步信號。圖1-3NRZ編碼示意圖圖1-4NRZ-Inverted編碼示意圖
3.歸零編碼
歸零編碼(ReturntoZero,RZ)的編碼規(guī)則是:高電平表示“1”,低電平表示“0”,但整個碼元分兩部分,前半部分用高低電平表示數(shù)據(jù),后半部分則歸零位。顯然,信號“0”在整個位的時間內以低電平發(fā)送;信號“1”在前半個位時間內以高電平發(fā)送,在剩余位時間內以低電平發(fā)送。圖1-5為歸零編碼示意圖。歸零編碼自帶了同步信號,但當出現(xiàn)長串“0”時,將丟失同步信號。圖1-5歸零編碼示意圖
4.曼徹斯特編碼
曼徹斯特編碼(ManchesterEncoding)也叫做相位編碼(PhaseEncoding,PE),是一種用電平跳變來表示1或0的編碼,這種編碼帶同步信號,即時鐘同步信號就隱藏在數(shù)據(jù)波形中。在曼徹斯特編碼中,每一位的中間有一電平的跳變,位中間的跳變既作時鐘信號,又作數(shù)據(jù)信號;從高到低跳變表示“0”,從低到高跳變表示“1”。
還有一種是差分曼徹斯特編碼,每位中間的跳變僅提供同步信號,而用每位開始時有無跳變表示“0”或“1”,如果有跳變則表示“0”,如果無跳變則表示“1”。兩種曼徹斯特編碼將時鐘同步信號和數(shù)據(jù)包含在數(shù)據(jù)流中,在傳輸代碼信息的同時,也將時鐘同步信號一起傳輸?shù)綄Ψ?。每位編碼中有一跳變,不存在直流分量,因此具有自同步能力和良好的抗干擾性能。但每一個碼元都被調成兩個電平,所以數(shù)據(jù)傳輸速率只有調制速率的1/2。圖1-6為兩種曼徹斯特編碼示意圖。圖1-6兩種曼徹斯特編碼示意圖
1.2數(shù)?制?與?碼?制
1.2.1數(shù)制
數(shù)制也稱計數(shù)制,是指用一組固定的符號和統(tǒng)一的規(guī)則來表示數(shù)值的方法。由于按進位的方法進行計數(shù),故也稱進位計數(shù)制。在日常生活中,人們普遍采用十進制計數(shù)方式,而在數(shù)字系統(tǒng)中,最廣泛使用的是二進制計數(shù)方式。
學習數(shù)制,必須首先掌握數(shù)碼、基數(shù)和位權這三個概念。
數(shù)碼:數(shù)制中為表示基本數(shù)值大小所使用的不同數(shù)字符號。例如,十進制有10個數(shù)碼:0~9;二進制有2個數(shù)碼:0、1。基數(shù):數(shù)制中所使用數(shù)碼的個數(shù)。例如,十進制計數(shù)制使用10個數(shù)碼,故基數(shù)為10;二進制計數(shù)制使用2個數(shù)碼,故基數(shù)為2。
位權:數(shù)制中某位置上的數(shù)字1所表示數(shù)值的大小。例如,十進制的435中,4所在位置上的位權是100,3的位權是10,5的位權是1。
下面介紹常用的進位計數(shù)制及數(shù)制之間的轉換。
1.十進制數(shù)(Decimal)
十進制數(shù)的特點是:
(1)由10個數(shù)碼0~9組成。
(2)基數(shù)是10,運算規(guī)則是逢十進一。
(3)在小數(shù)點左邊,從右至左各位的位權依次是:100、101、102、103等;在小數(shù)點右邊,從左至右各位的位權依次是:10-1、10-2、10-3、10-4等。任意一個十進制數(shù),都可以用位權展開式表示為
其中:di表示各個位置上的十進制數(shù)碼。例如,十進制數(shù)826.78的位權展開式為
(826.78)10?=?8?×?102?+?2?×?101?+?6?×?100
+?7?×?10-1?+?8?×?10-2
2.二進制數(shù)(Binary)
二進制數(shù)的特點是:
(1)由兩個數(shù)碼0、1組成。
(2)基數(shù)是2,運算規(guī)則是逢二進一。
(3)在小數(shù)點左邊,從右至左各位的位權依次是:20、21、22、23等;在小數(shù)點右邊,從左至右各位的位權依次是:2-1、2-2、2-3、2-4等。
任意一個二進制數(shù),都可以用位權展開式表示為其中:bi表示各個位置上的二進制數(shù)碼。例如,二進制數(shù)1011.101的位權展開式為
(1011.101)2?=?1?×?23?+?0?×?22?+?1?×?21?+?1?×?20?+?1?×?2-1?+?0?×?2-2?+?1?×?2-3
3.八進制數(shù)(Octal)
八進制數(shù)的特點是:
(1)由8個數(shù)碼0~7組成。
(2)基數(shù)是8,運算規(guī)則是逢八進一。
(3)在小數(shù)點左邊,從右至左各位的位權依次是:80、81、82、83等;在小數(shù)點右邊,從左至右各位的位權依次是:8-1、8-2、8-3、8-4等。任意一個八進制數(shù),都可以用位權展開式表示為
其中:oi表示各個位置上的八進制數(shù)碼。例如,八進制數(shù)723.24的位權展開式為
(723.24)8?=?7?×?82?+?2?×?81?+?3?×?80?+?2?×?8-1?+?4×8-2
4.十六進制數(shù)(Hexidecimal)
十六進制數(shù)的特點是:
(1)由16個數(shù)碼0~9及A~F組成。
(2)基數(shù)是16,運算規(guī)則是逢十六進一。
(3)在小數(shù)點左邊,從右至左各位的位權依次是:160、161、162、163等;在小數(shù)點右邊,從左至右各位的位權依次是:16-1、16-2、16-3、16-4等。任意一個十六進制數(shù),都可以用位權展開式表示為:
其中:xi表示各個位置上的十六進制數(shù)碼。例如,十六進制數(shù)2D9.A8的位權展開式為
(2D9.A8)16?=?2?×?162?+?13?×?161?+?9?×?160
?+?10?×?16-1?+?8?×?16-2
5.數(shù)制之間的轉換
1)十進制數(shù)與非十進制數(shù)之間的轉換
(1)非十進制數(shù)轉換成十進制數(shù)。非十進制數(shù)轉換成十進制數(shù)的方法是:將非十進制數(shù)按位權展開后求和。
【例1-1】將(1011.101)2、(723.24)8、(2D9.A8)16分別轉換成十進制數(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)十進制數(shù)轉換成非十進制數(shù)。十進制數(shù)轉換成非十進制數(shù),需要分別對整數(shù)部分和小數(shù)部分進行轉換。
①整數(shù)部分的轉換方法:不斷除以基數(shù)取余數(shù),直到商為0,從下到上讀取余數(shù)。
【例1-2】將(179)10分別轉換成二進制、八進制、十六進制數(shù)。
解結果:(179)10?=?(10110011)2?=?(263)8?=?(B3)16②小數(shù)部分的轉換方法:不斷乘以基數(shù)取整數(shù),從上到下讀取整數(shù),直到滿足精度要求為止。
【例1-3】將(0.6875)10分別轉換成二進制、八進制、十六進制數(shù)。結果:(0.6875)10?=?(0.1011)2?=?(0.54)8?=?(0.B)16
2)二進制數(shù)與八進制或十六進制數(shù)之間的轉換
雖然在數(shù)字系統(tǒng)中使用的是二進制數(shù),但由于二進制數(shù)往往很長,不便書寫及識別,因此常使用八進制數(shù)或十六進制數(shù)來表示二進制數(shù),以減少書寫的長度。
由于八進制數(shù)、十六進制數(shù)的基數(shù)都是2n(n?=?3,4),因此1位2n進制數(shù)所能表示的數(shù)值能恰好用n位二進制數(shù)表示,即八(23)進制數(shù)中的數(shù)碼0~7與3位二進制數(shù)000~111一一對應,十六(24)進制數(shù)中的數(shù)碼0~9、A~F與4位二進制數(shù)0000~1111一一對應。所以,二進制數(shù)與2n進制數(shù)之間可以按位進行轉換。
(1)二進制數(shù)轉換成八進制、十六進制數(shù)。將二進制數(shù)轉換成2n(n?=?3,4)進制數(shù)的方法是:以小數(shù)點為界,分別向左、右兩個方向按n位進行分組,左右兩端不足n位的,分別用0補夠n位,再將每組二進制數(shù)轉換為對應的2n進制數(shù)。
【例1-4】將二進制數(shù)(11010101001101.11001)2分別轉換為八進制數(shù)及十六進制數(shù)。
解二進制數(shù)011010101001101.110010
八進制數(shù) 3
2 ??515.6 2
二進制數(shù)0011010101001101.11001000
十六進制數(shù) 35 ?4D?. C8
結果:(11010101001101.11001)2?=?(32515.62)8?=?(354D.C8)16
(2)八進制數(shù)或十六進制數(shù)轉換成二進制數(shù)。將2n(n?=?3,4)進制數(shù)轉換成二進制數(shù)的方法與上面正好相反,將2n進制數(shù)中的每一位直接轉換成n位二進制數(shù)即可。
【例1-5】將八進制數(shù)(7301.24)8、十六進制數(shù)(4A3.E6)16分別轉換成二進制數(shù)。
解八進制數(shù) 7??3?0124
二進制數(shù) 111011000
001010100
結果:(7301.24)8?=?(111011000001.0101)2
十六進制數(shù)4??A?3?.??E?6
二進制數(shù) 010010100011.11100110
結果:(4A3.E6)16?=?(10010100011.1110011)2
1.2.2碼制
1.數(shù)字的存儲形式
前面所提到的二進制數(shù),沒有考慮符號問題,所指的都是無符號數(shù)。但實際上數(shù)字是有正、負符號的,那么在數(shù)字系統(tǒng)中對數(shù)字進行運算操作時,正負符號該如何表示呢?
以數(shù)字6為例,按習慣的表示方法,正6用?+6表示,二進制數(shù)為?+110;負6用?-6表示,二進制數(shù)為?-110。但在數(shù)字系統(tǒng)中,符號“+”、“-”也要數(shù)字化,一般將數(shù)的最高位設為符號位,用“0”表示“+”、用“1”表示“-”,即為了區(qū)分一個符號數(shù)的“+”、“-”符號數(shù)字化前后的兩種表示方式,引入真值和機器數(shù)兩個術語。在二進制數(shù)之前用“+”、“-”符號表示正、負數(shù)的這種符號數(shù)稱為真值。將符號用二進制碼“0”、“1”表示的這種符號數(shù)稱為機器數(shù)。
機器數(shù)常用的表示方法有原碼、反碼、補碼等。下面以帶符號的整數(shù)為例介紹原碼、反碼及補碼的定義規(guī)則。
2.原碼
將數(shù)的真值形式中正數(shù)符號用符號位0表示,負數(shù)符號用符號位1表示,叫做數(shù)的原碼形式,簡稱原碼。原碼的定義可用下式表示:
式中A為真值,|A|?為A的絕對值的真值,A原為A的原碼,n為二進制數(shù)碼的位數(shù)。
例如,絕對值為9的數(shù),它的真值形式和原碼形式如下所示(用8位數(shù)碼表示,最高位為符號位):
原碼的優(yōu)點是易于辨認,因為它的數(shù)值部分就是該數(shù)的絕對值,而且與真值和十進制數(shù)的轉換十分方便。但在采用原碼進行運算時,運算比較復雜,例如當兩個數(shù)相加時,如果是同號,則數(shù)值直接相加;如果是異號,則要進行減法運算,首先要判定哪個數(shù)的絕對值大,絕對值大的作為被減數(shù),小的作為減數(shù),所得差值的符號與絕對值大的數(shù)符號一致。這樣就要增加判定數(shù)大小的設備,而且要用減法器來完成減法運算,顯然增加了設備量。為了減少設備量,將減法變?yōu)榧臃ㄟ\算,就引進了反碼和補碼表示法。
3.反碼
與原碼相比較,反碼也是在數(shù)碼左邊加上一位符號位,0代表正數(shù),1代表負數(shù)。與原碼不一樣的是,反碼的數(shù)碼與它的符號位有關:對于正數(shù),反碼與原碼相同;對于負數(shù),反碼的數(shù)碼由原碼逐位求反而得(不包括符號位)。反碼定義可用下式表示:
式中:A為原碼,|A|?為A的絕對值的原碼,A反為A的反碼,n為二進制數(shù)碼的位數(shù)。例如,絕對值為9的數(shù),如用8位二進制反碼表示,則?+9的反碼為
A反
=?A?=?00001001
-9的反碼為
A反
=?28?-?1?-?|A|
=?(100000000?-?1)?-?(00001001)=11110110
即
數(shù)真值原碼反碼
+9
+00010010
00010010
0001001
-9
-00010011
00010011
1110110
由此可看出:正數(shù)的反碼與原碼相同,負數(shù)的反碼為其絕對值的原碼按位取反。
4.補碼
機器數(shù)的第三種表示是補碼形式。對于正數(shù)來說,其原碼、反碼和補碼的表示是相同的;對于負數(shù)來說,表示則不相同。補碼的最高位仍然是符號位,0表示正數(shù),1表示負數(shù)。
補碼定義可用下式表示:
式中:A為原碼,|A|為A的絕對值的原碼,A補為A的補碼,n為二進制數(shù)碼的位數(shù)。
例如,絕對值為9的數(shù),如用8位二進制補碼表示,則?+9的補碼為
A補
=?A?=?00001001
-9的補碼為
A補
=?28?-?|A|=?100000000?-?00001001?=?11110111
即
數(shù)真值原碼反碼補碼
+9
+0001001000010010
00010010
0001001
-9
-0001001100010011
111011011110111
由此可看出:正數(shù)的補碼與原碼相同,負數(shù)的補碼為其絕對值的原碼按位取反,然后加1,即反碼加1。1.2.3常用編碼
用代碼表示信息的過程稱為編碼。在數(shù)字系統(tǒng)中,由于二進制數(shù)用電路實現(xiàn)起來比較容易,因此在編碼中廣泛使用的是二進制數(shù)。我們稱用二進制數(shù)表示文字、符號等信息的過程為二進制編碼。
常用的二進制編碼方法如下。
1.順序二進制編碼
將十進制數(shù)轉換成二進制數(shù)所得到的二進制編碼就是順序二進制碼,簡稱二進制碼。其特點是相鄰的兩個數(shù)之間的差值為1。表1-1中列出了十進制數(shù)0~15所對應的二進制碼。按上一節(jié)中所介紹的進制數(shù)轉換法可以得到某一個數(shù)的順序二進制編碼。表1-1順序二進制編碼及格雷碼編碼表
2.格雷碼
順序二進制編碼簡單且容易轉換,但在相鄰的兩個編碼之間,可能同時有多個二進制位發(fā)生變化,例如代碼0111變化為1000時,4個二進制位均發(fā)生了變化。在數(shù)字系統(tǒng)中,常常需要代碼按一定順序變化,但如果多個位同時發(fā)生變化,由于各個位變化在時間上的差異,往往會出現(xiàn)短暫的其他代碼,例如代碼0111變化為1000時,可能會出現(xiàn)短暫的1111、1011等,這有可能會導致嚴重的電路狀態(tài)錯誤。使用格雷碼可以避免這種錯誤的發(fā)生。
格雷碼(GrayCode)又稱為循環(huán)碼,它的主要特點是相鄰兩個編碼之間只有一個位不相同,但它不夠直觀。常用的典型格雷碼編碼規(guī)則如表1-1所示。順序二進制碼與格雷碼之間可以通過公式進行轉換。設二進制碼為,對應的格雷碼為,格雷碼編碼規(guī)則可表示為
反之,典型二進制格雷碼也可轉換成二進制數(shù),其公式如下:
,
3.獨熱碼
只有一個二進制位為1,其他全為0的編碼叫做獨熱碼。這種編碼方式中,編碼的二進制位數(shù)與需要進行編碼的狀態(tài)數(shù)相等。例如,如需對8個狀態(tài)進行編碼,則這8個編碼分別是:00000001、00000010、00000100、00001000、00010000、00100000、01000000、10000000。獨熱碼常用于時序邏輯電路中狀態(tài)機的設計。
4.二—十進制編碼(BCD碼)
日常生活中最常使用的是十進制數(shù)。在數(shù)字系統(tǒng)中,為了既滿足系統(tǒng)中使用二進制數(shù)的要求,又適應人們使用十進制數(shù)的習慣,需要用二進制數(shù)來表示十進制數(shù),即用4位二進制數(shù)對十進制數(shù)中的10個數(shù)符進行編碼,簡稱二—十進制編碼,又稱BCD碼(BinaryCodedDecimal)。二—十進制編碼有多種不同的編碼方法,也就是說有多種不同的BCD碼,常用的有8421BCD碼、2421BCD碼、5211BCD碼、余3碼、余3格雷碼等,見表1-2。其中8421碼、2421碼、5211碼都屬于位權碼,即編碼中每1位對應一個位權值,如8421BCD碼中,各位的位權依次是8、4、2、1,編碼1001對應的十進制數(shù)符是8+0+0+1=9。余3碼是由二進制碼加3(0011)后形成的,即余3碼從二進制碼的3開始編碼。余3格雷碼是由格雷碼加3后形成的,即余3格雷碼從格雷碼的3(0010)開始編碼。表1-2常用的二—十進制編碼
【例1-6】用8421BCD碼對十進制數(shù)407.81進行編碼。
解按8421BCD碼編碼規(guī)則對十進制數(shù)中的每個數(shù)符進行編碼,得到
407.86?=?(010000000111.10000110)8421BCD
5.ASCII碼
前面介紹的只是對數(shù)字的編碼,在數(shù)字系統(tǒng)中,字符、文字以及一些特殊符號也都必須用二進制代碼來表示。用于表示各種字符(包括文字、字母、數(shù)字、標點符號、運算符及其他特殊字符等)的二進制代碼稱為字符編碼。
ASCII(AmericanStandardCodeforInformationInterchange)是美國信息交換標準代碼的簡稱,是目前國際通用的字符代碼。ASCII碼常見于通信設備和計算機中,采用7位二進制編碼,共表示27(即128)個字符,其中包括0~9十個數(shù)碼、大小寫各26個英文字母、標點符號、運算符、一些常用符號及33個控制字符。使用時通常加上第8位作為奇偶校驗位。ASCII碼的編碼規(guī)則見表1-3。表1-3ASCII碼表
1.3數(shù)字邏輯設計基礎
1.3.1邏輯代數(shù)
邏輯代數(shù)是分析和設計邏輯電路的基本數(shù)學工具。邏輯代數(shù)是英國數(shù)學家喬治·布爾(GeorgeBoole)于19世紀中葉創(chuàng)立的,因此也叫布爾代數(shù)。當時,這種代數(shù)純粹是一種數(shù)學游戲,沒有任何物理與現(xiàn)實意義。直到20世紀30年代,美國人ClaudeE.Shannon在開關電路中才找到了它的應用價值,其很快成為分析和設計開關電路的重要數(shù)學工具,故又稱為開關代數(shù)。與普通代數(shù)類似,在邏輯代數(shù)中,參與邏輯運算的變量也用字母A、B…表示,稱為邏輯變量。每個變量的取值不是0就是1。0和1不表示數(shù)值的大小,而是代表兩種不同的邏輯狀態(tài)。
例如,用1和0分別表示是與非、真和假、有與無、電平的高與低、開關的通與斷、燈的亮與滅等。
1.基本及常用的邏輯運算
在邏輯代數(shù)中,基本邏輯運算有與、或、非,常用的復合邏輯運算有與非、或非、異或等。
1)與運算
當決定一件事情的各個條件全部具備時,這件事才會發(fā)生,這樣的因果關系稱為與邏輯關系。
如果用變量A和B分別表示決定這件事情的兩個條件,用Y表示這件事情的結果,則A、B和Y的與邏輯關系如表1-4所示。
對于A、B變量來說,如果用1表示條件成立,用0表示條件不成立;對于Y的值,如果值為1表示事情發(fā)生,值為0表示事情不發(fā)生,則表1-4可轉換為表1-5。這種使用
1和0反映邏輯關系的表格被稱為真值表。表1-4與邏輯關系表
表1-5與邏輯關系的真值表
在邏輯代數(shù)中,使用運算符“·?”表示與邏輯關系,因而上述Y和變量A、B之間的關系被記為
Y=A·B
書寫時,常省略與運算符,寫為
Y=AB
在數(shù)字系統(tǒng)的電路圖中,使用邏輯符號來表示各種邏輯關系。圖1-7所示為與邏輯關系的邏輯符號。本書中均采用圖(a)的符號表達形式。圖1-7與邏輯符號2)或運算
若決定一件事情的各個條件中,只要有一個條件具備,事情就會發(fā)生,則這樣的因果關系稱為或邏輯關系。
表示或邏輯關系的真值表如表1-6所示。
在邏輯代數(shù)中,使用運算符“+”表示或邏輯關系,因而上述真值表中Y和變量A、B之間的關系被記為
Y=A+B
圖1-8所示為或邏輯關系的邏輯符號。表1-6或邏輯關系真值表
圖1-8或邏輯符號
3)非運算
非就是反,即為否定,表示若條件成立,事件不會發(fā)生;若條件不成立,事件才發(fā)生這樣的邏輯關系。
非邏輯關系的真值表如表1-7所示。
在邏輯代數(shù)中,在變量或表達式上加反號“-”表示非邏輯關系,因而上述真值表中Y和變量A之間的關系被記為
圖1-9所示為非邏輯關系的邏輯符號。表1-7非邏輯關系真值表圖1-9非邏輯符號
4)與非、或非及異或運算
在邏輯代數(shù)中,與非、或非、異或、異或非運算都屬于復合邏輯運算,即由2個或2個以上邏輯運算組成,它們的表達式分別為
與非運算
或非運算
異或運算
異或非(同或)運算
其中異或運算使用運算符“
”,同或運算符為“⊙”。
這4種復合邏輯關系的真值表如表1-8所示。⊙B表1-8與非、或非、異或、異或非邏輯關系真值表圖1-10所示為這4種復合邏輯關系的邏輯符號。
注:在邏輯圖中,邏輯符號輸出端的小圓圈所表示的含義為反相輸出,即在原有邏輯關系的基礎上再進行非邏輯運算,如圖1-10中的(a)、(b)、(d)邏輯符號。圖1-104種復合邏輯關系的邏輯符號
2.邏輯運算的公式及定理
(1)常量之間的關系。
因為二值邏輯中只有0和1兩個常量,所以常量之間的邏輯關系只有以下幾種:
(2)變量和常量間的關系。
(3)定理。
交換律
結合律
分配律
德·摩根定理
3.一些常用公式
利用以上公式及定理,可以推導出如下公式。
(1)。
證明:
(2)。
證明:
(3)。
證明:1.3.2邏輯函數(shù)的表示方法
前面提到的Y=A·B、Y=A+B、等式子稱為邏輯表達式,式中A、B稱為輸入邏輯變量,Y稱為輸出邏輯變量。在邏輯變量中,形如A、B的變量稱為原變量,形如、的變量稱為反變量。在邏輯關系中,如果輸入邏輯變量A、B、…的取值確定后,輸出邏輯變量Y的值也被唯一地確定了,那么就稱Y是A、B、…的邏輯函數(shù),并寫為
Y=F(A,B,…)
常用的表示邏輯函數(shù)的方法有邏輯表達式、真值表、邏輯圖、卡諾圖等。
1.邏輯表達式
用與、或、非等運算表示函數(shù)中各個變量之間邏輯關系的代數(shù)式子,稱為邏輯表達式,如。
邏輯表達式的優(yōu)點是書寫簡潔、方便,可利用公式和定理進行運算和變換。其缺點是當邏輯函數(shù)比較復雜時,很難直接從變量的取值情況看出函數(shù)的值,不夠直觀。
2.真值表
把變量的各種可能取值與相應的函數(shù)值用表格的形式一一列舉出來,這種表格就稱為真值表。真值表可以直觀明了地反映出函數(shù)輸入、輸出變量之間的邏輯關系,它和邏輯表達式之間可以直接進行轉換。
列函數(shù)真值表的方法是:在真值表的左邊列出邏輯變量取值的所有組合,由于1個變量有0、1兩種取值,2個變量有00、01、10、11四種取值,依此類推,n個變量有2n種變量取值,為了不漏掉任何一種取值組合,邏輯變量的取值應按順序二進制碼的順序排列。真值表右邊列出對應每一種邏輯變量取值組合的邏輯函數(shù)值。
【例1-7】列出函數(shù)的真值表。
解由于函數(shù)有A、B、C三個輸入變量,因而有8種不同的取值組合,分別是000、001、010、011、100、101、110、111,將這8種取值組合填入真值表中左邊3列;然后計算每一種取值組合所對應的、及的值;最后計算Y的值,分別填入真值表相應的列中。結果如表1-9所示。表1-9函數(shù)真值表
真值表直觀明了,當輸入變量的取值確定時,可從表中查出相應的函數(shù)值,是一種十分有用的邏輯工具。在許多集成電路手冊中,常常給出電路的真值表,以反映其功能。在進行邏輯電路的設計時,設計的第一步往往就是通過分析電路所需的邏輯功能列出真值表。
真值表的缺點是難以用邏輯代數(shù)的公式和定理進行運算和變換,并且當變量比較多時,列真值表會變得十分繁瑣。
3.卡諾圖
卡諾圖是1953年由美國工程師卡諾(Karnaugh)提出的一種描述邏輯函數(shù)的特殊方法??ㄖZ圖實質上是真值表的方格圖表示方式,也就是將真值表中每一種變量取值組合對應的函數(shù)值填入到卡諾圖的每一個方格中。有關卡諾圖的使用將在下一小節(jié)中介紹。
使用卡諾圖的目的在于化簡邏輯函數(shù)。由于卡諾圖是用幾何相鄰形象直觀地表示了函數(shù)各個最小項在邏輯上的相鄰性,因此便于求出邏輯函數(shù)的最簡與或表達式??ㄖZ圖的缺點是只適用于表示和化簡邏輯變量個數(shù)比較少的邏輯函數(shù),當變量個數(shù)超過6個時,不適合于用卡諾圖化簡。此外,卡諾圖也不便于用公式和定理進行運算和變換。
4.邏輯圖
由于每一種基本和常用的邏輯關系都有其相應的邏輯符號,因此,邏輯函數(shù)也可以通過圖形的方式將邏輯符號相互連接,從而反映出各個變量之間的運算關系,這就是邏輯圖(即用邏輯門電路符號組成的電路圖)。邏輯圖與邏輯表達式有著十分簡單而準確的對應關系。
【例1-8】畫出函數(shù)的邏輯圖。
解由表達式可以看到,函數(shù)中有2個非運算、2個與運算、1個異或運算、2個或運算,根據(jù)表達式內容,將每一個運算用對應的邏輯符號表示,可逐級畫出函數(shù)的邏輯圖,如圖1-11所示,圖中最右邊的或運算采用了3輸入的或運算邏輯符號。圖1-11函數(shù)的邏輯圖邏輯圖中的邏輯符號,都有與之對應的被稱之為門電路的實際電路器件存在,所以邏輯圖比較接近工程實際。在實際應用中,當要分析了解某個數(shù)字電路的邏輯功能時,需要從邏輯圖入手,通過將邏輯圖轉換為邏輯表達式,最終獲得邏輯函數(shù)的真值表;另外,在制作數(shù)字設備時,常常也要通過邏輯設計,畫出邏輯圖,最終再把邏輯圖變成實際電路。
邏輯圖的缺點是不能用公式和定理進行運算和變換,所表示的邏輯關系不如真值表和卡諾圖直觀。1.3.3邏輯函數(shù)的化簡
在邏輯設計中,邏輯函數(shù)的化簡是十分重要的課題?;喌姆椒ㄓ写鷶?shù)法和卡諾圖法兩種。
我們從實際問題中概括出來的邏輯函數(shù),需要落實到實現(xiàn)該函數(shù)的邏輯圖,最后才能轉換為電路圖實現(xiàn)其功能。由于邏輯圖與邏輯函數(shù)有直接關系,因此函數(shù)式越簡單,實現(xiàn)該邏輯函數(shù)式所需要的門電路數(shù)量就越少,這樣既可以節(jié)省器材,又可提高電路的可靠性。通常,從邏輯問題概括出來的邏輯函數(shù)式不一定是最簡的。例如函數(shù)
,直接由該函數(shù)式得到的邏輯電路圖如圖1-12所示,此圖用了5個與門、3個或門和3個非門。但如果將函數(shù)化簡,化簡后的函數(shù)式為F?=?AC?+B。顯然,要實現(xiàn)此邏輯函數(shù)只需要兩個門,如圖1-13所示。
由此可以看到,函數(shù)化簡是為了簡化電路,以便用最少的門實現(xiàn)它們,從而降低系統(tǒng)的成本,提高電路的可靠性。
在了解函數(shù)化簡方法之前,首先應掌握最小項及標準與或式的概念。圖1-12F原函數(shù)的邏輯圖圖1-13F函數(shù)化簡后的邏輯圖
1.最小項及標準與或式
同一個邏輯函數(shù),其與或表達式的形式是多種多樣的。例如下面3個函數(shù)表達式:
它們的真值表都相同,均為如表1-10所示的真值表,因此它們是相等的。表1-10函數(shù)真值表
如果將3個表達式都變換成每一個乘積項都包含所有變量的與或式形式,則可以看到,最終變換的結果都是相同的。
在邏輯函數(shù)的表達式中,形如
的表達式稱為與或式,其特點是先進行與運算,再進行或運算。
在與或式中,形如
的表達式稱為標準與或式。標準與或式除了具有與或式的特點外,其主要特征是與或式中的每一個乘積項都是最小項,或者說,標準與或式就是最小項之和的表達式。
顯然,在同一個邏輯函數(shù)中,其表達式的形式是多種多樣的,但標準與或式卻是唯一的。那么,什么是最小項呢?
在邏輯函數(shù)中,最小項就是包含著函數(shù)所有變量的乘積項,而且每一變量在該乘積項中均以原變量或反變量的形式出現(xiàn)且僅出現(xiàn)一次。
如果一個邏輯函數(shù)有n個變量,則有2n個最小項。例如:一個變量A有2個最小項:,A;兩個變量AB有4個最小項:;三個變量A、B、C有8個最小項:
。以此類推,四個變量A、B、C、D共有24?=?16個最小項,n個變量有2n個最小項。最小項的性質是:在真值表中,每一個最小項都與一組變量取值一一對應,所有最小項對應全部變量取值。表1-11中顯示了3個變量的函數(shù)最小項與變量取值之間的對應關系。顯然,變量取值中的1與原變量對應,變量取值中的0與反變量對應,即變量取值000與對應,變量取值101與
對應。
由于標準與或式是最小項之和的形式,而最小項與函數(shù)取值之間有一一對應的關系,因此,標準與或式也可以直接從真值表中得到。例如,在表1-10的真值表中,使輸出變量Y的值為1的輸入變量的取值有001、010、011、101、110,其對應的最小項是,顯然只要其中一個最小項的運算值為1,函數(shù)的值為1。由此可寫出標準與或式如下:
標準與或式在書寫時往往比較長且繁瑣,為簡化書寫方式,常將最小項以編號的形式表示。最小項的編號就是它所對應變量取值組合的十進制數(shù)。
例如,最小項,對應變量的取值組合為二進制數(shù)001,二進制數(shù)001對應的十進制數(shù)是1,則該最小項的編號是1,該最小項記做m1。顯然最小項可分別用m2、m3、m5、m6表示。表1-113變量函數(shù)最小項的真值表
標準與或式可表示為
或寫成
【例1-9】寫出邏輯函數(shù)
的標準與或式。
解
方法一:通過公式和定理,變換表達式得到:方法二:先列出函數(shù)真值表,再寫出標準與或式。該函數(shù)的真值表如表1-12所示。
由真值表可直接寫出標準與或式如下:表1-12函數(shù)真值表
【例1-10】寫出函數(shù)的標準與或式。
解利用公式和定理,將函數(shù)表達式進行變換:
2.邏輯函數(shù)的最簡與或式
邏輯函數(shù)的最簡表達式指的是邏輯表達式最簡單、運算量最少的表達式。由于運算量越少,實現(xiàn)邏輯關系所需要的門電路就越少,成本降低,可靠性相對就高,因此在設計邏輯電路時,需要求出邏輯函數(shù)的最簡表達式。
一個函數(shù)的最簡表達式,根據(jù)變量之間運算關系的不同,分為最簡與或式、最簡與非-與非式、最簡或與式、最簡或非-或非式等。關于它們的定義如下:
最簡與或式:是指乘積項最少,每個乘積項中變量的個數(shù)也最少的與或表達式,例如。最簡與非-與非式:是指只有與非運算,同時非號個數(shù)最少,每個非號下面的乘積項中變量的個數(shù)也最少的邏輯表達式,例如。
最簡或與式:是指先進行或運算,再進行與運算,同時與運算的次數(shù)最少,或運算中變量的個數(shù)也最少的邏輯表達式,例如。
最簡或非-或非式:是指只有或非運算,同時非號個數(shù)最少,每個非號下面的或運算中變量的個數(shù)也最少的邏輯表達式,例如。
注:以上運算中不包括單個變量上面的非號,因為已將其當做反變量。
在以上最簡表達式中,最簡與或式是核心,因為可以由它轉換為其他最簡表達式。
【例1-11】求邏輯函數(shù)
的最簡表達式。
解先求出最簡與或式:
將最簡與或式取兩次反,去掉下面的反號,得到最簡與非-與非式:將最簡與非-與非式中大反號下面的函數(shù)式化簡,再去掉大反號,可得到最簡或與式:
將最簡或與式取兩次反,去掉下面的反號,得到最簡或非-或非式:
3.利用公式和定理化簡邏輯函數(shù)
邏輯函數(shù)公式化簡的原理就是反復使用邏輯代數(shù)的基本公式定理和常用公式,消去函數(shù)式中多余的乘積項和多余的因子,以求得函數(shù)式的最簡形式。需要說明的是,同一個邏輯函數(shù),有時候可能會有復雜程度相同的多個最簡表達式,這和化簡時所使用的方法有關。公式化簡法沒有固定的步驟,現(xiàn)將經常使用的方法歸納如下。
(1)并項法。運用公式:。
【例1-12】試用并項法化簡下列邏輯函數(shù):
解
(2)吸收法。運用公式:A?+?AB?=?A。
【例1-13】試用吸收法化簡下列邏輯函數(shù):
解
(3)消項法。運用公式:
【例1-14】試用消項法化簡下列邏輯函數(shù):
解
(4)消因子法。運用公式:。
【例1-15】試用消因子法化簡下列邏輯函數(shù):
解
(5)配項法。運用公式、及,適當配項,從而達到進一步化簡的目的。
【例1-16】試化簡下列邏輯函數(shù):
解
在化簡復雜的邏輯函數(shù)時,往往需要交替綜合運用上述方法,才能得到最后的化簡結果。而且,能否較快地獲得滿意結果,與對邏輯代數(shù)公式、定理的熟悉程度和運算技巧有關。
【例1-17】試化簡邏輯函數(shù)。
解
4.卡諾圖的構成
卡諾圖是一種平面方格圖,每個小方格代表一個最小項,故又稱為最小項方格圖。
顯然:
1個變量邏輯函數(shù)的卡諾圖有2個最小項,就有2個方格。
2個變量邏輯函數(shù)的卡諾圖有4個最小項,就有4個方格。
3個變量邏輯函數(shù)的卡諾圖有8個最小項,就有8個方格。
n個變量邏輯函數(shù)的卡諾圖有2n個最小項,就有2n個方格。
圖1-14所示為1~5個變量的邏輯函數(shù)的卡諾圖。畫卡諾圖時,首先應根據(jù)變量的個數(shù)確定卡諾圖的規(guī)模,設定變量的排列順序,然后在相應的行列前面按格雷碼的順序排列變量的取值。例如5個變量的卡諾圖,應畫32個格式,即4行8列,行由A、B變量控制,列由C、D、E變量控制,行的左端A、B變量的取值按格雷碼的順序排列為00、01、11、10,列的頂端C、D、E變量的取值按格雷碼的順序排列為000、001、011、010、110、111、101、100,卡諾圖中每一個格子根據(jù)其變量的取值對應一個最小項,如圖1-14(e)所示。圖1-141~5個變量邏輯函數(shù)的卡諾圖卡諾圖的特點是:利用卡諾圖中變量最小項在幾何位置上的相鄰關系表示最小項在邏輯上的相鄰關系。卡諾圖中,凡是幾何相鄰的最小項,它們在邏輯上也都是相鄰的。之所以采用格雷碼,就是為了保證幾何相鄰即邏輯相鄰這個特點。
所謂幾何相鄰指的是以下三種情況:
①相接,也就是緊挨著的最小項方格。凡是緊挨著的最小項,都是幾何相鄰。例如圖1-15中的m2和m6、m15和m31最小項。
②相對,也就是行列兩頭的最小項。凡是行、列兩頭相對的最小項,都是幾何相鄰,例如圖1-15中的m1和m17、m24和m28最小項。圖1-15最小項的幾個相鄰性③相重,指的是卡諾圖對折后位置重合的最小項。凡是具有這一特征的最小項,也都是幾何相鄰,例如圖1-15中的m1和m5、m11和m15最小項。
所謂邏輯相鄰指的是兩個最小項中,只有一個變量形式不同,其余都相同。例如3個變量的最小項和,這兩個最小項只有B變量的形式不同,其余都相同,那么它們是邏輯相鄰的。凡是邏輯相鄰的最小項都可以合并起來,消去變量,如,消去了B變量。在圖1-15中:
m2和m6,即和最小項,它們是邏輯相鄰的;
m24和m28,即和最小項,它們是邏輯相鄰的;
m11和m15,即和最小項,它們也是邏輯相鄰的。
顯然,卡諾圖中幾何相鄰的最小項一定邏輯相鄰,而邏輯相鄰最小項能夠合并起來消去變量。因此,幾何相鄰的最小項可以合并起來消去變量,這就是卡諾圖的化簡作用。
卡諾圖最大的缺點,就是當函數(shù)變量多于六個時,不僅畫起來非常麻煩,而且其優(yōu)點也不再顯現(xiàn),已無實用價值。
5.用卡諾圖表示邏輯函數(shù)
用卡諾圖表示邏輯函數(shù)時,可在函數(shù)與或表達式或者真值表的基礎上,按以下步驟進行:
(1)根據(jù)邏輯函數(shù)中變量的個數(shù)畫出卡諾圖的方格,分配好變量,并按格雷碼順序在行、列的開頭處寫出變量的取值。
(2)將表達式中每一個乘積項所包含的最小項在卡諾圖中相應的最小項位置填1,剩下的填0或不填,則可得到函數(shù)的卡諾圖。如果是利用真值表畫卡諾圖,則是將真值表中輸出值為1的最小項在卡諾圖中相應的最小項位置填1,其余的填0或不填。
【例1-18】畫出如表1-13所示真值表對應的卡諾圖。
解由于真值表中的每一行變量取值對應一個最小項,因此直接將真值表中的輸出值填入卡諾圖即可,如圖1-16所示。表1-13函數(shù)真值表
圖1-16例1-18卡諾圖
【例1-19】畫出函數(shù)
的卡諾圖。
解(1)首先畫出3變量邏輯函數(shù)的卡諾圖方格。
(2)將表達式中所包含的最小項填入卡諾圖中。由于函數(shù)表達式是標準與或式,即
則在卡諾圖中的m1、m3、m6、m7位置填1,其余填0,即可得到函數(shù)的卡諾圖,如圖1-17所示。圖1-17例1-19的卡諾圖
【例1-20】畫出函數(shù)的卡諾圖。
解(1)首先畫出4變量邏輯函數(shù)的卡諾圖方格。
(2)將表達式中所包含的最小項填入卡諾圖中。由于函數(shù)表達式是一般與或式,因此應分別找出表達式中每一個乘積項所包含的所有最小項:
乘積項ABCD:在ABCD值為1111的方格中填1,即m15;
乘積項:在A?=
0、CD?=
01的對應方格中填1,即m1、m5;
乘積項:在CD?=
10的對應方格中填1,即m2、m6、m14、m10;乘積項:在B?=
0、CD?=
11的對應方格中填1,即m3、m11;
乘積項:在B?=
1、C?=
0的對應方格中填1,即m4、m5、m12、m13。
其余的格子填0或不填,結果如圖1-18所示。圖1-18例1-20的卡諾圖
6.利用卡諾圖化簡邏輯函數(shù)
在變量卡諾圖中,凡是邏輯相鄰的最小項均可合并,合并時可消去有關變量??偨Y起來有如下規(guī)律:
兩個最小項合并成一項時,可消去一個變量;
四個最小項合并成一項時,可消去兩個變量;
八個最小項合并成一項時,可消去三個變量;
即2n個最小項合并成一項時,可消去n個變量。
圖1-19~圖1-21中,分別畫出了兩個、四個、八個最小項合并成一項的一些情況。通過仔細觀察圖中的合并規(guī)律,可得到:合并后所消去的變量一定是那些在合并包圍圈中變量取值不一致的變量,所保留的一定是合并包圍圈中變量取值一致的變量。在書寫合并包圍圈所對應的表達式時,應按照變量取值為1時寫成原變量、變量取值為0時寫成反變量的規(guī)則書寫。圖1-19兩個最小項的合并圖1-20四個最小項的合并圖1-21八個最小項的合并利用卡諾圖化簡邏輯函數(shù)的步驟如下:
(1)畫出邏輯函數(shù)的卡諾圖;
(2)為幾何相鄰的最小項畫包圍圈;
(3)寫出每一個包圍圈對應的乘積項表達式;
(4)將所有寫出的乘積項表達式用“+”號連接,寫出最簡與或式。
在上述步驟中,顯然為最小項畫包圍圈是最重要的,在畫包圍圈時,應注意以下原則:
(1)包圍圈中只能包圍那些值為1的最小項,每個包圍圈中只能包含2n個最小項;
(2)包圍圈應盡可能大,這樣才能消去更多變量,使對應的乘積項表達式簡單;
(3)包圍圈的數(shù)量應盡可能的少,這樣才能使最終的表達式中或運算最少;
(4)最小項可重復被圈,但應保證每一個圈中至少有一個新的、未被包圍的最小項;
(5)畫完包圍圈后,應反復檢查,去掉多余的包圍圈。為避免重復畫圈,畫包圍圈時,應盡可能從只有較少合并方式的最小項圈起。
【例1-21】化簡。
解(1)畫出邏輯函數(shù)的卡諾圖,將乘積項、
、、所對應的最小項在卡諾圖中填入1,其余不填,如圖1-22所示。
(2)在卡諾圖中為幾何相鄰的最小項畫包圍圈,如圖1-23所示。
(3)寫出每一個包圍圈對應的乘積項表達式,如圖1-23所示。
(4)將所有寫出的乘積項表達式用“+”號連接,寫出最簡與或式,化簡結果是圖1-22例1-21的卡諾圖表示圖1-23例1-21的化簡過程
【例1-22】用卡諾圖化簡邏輯函數(shù)
。
解(1)畫出4變量邏輯函數(shù)的卡諾圖。由于該函數(shù)表達式為標準與或式,因此直接將表達式中的最小項填入卡諾圖中,如圖1-24所示。
(2)為幾何相鄰的最小項畫包圍圈,如圖1-25所示。
(3)寫出每一個包圍圈對應的乘積項表達式,如圖1-25所示。
(4)寫出最簡與或式。由卡諾圖可寫出最簡與或表達式如下:圖1-24例1-22的卡諾圖表示圖1-25例1-22的化簡過程
7.具有約束的邏輯函數(shù)的化簡
(1)邏輯函數(shù)的無關項。日常生活中許多具體的邏輯函數(shù),輸入變量的取值受一定條件限制,這種對輸入變量取值所加的限制稱為約束。
例如,用三個輸入變量A、B、C分別表示電梯的上升、下降和停止這三種工作狀態(tài),并規(guī)定A?=
1表示電梯處在上升的工作狀態(tài),B?=
1表示電梯處在下降的工作狀態(tài),C?=
1表示電梯處在停止的工作狀態(tài)。因電梯在任何時候只能處在一個特定的工作狀態(tài)下,所以,不允許同時有兩個或兩個以上的輸入變量為1。即,ABC的取值只能是100、010、001當中的某一種,而不能出現(xiàn)000、011、101、110、111中的任何一種,因此A、B、C是一組具有約束的變量。在具有約束的邏輯關系中,不能出現(xiàn)的變量取值所對應的最小項稱為約束項。在上例中,不能出現(xiàn)的變量取值有000、011、101、110、111,則對應的約束項為、、、、。
在具有約束的邏輯函數(shù)中,通常用約束條件來描述約束的具體內容。由于每一個約束項對應的變量取值都是不能出現(xiàn)的,因此可用約束項恒等于0來表示約束條件。故上例中約束條件可寫為或寫成或或有時還會遇到某些最小項的取值是1或是0,對邏輯函數(shù)最終的邏輯狀態(tài)沒有影響的情況,具有這種特性的最小項稱為邏輯函數(shù)的任意項。
邏輯函數(shù)的約束項和任意項統(tǒng)稱為無關項。無關項在真值表或卡諾圖中用符號“×”來表示。
(2)無關項在邏輯函數(shù)化簡中的作用。當邏輯函數(shù)帶有無關項時,因為無關項的值取“1”或是“0”對邏輯函數(shù)最終的邏輯狀態(tài)沒有影響,所以,可根據(jù)需要選擇合適的無關項,幫助邏輯函數(shù)進行化簡。
對帶無關項的邏輯函數(shù)進行化簡時,可將合并到包圍圈中的無關項視為1,包圍圈以外的無關項視為0進行化簡。究竟把無關項作為1還是作為0,應以得到的包圍圈最大且包圍圈個數(shù)最少為原則。下面舉例說明帶約束關系的邏輯函數(shù)式化簡方法。
【例1-23】用卡諾圖化簡具有約束關系的邏輯函數(shù)
。已知約束條件為
。
解該邏輯函數(shù)的卡諾圖如圖1-26所示。如按圖1-26所示的圓圈合并最小項,可得最簡與或式為
利用無關項的性質,取無關項中的為1,其余的兩項為0,可得如圖1-27所示的卡諾圖。按圖1-27所示的包圍圈合并最小項,可得最簡與或式為
由上面化簡的過程可見,合理設置無關項的值對化簡邏輯函數(shù)有幫助,有可能達到更為簡單的結果。圖1-26例1-23的卡諾圖圖1-27無關項確定后的卡諾圖
【例1-24】用卡諾圖化簡具有約束關系的邏輯函數(shù)。
解該邏輯函數(shù)表達式中第一個求和號表示五個最小項的和,第二個求和號表示約束條件,對應的最小項為約束項。在卡諾圖中最小項m0、m1、m2、m8、m9的位置填“1”,約束項m10、m11、m12、m13、m14、m15在卡諾圖中填“×”,如圖1-28所示,按圖中所示的包圍圈合并最小項,可得最簡與或式為
Y(A,B,C,D)
注意:圖中虛框所畫的包圍圈是多余的,因為圈中并沒有包含新的沒被其他圈包圍的最小項。圖1-28例1-24的卡諾圖1.3.4邏輯門電路
前面介紹了與、或、非三種基本邏輯運算以及與非、或非、異或、異或非等常用的復合邏輯運算。在數(shù)字系統(tǒng)中,能實現(xiàn)基本和常用邏輯運算的電子電路,稱為邏輯門電路。能實現(xiàn)與運算的邏輯門電路稱為與門,能實現(xiàn)或運算的邏輯門電路稱為或門,能實現(xiàn)非運算的邏輯門電路稱為非門或反相器。此外,還有與非門、或非門、異或門、異或非門等。
組成門電路的基本半導體元器件有二極管、三極管及金屬氧化物半導體(MetalOxideSemiconductor,MOS)管,它們在一定條件下均具有導通及截止兩種狀態(tài),可實現(xiàn)電子開關的功能。本節(jié)簡單介紹門電路的基本構成。
1.簡單的分立元件門電路
1)二極管與門
由半導體二極管構成的與門電路如圖1-29所示。電路中A、B為輸入端,Y為輸出端。工作原理如下:
(1)當A、B端均輸入低電平0V時,兩個二極管均正向導通,輸出端Y的輸出電壓為二極管的正向導通壓降0.7V,此為低電平。
(2)當A、B輸入端一個輸入低電平0V,另一個輸入高電平3V時,輸入低電平0V的二極管必然導通,使輸出端Y的輸出電壓為低電平0.7V。圖1-29二極管與門
(3)當A、B端均輸入高電平3V時,兩個二極管均正向導通,輸出端Y的輸出電壓為高電平3.7V。
上述關系可整理為電平表,見表1-14。
如果將輸入、輸出中的高電平用邏輯1表示,低電平用邏輯0表示,則可得到如表1-15所示的真值表。由真值表可見,圖1-29所示的電路實現(xiàn)了與邏輯關系。表1-14圖1-29電路的輸入輸出電平表表1-15圖1-29電路的真值表
2)二極管或門
圖1-30所示為由半導體二極管構成的或門電路。電路中A、B為輸入端,Y為輸出端。
工作原理如下:
(1)當A、B端均輸入低電平0V時,兩個二極管均截止,輸出端Y的輸出電壓為低電平0V。
(2)當A、B輸入端一個輸入低電平0V,另一個輸入高電平3V時,輸入高電平3V的二極管必然導通,使輸出端Y的輸出電壓為高電平2.3V。
(3)當A、B端均輸入高電平3V時,兩個二極管均正向導通,輸出端Y的輸出電壓為高電平2.3V。圖1-30二極管或門上述關系可整理為電平表,見表1-16。
如果將輸入、輸出中的高電平用邏輯1表示,低電平用邏輯0表示,則可得到如表1-17所示的真值表。由真值表可見,圖1-30所示的電路實現(xiàn)了或邏輯關系。表1-16圖1-30電路的輸入輸出電平表
表1-17圖1-30電路的真值表
3)三極管非門(反相器)
圖1-31所示為由三極管構成的非門電路。圖中A為信號輸入端,Y為輸出端。其工作原理如下:
(1)當A端輸入低電平0V時,三極管截止,ic?≈?0,Y端輸出高電平5V。
(2)當A端輸入高電平5V時,三極管飽和導通,導通后Vce≤0.3V,故Y端輸出低電平。
上述關系可整理為電平表,見表1-18。
如果將輸入、輸出中的高電平用邏輯1表示,低電平用邏輯0表示,則可得到如表1-19所示的真值表。由真值表可見,圖1-31所示的電路實現(xiàn)了非邏輯關系。圖1-31三極管反相器表1-18圖1-31電路的輸入輸出電平表
表1-19圖1-31電路的真值表
4)?MOS三極管非門
圖1-32所示為由N溝道MOS三極管非門構成的電路圖。圖中A為信號輸入端,Y為輸出端。其工作原理如下:
(1)當A端輸入低電平0V時,MOS管截止,電流為0,Y端輸出高電平10V。
(2)當A端輸入高電平10V時,MOS管飽和導通,Y端輸出低電平。
顯然,圖1-32所示的電路實現(xiàn)了非邏輯關系。圖1-32NMOS反相器
2.TTL集成門電路
集成門電路是指將構成門電路的元器件和連線都制作在一塊半導體芯片上再封裝起來的門電路芯片。
按集成度劃分,集成門電路可分為小規(guī)模集成電路SSI、中規(guī)模集成電路MSI、大規(guī)模集成電路LSI、超大規(guī)模集成電路VLSI。
按構成集成門電路的主要元器件劃分,可分為TTL集成門電路及CMOS集成門電路。
TTL是晶體管—晶體管邏輯電路的簡稱。TTL集成電路的輸入級和輸出級都采用半導體三極管。
圖1-33為TTL反相器、TTL與非門、TTL或非門的典型電路圖。圖1-33TTL反相器、與非門、或非門電路圖其中TTL反相器的工作原理如下:
(1)當輸入端A輸入低電平0V時,V1的基極電流iB1流入發(fā)射極,即由A端流出,因此V2的基極電流iB2為0,V2截止,因而V4的基極也無電流,V4也截止,而此時V3和二極管VD將導通,輸出端Y輸出高電平3.6V。
(2)當輸入端A輸入高電平3.6V時,V1倒置(即發(fā)射極和集電極顛倒),ib1流入V2基極,使V2飽和導通,進而使V4飽和導通,而V3和VD將截止。由于V4飽和導通,從而使輸入端Y輸出≤0.3V的低電平。
從以上分析可看出圖1-33(a)所示的電路實現(xiàn)了反相器功能。不難分析,圖1-33(b)所示電路中,V1使用多發(fā)射極三極管,只要有一個輸入端輸入低電平0V,就會輸出高電平3.6V,只有所有輸入端都輸入高電平3.6V,V4才飽和導通,輸出低電平。因而電路具有了與非邏輯功能。
而圖1-33(c)所示電路中,兩個輸入端分別各自擁有VD1、V1、V2、R1和、、、,只要有一個輸入端輸入高電平,V4就能導通,輸出低電平,只有當所有輸入端均輸入低電平0V時,輸出才為高電平。因而電路具有或非邏輯功能。
有了以上3種邏輯門電路,不難組合得到與門、或門、異或門等其他邏輯門電路。
3.CMOS集成門電路
CMOS集成電路中的基本邏輯單元是PMOS管和NMOS管,它們按互補對稱的形式連接起來,因而稱為CMOS。
圖1-34所示為CMOS非門(反相器)的典型電路圖,電路中VDD接?+5?V。電路由一個PMOS晶體管(V1)和一個NMOS晶體管(V2)互補連接組成。其工作原理如下:
(1)當uA?=?0V(低電平)時,V1導通,V2截止,于是uY?=?VDD?=?5V(高電平);
(2)當uA?=?5V(高電平)時,V1截止,V2導通,于是uY?=?0V(低電平)。
顯然,圖1-34所示電路實現(xiàn)了非門邏輯功能。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年執(zhí)法資格考試試題及答案
- 2025-2030年中國直射式超低頻音箱數(shù)據(jù)監(jiān)測研究報告
- 2025屆貴州省安順市高三下學期3月聯(lián)考(二模)歷史試題
- 部編版小學五年級語文下冊非連續(xù)性文本閱讀訓練(含答案)
- 部編版五年級下冊道德與法治期末測試卷(含答案)
- Unit 5 Do you want to watch a game show?Section A(1a-2d)同步提升練習(含答案)
- 花藝軟裝造景施工方案
- 網架施工施工方案
- 產品發(fā)布前全面測試執(zhí)行計劃
- 環(huán)保行業(yè)環(huán)境監(jiān)測技術專業(yè)試題
- 2025年湖南益陽市生態(tài)環(huán)境局招聘10人歷年高頻重點模擬試卷提升(共500題附帶答案詳解)
- 2025年深圳市高三語文一?!梆囸I感缺失是好事嗎”作文分析
- (正式版)HG∕T 21633-2024 玻璃鋼管和管件選用規(guī)定
- 護林員系統(tǒng)培訓
- 辦公耗材采購 投標方案(技術方案)
- 南寧市普通住宅小區(qū)物業(yè)服務等級及收費標準
- (完整版)機加中心績效考核方案
- 河北省建筑施工安全技術資料管理標準
- WC55Y支架搬運車PPT課件
- 壓力容器涂敷運輸包裝工藝規(guī)程
- XDFA操作手冊
評論
0/150
提交評論