跳轉到內容

實用電子學/邏輯

來自Wikibooks,開放世界中的開放書籍

在電子學意義上,邏輯意味著電路僅使用兩個電壓電平工作 - 高電平和低電平(或開/關、真/假或1/0)。這些電壓電平有時稱為邏輯電平,數位電路僅使用這些邏輯電平來表示資訊。

邏輯閘

[編輯 | 編輯原始碼]
輸入 輸出
A Q
0 1
1 0

邏輯閘是可以組合多個獨立邏輯電平的輸入並根據輸入產生相應輸出的器件。邏輯閘有很多種類,區別在於每種邏輯閘對輸入的處理方式不同,對於相同的輸入可能產生不同的輸出。

邏輯閘處理不同輸入的方式在該門的**真值表**中給出,真值表列出了所有可能的輸入組合及其對應的輸出。下面給出了一個簡單的單輸入門的示例,該門的函式是輸出與輸入相反的邏輯電平。輸入在左邊,輸出在右邊。通常,輸入稱為A、B、C等,輸出標記為Q。在本例中,只有兩個可能的輸入,1或0,但邏輯閘可以有任意數量的輸入。

有七種邏輯閘,每種邏輯閘都有與其相關的電路符號。事實上,有幾個相互衝突的標準定義了邏輯閘的符號。標準符號是ANSI符號,有時也稱為MIL符號。這些符號最具特色,並且被廣泛使用和認可。建議在基本邏輯電路中使用這些符號,本華夏公益教科書將只使用這些符號,而不會使用其他符號。在高階邏輯設計中,最好使用IEC(矩形)符號,但這屬於本書更高階的層次。三種符號集之間的比較在此處給出。

布林代數

[編輯 | 編輯原始碼]

1847年,喬治·布林發明了一種簡寫方法來書寫要麼是**真**要麼是**假**的邏輯語句。布林證明二進位制(他邏輯的二值特性)適用於符號、字母,甚至單詞本身。他的邏輯分支現在是數學的一個組成部分。他對邏輯語句的數學分析被稱為**布林代數**。

直到1940年,克勞德·夏農才注意到布林代數的特性,即只有兩個值真和假也適用於電話交換電路的設計。他的論文**繼電器和開關電路的符號分析**被認為是20世紀最重要的碩士論文之一。

布林代數是一種用數學方式表達對資料執行的邏輯運算的方法。每個邏輯閘執行的運算都有相應的符號,這些符號在下面的相關章節中給出。它使用了一些其他地方通常不使用的符號,這些符號的用法將在下面解釋。布林代數可以用來表示同時執行的多個邏輯運算,這在本節中解釋。

每種邏輯閘在寫下函式時都有自己的符號,但理想情況下,只使用非門、與門、或門和異或門的符號,以減少混淆並簡化簡化

7種基本邏輯閘

[編輯 | 編輯原始碼]

非門 (NOT)

[編輯 | 編輯原始碼]
A Q
Ā
0 1
1 0

**非門**或**反相器**是最簡單的邏輯閘。它的功能是輸出與其輸入相反的邏輯電平 - 如果輸入為高電平,則輸出為低電平,反之亦然。這等價於說輸出不是輸入。

非門的電路符號是一個三角形,尖端指向輸出,輸出端有一個圓圈。

非運算子的布林符號是在相關輸入上加一條線。因此,布林表示式輸出Q不是輸入A,是

非門可以用多種方式實現。有關更多資訊,請參見以下內容

  • 4049 - 標準CMOS反相器。此IC包含六個獨立的反相器。
  • 反相器的替代方案。此頁面詳細介紹了除使用4049之外的其他實現邏輯非運算的方法。


與門 (AND)

[編輯 | 編輯原始碼]
A B Q
AB
0 0 0
0 1 0
1 0 0
1 1 1

**與門**僅當兩個輸入都為1時才輸出邏輯1。如果任一輸入或所有輸入為0,則輸出也為0。
這等價於說,當一個輸入另一個輸入都為高電平時,輸出為高電平。因此,與門也被稱為“全有或全無”門。

與門的電路符號是一個盒子,一端為矩形(輸入),另一端為半圓形(輸出)。

布林乘法等價於與運算(原因見此處)。因此,與門可以用乘法點·或將兩個項放在一起表示。

