該 邏輯門是數字電子學的基礎. 因此,它們非常重要,如果您想開始使用它們,您應該知道它們是什麼、它們是如何構成的以及它們的功能。 因此,您可以使用市場上存在的具有此類門的系列芯片,以便您可以開始使用這種邏輯來製作自己的項目。
這些門,結合其他 電子元器件,即使是像這樣的盤子 Arduino的, 他們可以給創客帶來很多樂趣 你可以親眼看到。
什麼是邏輯門?
該 邏輯門 它們是實現數字電子電路的數字邏輯的基本要素。 這些門根據其輸入狀態在其輸出端提供低 (0) 或高 (1) 電壓信號。 他們一般有一個出口和兩個入口,但也可能有超過2個入口的門。 此外,還有反相門或非門等特性,它只有一個輸入和一個輸出。
由於這些布爾輸入和輸出,您可以獲得 基本二元邏輯運算,如加法、乘法、求反等。
它們是如何實施的?
邏輯門不僅可以以一種方式實現。 事實上,這就是為什麼有不同的 邏輯家庭. 這些系列中的每一個都將使用不同的電子元件以一種方式實現門。
通過 例子如果芯片使用 TTL,則柵極將由雙極晶體管組成,而 CMOS 邏輯僅基於 MOSFET 晶體管。 除了這兩個通常最流行的家族外,還有其他的,如BiCMOS(結合雙極和CMOS晶體管)、RTL(電阻器和雙極晶體管)、DTL(二極管和晶體管)、ECL、IIL等。
沒有一個家庭比另一個好得多,這將取決於應用程序。 但儘管如此, CMOS 它是CPU、MCU、GPU、內存等高級電路中使用最多的一種。 對於其他更簡單的電路,找到 TTL 也很常見。
應用
這些邏輯門的應用是無窮無盡的。 使用這些必不可少的“磚塊”,您可以構建 多種數字電路. 從一個簡單的加法器,到一個複雜的 CPU,通過許多您可以想像的其他電路。 事實上,您每天使用的許多系統,例如您的 PC、電視、手機等,都有數十億個邏輯門。
Un 實際例子 邏輯門的應用就是這個簡單的加法器,你可以在上圖中看到。 這是一個非常簡單的電路,它能夠在其輸入中添加兩位(A 和 B)以給出總和結果,以及進位,即你帶走的東西......你可以看到它會得到的結果在下表中給出:
A | B | 總和 | 攜帶 | 二進制結果 |
---|---|---|---|---|
0 | 0 | 0 | 0 | 00 |
0 | 1 | 1 | 0 | 01 |
1 | 0 | 1 | 0 | 01 |
1 | 1 | 0 | 1 | 10 |
如果你看這個表,如果你在二進制中加 0 + 0 它給你 0,如果你加 1 + 0 它是 1,但如果你加 1 + 1 它會得到 2,這在二進制系統中對應於 10。
邏輯門的類型
至於 邏輯門的類型,你有很多,儘管最常用的是以下(帶有它們的真值表):
- 緩衝區(是): 它被稱為緩衝區或直接門,因為它的輸出將與它的輸入具有相同的狀態。 儘管它看起來毫無用處,但在許多邏輯電路中,它通常用作電流放大器或電壓跟隨器。
入口 | 出口 |
---|---|
0 | 0 |
1 | 1 |
- 非(逆變器): 是邏輯否定 (¬ o '),也就是說,它反轉其輸出的位。
入口 | 出口 |
---|---|
0 | 1 |
1 | 0 |
- 和 (Y): 這個另一個門執行其輸入的二進制位的乘積函數(·)。 也就是說,這就像將 A 和 B 相乘。因此,任何乘以零都是零,如果兩個輸入都是 1,它只會給它的輸出一個。 因此它的名字是 1 AND 1。
A | B | S |
---|---|---|
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
- 金子): 這個另一個門執行邏輯加法運算(+)。 也就是說,它的輸出之一或另一個,或兩者都必須為 1 才能使其輸出為 1。當兩者都為 0 時,輸出也為 0。
A | B | S |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
- XOR(或獨占): 此異或執行布爾函數 A'B + AB ',其符號為
. 在這種情況下,如果它的兩個輸入相等,則輸出為 0。如果它們不同,則為 1。
A | B | S |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
- NAND(Y 否定): 是取反的邏輯積,即 AND 的逆。 這就像在 AND 輸出上使用 NOT 來反轉輸出位。 因此,結果是:
A | B | S |
---|---|---|
0 | 0 | 1 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
- NOR(或拒絕): 否定的邏輯和,或相同的東西,一個 OR 與其否定的輸出,導致 OR 的逆。
A | B | S |
---|---|---|
0 | 0 | 1 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 0 |
- XNOR(獨占 NOR): 這就像將二進制補碼應用於異或門。 即執行AB+A'B'操作。 A 次 B 添加到 A 次 B 被拒絕。 因此,輸出將類似於反向異或的輸出:
A | B | S |
---|---|---|
0 | 0 | 1 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
NOR 和 NAND 都是兩個最有趣的門,因為它們被稱為 通用邏輯門. 也就是說,您只能使用它們製作電路來表示任何其他類型的邏輯門。 這很重要,因為如果您購買帶有這些門的芯片,您就可以擁有所有功能。 例如,如果 NOR 的兩個輸入被橋接,或者 NAND 相當於一個 NOT。 你在這裡有更多的等價物:
Te 我建議要了解更多信息,請谷歌一個帶有任何門的簡單電路。 並找出它的作用,做一種“逆向工程”,沿著輸入和輸出的線路,根據給輸出的輸入查看每條線路的狀態。
通過 例子如果您查看上圖,即帶有 NAND 門的 OR 的等價圖,您會看到它由兩個輸出橋接的 NAND 門組成,並且兩個輸出都進入另一個 NAND。 請記住以下幾點:
- 如果你去NAND真值表,你會看到當它的兩個輸入為0時輸出為1,當它的兩個輸入為1時輸出為0。
- 由於它們是橋接的,如果輸入為 1(一個同時輸入),則結果為 0。當輸入為 0(均為 1)時,輸出將為 XNUMX,這相當於一個 NOT。
- 因此,對於位 A 和 B,我們有兩個 NOT。因此,在它們的輸出中,我們將有 A '和 B'。
- 這兩個否定進入最後一個 NAND,它將執行這兩個位的逆邏輯乘積。
- 根據邏輯定律,這等於直和,即 A + B。 因此,最終結果就像是一個 OR ...
邏輯門芯片系列 - 何處購買
在專門從事電子產品的商店中,您可以 買便宜的籌碼 使用邏輯門開始在您的項目中使用。 這些芯片不是單個邏輯門,但它們允許您擁有多個邏輯門,以便您可以根據需要鏈接它們的輸入和輸出。 例如,在上圖中的圖表中,您可以看到具有 4 個與非門的 DIP 芯片的典型引腳排列。 此外,它還具有兩個電源引腳(Vcc 和 GND).
這是一些 購買建議:
- 找不到產品。.
- Huaban:具有通用與非門的 30 芯片套件.
- Zebulon:120 CMOS 芯片套件.
Otros遞歸
為了更多地了解如何實現這些門以及如何開始使用它們創建電路,您可以使用這些 遞補 我有什麼建議:
- SimuIDE 軟件 能夠用門模擬這些電路的操作。 它是免費的、開源的、跨平台的。
- 在線二進制計算器 (您也可以在二進制模式下使用操作系統的計算器)。
- 找不到產品。.
- 數字邏輯電路書:從設計到實驗.
Arduino 的數字邏輯
其他資源 如果你已經有了,你手裡還有什麼? 一個碟子 Arduino UNO 在你手中的是 使用 Arduino IDE 創建草圖 模擬這些邏輯功能,例如,使用模擬門輸出的 LED 以更直觀的方式查看結果。 例如,將 LED 放在引腳 7 上並使用 8 和 9 作為輸入 A 和 B:
int pinOut = 7; int pinA = 8; int pinB = 9; void setup() { pinMode(pinOut, OUTPUT); pinMode(pinA, INPUT); pinMode(pinB, INPUT); } void loop() { boolean pinAState = digitalRead(pinA); boolean pinBState = digitalRead(pinB); boolean pinOutState; //AND pinOutState =pinAState & pinBState; digitalWrite(pinOut, pinOutState); }
如您所見,此處使用了 AND (&) 函數,但您可以將 // AND 行下的那行代碼替換為其他代碼以使用 其他邏輯功能:
//OR pinOutState = pinAState | pinBState; //NOT pinOutState = !pinAState; //XOR pinOutState = pinAState ^ pinBState; //NAND pinOutState = !(pinAState & pinBState); //NOR pinOutState = !(pinAState | pinBState); //XNOR pinOutState = !(pinAState ^ pinBState);