2.1.1 邏輯變量與邏輯函數(shù) 與普通代數(shù)一樣邏輯代數(shù)中的變量也用英文字母A,B,,C,…等來表示,稱為邏輯變量,,邏輯變量的含義與普通代數(shù)情況完全不同,,它們之間有著本質(zhì)的區(qū)別,邏輯變量的取值只有兩種可能:0或1,,而且沒有中間值,,0和1并不表示數(shù)量的大小,而是表示兩種對立的狀態(tài),。按照邏輯學(xué)中的因果關(guān)系,,某件事情的發(fā)生(結(jié)果)必然要具備其發(fā)生的條件(原因),這里可以約定1表示條件具備或事件發(fā)生,,0表示條件不具備或事件不發(fā)生,;相反也可以約定1表示條件不具備或事件不發(fā)生,0表示條件具備或事件發(fā)生。 如圖2.1.1所示的電燈開關(guān)電路中,,電燈是否點(diǎn)亮(結(jié)果)取決于開關(guān)是否接通(條件),。若定義Y=1表示燈點(diǎn)亮,Y=0表示燈熄滅,;那么可以用A=1表示開關(guān)閉合,,A=0表示開關(guān)斷開。由于Y與A都是取值為1或?yàn)?strong>0的邏輯變量,,并且開關(guān)的邏輯狀態(tài)決定了電燈的邏輯狀態(tài),,因此Y是A的函數(shù),其函數(shù)表達(dá)式可寫為Y=f(A),,邏輯變量A的取值決定了邏輯函數(shù)Y的結(jié)果,。一般來說,一個邏輯函數(shù)中應(yīng)包含多個邏輯變量,,邏輯函數(shù)可表示為Y=f(A,,B,C,,…),,表達(dá)式由邏輯變量A,B,,C,,…和邏輯運(yùn)算符等組成。邏輯運(yùn)算符是邏輯運(yùn)算關(guān)系中特定的符號,,邏輯代數(shù)中最基本的邏輯運(yùn)算有與,、或、非三種,,每種運(yùn)算代表一種函數(shù)關(guān)系,,這種函數(shù)關(guān)系可用邏輯符號寫成邏輯表達(dá)式形式來描述,亦可以用文字來描述,,還可以用表格或圖形的方式來描述,。
2.1.2 基本邏輯運(yùn)算 人們常用因果關(guān)系來描述客觀事物條件與結(jié)果之間的關(guān)系。在邏輯代數(shù)中,最基本的邏輯關(guān)系有三種,即與邏輯關(guān)系,、或邏輯關(guān)系,、非邏輯關(guān)系。下面通過幾個具體的例子來描述這三種基本的邏輯關(guān)系,。 一,、與邏輯 如圖2.1.2所示,A,、B兩串聯(lián)開關(guān)控制電燈Y,,開關(guān)A,、B的狀態(tài)組合有四種,這四種不同的狀態(tài)組合與電燈點(diǎn)亮與熄滅之間的關(guān)系如表2.1.1所示,。
從表中可以看出,,只有當(dāng)開關(guān)A、B同時閉合時,,電燈Y才會點(diǎn)亮,;否則處于熄滅的狀態(tài)。現(xiàn)在用1來表示條件具備或事件發(fā)生,,即用1來表示開關(guān)閉合及燈亮,;用0來表示條件不具備或事件不發(fā)生,即用0來表示開關(guān)斷開及燈滅,。因此表2.1.1所示的邏輯關(guān)系可以表示為表2.1.2所示的形式,。這種把輸入邏輯變量的所有取值組合及其相對應(yīng)的輸出結(jié)果列成的表格稱之為真值表。從表2.1.1中可以得到如下的因果關(guān)系:只有當(dāng)決定某一事件的條件(如開關(guān)閉合)全部具備時,,這一事件(如燈亮)才會發(fā)生,。這種因果關(guān)系稱之為與邏輯關(guān)系。根據(jù)表2.1.2所示輸出邏輯變量(邏輯函數(shù))及輸入邏輯變量的關(guān)系,,這種與邏輯關(guān)系可以寫成如下的邏輯函數(shù)表達(dá)式 Y=A·B (2.1.1) 式中:A與B為輸入邏輯變量,,即自變量;Y為輸出邏輯變量,,即因變量,。式中的與運(yùn)算符號“·”在不至于混淆的情況下,一般可以省略,。與運(yùn)算的意義為:只有當(dāng)A和B都為1時,,函數(shù)值Y才為1。讀者很容易推廣到三個(或三個以上)輸入變量的情況,。
由與邏輯關(guān)系的真值表可知與邏輯運(yùn)算的運(yùn)算規(guī)律為 0·0=0 0·1=1·0=0 1·1=1 簡單的記為:“有0出0,,全1出1”。 由此推出一般形式 A·0=0 (2.1.2) A·1=A (2.1.3) A·A=A (2.1.4) 二,、或邏輯 將圖2.1.2所示電路稍作改變,,把兩個串聯(lián)開關(guān)改為兩并聯(lián)開關(guān)控制電燈,電路如圖2.1.3所示,。兩并聯(lián)開關(guān)也有四種不同的狀態(tài)組合,這些狀態(tài)組合與燈亮,、燈滅之間的關(guān)系如表2.1.3所示,。同樣用1表示條件具備或事件發(fā)生,0表示條件不具備或事件不發(fā)生,,及1表示開關(guān)閉合,、燈亮,,0表示開關(guān)斷開、燈滅,,可以得到如表2.1.4所示的真值表,。從其邏輯狀態(tài)表中可以得到這樣的因果關(guān)系:只有在決定某一事件(如燈亮)的各種條件中,有一個或幾個條件(如開關(guān)閉合)具備時,,這一事件就會發(fā)生,。這種因果關(guān)系稱之為或邏輯關(guān)系。
上述這種或邏輯關(guān)系可以寫成如下的邏輯函數(shù)表達(dá)式 Y=A+B (2.1.5) 式中“+”為或邏輯運(yùn)算符號,?;蜻\(yùn)算的意義為:A或B只要有一個為1,則函數(shù)值Y為1,。 由或邏輯關(guān)系的真值表可知或邏輯運(yùn)算的運(yùn)算規(guī)律為 0+0=0 0+1=1+0=1 1+1=1 簡單的記為:“有1出1,,全0出0”。 由此推出一般形式: A+0=A (2.1.6) A+1=1 (2.1.7) A+A=A (2.1.8) 三,、非邏輯 如圖2.1.4所示的開關(guān)電路中,,開關(guān)A閉合時,燈亮,;開關(guān)A斷開時,,燈滅。若用1表示開關(guān)閉合及燈亮,,0表示開關(guān)斷開及燈滅,,可得邏輯真值表如表2.1.5所示。從其邏輯狀態(tài)表中得到的因果關(guān)系如下:決定某一事件發(fā)生的條件(如開關(guān)閉合)具備時,,事件(如燈亮)不發(fā)生,;而當(dāng)事件發(fā)生的條件不具備時,事件發(fā)生,。這種因果關(guān)系稱之為非邏輯關(guān)系,。
上述這種非邏輯關(guān)系可寫成如下邏輯函數(shù)表達(dá)式 (2.1.9) (2.1.9)式右邊讀作“A非”或“非A”。其中“ˉ”為非邏輯的邏輯運(yùn)算符號,。非運(yùn)算的意義為:邏輯函數(shù)值為輸入邏輯變量的反,。 由非邏輯關(guān)系的真值表可知非邏輯的運(yùn)算規(guī)律為:
簡單的記為:“有0出1,有1出0”,。 由此推出其一般形式 (2.1.10) (2.1.11) =0 (2.1.12) 2.1.3 復(fù)合邏輯運(yùn)算 實(shí)際數(shù)字系統(tǒng)中遇到的邏輯關(guān)系問題往往要比簡單的與,、或、非邏輯關(guān)系復(fù)雜得多,,但是它們可以通過與,、或、非的不同組合來實(shí)現(xiàn),,從而進(jìn)行一些復(fù)合邏輯運(yùn)算,。常見的復(fù)合邏輯有:與非邏輯,、或非邏輯、與或非邏輯,、同或邏輯,、異或邏輯等。 一,、與非邏輯 與非邏輯實(shí)際上是與邏輯與和邏輯非的復(fù)合,,它首先將輸入變量進(jìn)行與運(yùn)算,然后再進(jìn)行非運(yùn)算,。對于一個二輸入邏輯變量的與非邏輯來說,,其邏輯函數(shù)表達(dá)式為 (2.1.13) 與非邏輯的真值表如表2.1.6所示。
二,、或非邏輯 或非邏輯實(shí)際上是或邏輯和非邏輯的組合,,它首先將輸入變量進(jìn)行或運(yùn)算,然后再進(jìn)行非運(yùn)算,。對于一個二輸入邏輯變量的或非邏輯來說,,其邏輯函數(shù)表達(dá)式為 (2.1.14)
或非邏輯的真值表如表2.1.7所示。
三,、與或非邏輯 與或非邏輯是由與邏輯,、或邏輯、非邏輯組合而成的,,它首先將輸入邏輯變量進(jìn)行與運(yùn)算,,然后再進(jìn)行或運(yùn)算,最終進(jìn)行非運(yùn)算,。對于一個2-2輸入邏輯變量的與或非邏輯來說,,其邏輯函數(shù)表達(dá)式為: (2.1.15) 與或非邏輯的真值表如表2.1.8所示。
四,、同或邏輯與異或邏輯 同或邏輯與異或邏輯都是只有兩個輸入邏輯變量的函數(shù),。 當(dāng)兩個輸入邏輯變量取值相同時,輸出邏輯函數(shù)值為1,;兩個輸入邏輯變量取值不同時,,輸出邏輯函數(shù)值為0。這種邏輯關(guān)系稱之為“同或”邏輯,。其邏輯函數(shù)表達(dá)式為 =⊙=+ (2.1.16) 式中:“⊙”為同或邏輯的運(yùn)算符號,。
同或邏輯的真值表如表2.1.9所示。 由同或邏輯的真值表可知同或運(yùn)算的規(guī)律為 0⊙0=1 0⊙1=1⊙0=0 1⊙1=1 簡單的記為:“相同為1,,相異為0”,。 由此推出一般形式 ⊙0= (2.1.17) ⊙1= (2.1.18) ⊙=0 (2.1.19) ⊙=1 (2.1.20) 與同或邏輯相反,當(dāng)兩個輸入邏輯變量的取值相異時,輸出邏輯函數(shù)值為1,;兩個輸入邏輯變量取值相同時,輸出邏輯函數(shù)值為0,。這種邏輯關(guān)系稱之為異或邏輯關(guān)系,。其邏輯函數(shù)表達(dá)式為 (2.1.21) 式中“”為異或邏輯的運(yùn)算符號。 異或邏輯的真值表如表2.1.10所示,。
由異或邏輯的真值表可知異或運(yùn)算的規(guī)律為
簡單的記為:“相同為0,,相異為1”。 由此推出一般形式 (2.1.22) (2.1.23) (2.1.24) (2.1.25) 2.1.4邏輯函數(shù)與真值表 在實(shí)際邏輯問題中,。前面介紹的的基本運(yùn)算和復(fù)合運(yùn)算是很少單獨(dú)出現(xiàn),,往往是構(gòu)成各種復(fù)雜邏輯運(yùn)算的基本單元,邏輯代數(shù)中的函數(shù)與普通代數(shù)中函數(shù)定義相類似,,一個多變量輸入的邏輯函數(shù)Y=f(A,,B,C,,…),,函數(shù)表達(dá)式由邏輯變量A,B,,C,,…和運(yùn)算符號“+”,“ˉ”,,“·”來構(gòu)成,。但概念上與普通代數(shù)的函數(shù)有本質(zhì)的區(qū)別,主要表現(xiàn)為: (1)邏輯函數(shù)自身和邏輯變量的取值只有0和1兩種可能,。 (2)邏輯函數(shù)與變量之間的關(guān)系完全由與,、或、非三種基本運(yùn)算確定,。 從數(shù)字電路的角度邏輯函數(shù)可按如下定義: 設(shè)邏輯電路的輸入邏輯變量為A,,B,C,,…,,邏輯電路的輸出Y,當(dāng)A,,B,,C,…的值確定后,,則Y的值就被唯一地確定下來,,那么Y被稱為A,B,,C,,…的邏輯函數(shù),。 例如:,就是一個邏輯函數(shù)表達(dá)式,其中表示邏輯變量A與B的反變量,,表述一個邏輯電路輸出端Y與其輸入邏輯變量A,,B,C之間的關(guān)系,。 一,、邏輯函數(shù)的真值表 邏輯函數(shù)表達(dá)式是表示輸出量與輸入量之間邏輯關(guān)系的一種形式,在數(shù)字邏輯電路中用真值表來描述邏輯函數(shù)更能直觀輸出量和輸入量之間的邏輯關(guān)系,。用真值表描述邏輯函數(shù)的方法是一種表格表示法,,由于一個邏輯變量只有0和1兩種可能的取值,故n個邏輯變量一共有種可能的組合,。任何邏輯函數(shù)總和若干個邏輯變量相關(guān)的,,有限的變量個數(shù)使得變量取值組合的總數(shù)必然是有限的,從而能夠用窮舉的方法來描述邏輯函數(shù)的功能,。為了清晰,,常用的方法是對一個函數(shù)求出所有輸入變量取值下的函數(shù)值,用表格的形式記錄下來,,這種表格就稱為真值表,。換而言之,真值表是一種由邏輯變量的所有可能取值組合及其對應(yīng)的邏輯函數(shù)值勤所構(gòu)成的表格,。 真值表由兩部份組成,,左邊一欄列出變量的所有取值組合,為了不發(fā)生遺漏,,通常各變量取值組合按二進(jìn)制數(shù)碼順序列出,;右邊一欄為邏輯函數(shù)的值。 例如:一個三輸入變量的邏輯函數(shù)為,,其真值勤表如表2.1.11所示,。
真值表是一種十分有用的邏輯性工具,在邏輯性問題分析與設(shè)計(jì)中,,會經(jīng)常用這一工具,。 二、真值表的邏輯表達(dá)式 真值表的最大特點(diǎn)是可直觀輸出量和輸入量之間的邏輯關(guān)系,,在數(shù)字邏輯電路中經(jīng)常應(yīng)用真值表來分析電路的邏輯功能,。用表格的形式描述邏輯函數(shù)有很明顯的局限性,因而經(jīng)常要把真值表描述的邏輯功能寫成邏輯函數(shù)表達(dá)式的形式,。由真值表寫出邏輯函數(shù)表達(dá)式實(shí)際上是由邏輯函數(shù)列寫真值表的一個逆過程,。 表2.1.11所示真值表與邏輯函數(shù)表達(dá)式的關(guān)系分析如下: 邏輯函數(shù)表達(dá)式可改寫為
當(dāng)A、B、C的取值為011時,,,,則
同理,在A,、B,、C的取值為111、110,、101時,分別使,,和 ,,使邏輯函數(shù)值為。 因此,,由真值表寫出邏輯函數(shù)表達(dá)式時,,首先把每個輸出邏輯變量Y=1的相對應(yīng)的一組輸入變量(A、B,、C,、…)的組合狀態(tài)以與項(xiàng)的形式表示,變量取值為1用原變量形式表示,,變量取值為0用反變量形式表示,;然后將所有使Y=1的與項(xiàng)進(jìn)行邏輯或,便得到了輸出Y的邏輯函數(shù)表達(dá)式,,由于邏輯函數(shù)表達(dá)式Y中包含了所有使Y=1的輸入組合,,因此該表達(dá)式是完備的。
例2.1.1 列出下述邏輯問題的真值表,,并寫出描述該邏輯問題的邏輯函數(shù)表達(dá)式,。 有A、B,、C三個輸入信號,,當(dāng)三個輸入信號出現(xiàn)奇數(shù)個1時,輸出Y為1,;其余情況下,,輸出Y為0。 解 :根據(jù)題意,,當(dāng)三個輸入信號出現(xiàn)奇數(shù)個1時,,輸出為1,其余情況輸出為0,,得到8種不同取值組合的輸出,,真值表如表2.1.12所示。 從真值表中可見,輸出Y=1的輸入變量取值組合為ABC=001,、010,、100、111這四種,,當(dāng)時,,必然使得;當(dāng)時,,必然使得,;當(dāng)A=1,B=0,C=0時,必然使得,;當(dāng)A=B=C=1時,,必然使得,因此輸出Y的邏輯函數(shù)應(yīng)當(dāng)?shù)扔谶@四個與項(xiàng)邏輯之和,,即
綜上所述,,一個邏輯函數(shù)表達(dá)式與表示該邏輯函數(shù)的真值表之間是可以相互轉(zhuǎn)換的。
2.1.5 邏輯函數(shù)的相等 邏輯函數(shù)和普通代數(shù)中的函數(shù)一樣存在相等的問題,。假設(shè)有兩個邏輯函數(shù) (A1,,A2,A3,,…,,An) G(A1,A2,,A3,,…,An) 均為變量A1,,A2,,A3,…,,An的邏輯函數(shù),,如果對應(yīng)于變量A1,A2,,A3,,…,An的任意一組取值,,Y與G的值都相等,,則稱Y和G是等值的,或者說Y和G是相等的,,記作Y=G,。 判斷兩個邏輯函數(shù)是否相等,,通常有兩種方法。一種方法是列出輸入變量所有可能的取值組合,,并按邏輯運(yùn)算法則計(jì)算出各種輸入取值下兩個邏輯函數(shù)的相應(yīng)值,,然后進(jìn)行比較。另一種方法是用邏輯代數(shù)的公理,、定律和規(guī)則進(jìn)行證明,。
|
|