有關與門實現的更多資訊,請參見以下內容

  • 4081 - 標準CMOS與門。此IC包含四個獨立的與門。
  • 與門的替代方案。此頁面詳細介紹了除使用4081之外的其他實現邏輯與運算的方法。


與非門 (NAND)

[編輯 | 編輯原始碼]
A B Q
A|B
0 0 1
0 1 1
1 0 1
1 1 0

與非門只有當兩個輸入都為高電平時才會輸出低電平。如果一個或多個輸入為低電平,則輸出為高電平。這等價於說,輸出不是對具有相同輸入的與門輸出的非運算。這種“非與”組合簡稱為與非。

與非門的電路符號(左側)是一個帶有矩形端(輸入)和半圓形端(輸出)的方框。這個輸出端有一個小圓圈,表示反相。

與非運算子的布林符號是一條垂直線(Sheffer 豎線)。因此,與非門可以用布林表示式表示為

與非也可以寫成與運算的否定(非)

這是首選的表示法,因為它更容易理解基本函式的運作方式。

有關與門實現的更多資訊,請參見以下內容

  • 4011 - 標準的 CMOS 與非門。此積體電路包含四個獨立的與非門。
  • 與非門的替代方案。此頁面詳細介紹了除使用 4011 外,實現邏輯與非運算的其他方法。

與非門具有以下特性:任何其他邏輯閘都可以僅用與非門構成。有關實現此方法的資訊,請參閱與非邏輯(與非邏輯)。


A B Q
A+B
0 0 0
0 1 1
1 0 1
1 1 1

或門如果任何一個輸入為高電平,則輸出高電平。如果所有輸入都為低電平,則輸出為低電平。這等價於說,只有當一個或另一個或兩個輸入都為高電平時,輸出才為高電平。

或門的電路符號(左側)與與門類似,但輸出端為尖端,輸入端為凹端。

布林加法等價於或函式(請參閱此處的原因)。因此,或門可以用加號(+)表示

也可以使用 V 形符號,但它並不常見,通常不應使用。

有關或門實現的更多資訊,請參閱以下內容

  • 4071 - 標準的 CMOS 或門。此積體電路包含四個獨立的或門。
  • 或門的替代方案。此頁面詳細介紹了除使用 4071 外,實現邏輯或運算的其他方法。


A B Q
A⊥B
0 0 1
0 1 0
1 0 0
1 1 0

或非門只有當沒有輸入為高電平時才會輸出高電平。如果一個輸入為高電平,則輸出為低電平。這等價於說,只有當既不一個也不另一個輸入為高電平時,輸出才為高電平。它與或門相反。

或非門的電路符號(左側)與或門類似,但增加了一個圓圈,表示與或門的反相。

或非也可以寫成或運算的否定(非)

.

這是首選的表示法。或非運算子的另一個符號是類似“⊥”的符號,當無法輕鬆繪製頂部的線時(例如,在此類普通文字中)可以使用它。

有關或非門實現的更多資訊,請參閱以下內容

  • 4001 - 標準的 CMOS 或非門。此積體電路包含四個獨立的或非門。
  • 或非門的替代方案。此頁面詳細介紹了除使用 4001 外,實現邏輯或非運算的其他方法。

或非門具有以下特性:任何其他邏輯閘都可以僅用或非門構成。有關實現此方法的資訊,請參閱或非邏輯

A B Q
A≠B
0 0 0
0 1 1
1 0 1
1 1 0

異或門(“exclusive-OR”的縮寫)如果一個輸入為高電平而另一個輸入為低電平,則輸出高電平。如果兩個輸入相同,則輸出為低電平。這等價於說,只有當一個或另一個但不是兩個輸入都為高電平時,輸出才為高電平。

異或門的電路符號(左側)與或門類似,但在凹形輸入端使用雙線。

異或運算子的布林符號是圓圈中的加號,或者,因為它只在輸入不同時返回高電平,所以是不等於號(通常不使用)。因此,異或門可以用以下布林表示式表示


有關異或門實現的更多資訊,請參閱以下內容

  • 4030 - 標準 CMOS 異或門。該積體電路包含四個獨立的異或門。
  • 異或門的替代方案。此頁面詳細介紹了實現邏輯異或運算的其他方法,而不是使用 4030。

異或非

[編輯 | 編輯原始碼]
A B Q
A≡B
0 0 1
0 1 0
1 0 0
1 1 1

異或非門,簡稱“異或非”,如果兩個輸入都相同則輸出高電平 - 它是異或門的反面。

異或非門的電路符號(左圖)與異或門的符號相似,但它有一個圓圈表示輸出處的反相。

異或非寫成異或函式的否定

由於異或非函式僅當兩個輸入相同時才返回“1”,因此異或非運算子的布林符號是等價符號(≡)(在普通文字中為不等號)。由於這看起來非常像等號,因此很容易被誤解,應儘量避免使用。

有關異或非門的實現的更多資訊,請參見以下內容

  • 4077 - 標準 CMOS 異或非門。該積體電路包含四個獨立的異或非門。
  • 異或非門的替代方案。此頁面詳細介紹了實現邏輯異或非運算的其他方法,而不是使用 4077。

邏輯閘的應用

[編輯 | 編輯原始碼]
阿波羅制導計算機使用的或非門

邏輯閘是大多數數位電子產品的基石,事實上,阿波羅飛船上的整個機載計算機完全由或非門構成。它僅包含 6 個電晶體和 8 個電阻,實現了兩個 3 輸入或非門。(參見右側圖表)。

它是一個非常簡單的邏輯閘:如果所有輸入都為低電平,則輸出為高電平。但是,或非門是一個通用門,這意味著您可以用或非門構建任何其他邏輯閘。例如,或非門的輸入連在一起形成一個反相器。在或非門的輸出端放置一個反相器會產生一個或門。在或非門的輸入端放置反相器會產生一個與門。

我們首先嚐試一些非常簡單的例子。

示例 1:洗衣機

[編輯 | 編輯原始碼]

假設您需要設計一臺只有在滿足 3 個條件時才能工作的洗衣機。
水源已開啟,洗衣機已裝入衣物,並且門已關閉。

這可以透過將前兩個條件與第三個條件進行與運算來實現。現在,將這些條件與在一起,只有當所有三個條件都滿足時,您才會得到一個高電平。

布林方程可以總結如下

如果滿足以下條件,則可以啟動洗衣機 (S)
水源已開啟 (A)
洗衣機已裝入衣物 (B)
門已關閉 (C)

或者可以總結為 S=A.B.C

因此,布林方程的真值表包含 8 種可能的情況,如下所示,其中 0 表示假,1 表示真

洗衣機邏輯閘
水源 機器已裝載 門已關閉 功能(輸出) 備註
A B C S=A.B.C
0 0 0 0 洗衣機已關閉
0 0 1 0 洗衣機已關閉
0 1 0 0 洗衣機已關閉
0 1 1 0 洗衣機已關閉
1 0 0 0 洗衣機已關閉
1 0 1 0 洗衣機已關閉
1 1 0 0 洗衣機已關閉
1 1 1 1 洗衣機已開啟

只需使用三個邏輯與門,問題就得到了解決。

示例 2:安全警報

[編輯 | 編輯原始碼]

您需要設計一個安全警報系統,以保護銀行金庫免受鑰匙開關啟動時透過門和窗的未經授權的進入。
當鑰匙開關啟動並且門或窗開啟時,安全警報將被觸發。

我們假設 0 為假,1 為真。

布林方程可以總結為:當鑰匙開關啟動時,如果門或窗開啟,警報將被觸發

如果鑰匙開關 (K) 啟動並且,則啟用報警系統 (S)
窗戶 (W) 開啟
門 (D) 開啟
門和窗都開啟

或者可以總結為 S=K.(W+D) 因此,布林方程的真值表包含 8 種可能的情況,如下所示,其中 0 表示假,1 表示真

安全警報的邏輯閘
鑰匙開關 窗戶 功能(輸出) 備註
K W D S=K.(W+D)
0 0 0 0 報警系統已關閉
0 0 1 0 報警系統已關閉
0 1 0 0 報警系統已關閉
0 1 1 0 報警系統已關閉
1 0 0 0 報警系統已關閉
1 0 1 1 報警系統已開啟
1 1 0 1 報警系統已開啟
1 1 1 1 報警系統已開啟

其他應用

[編輯 | 編輯原始碼]

但是,邏輯閘也用於製造觸發器和其他重要的電子元件。

它們的一種方便用途是作為傳輸門,它僅在特定條件下允許訊號透過。

參考文獻

[編輯 | 編輯原始碼]
華夏公益教科書