篇名 : AND OR NOT 邏輯閘之探討 作者 : 彭佳伶 臺北市立松山工農 電子科三年仁班 指導老師 : 陳茂璋老師
壹 前言 剛開始上數位邏輯課, 就對邏輯閘這部分很感興趣, 為什麼呢? 一方面是因為, 現今許多 IC 裡包含著邏輯閘, 而那些 IC, 廣泛的應用在各種大大小小的電子產品中, 總之, 邏輯閘 其實就藏在家中的各式電器裡, 帶給我們更方便的生活, 讓我忍不住想了解這令人過得更舒適的小玩意兒究竟為何物, 另一方面則是因為, 數位邏輯, 就是由無數個 0 與 1 高與低所組成的世界, 那些 0 和 1, 經過不同邏輯閘, 所出來的結果會不同, 利用邏輯閘的此特性, 就可以設計出各種電路 每次想到這, 我就認為發明邏輯閘的人真是太厲害了! 真的很想揭開 數位邏輯 這個世界的神秘面紗, 所以, 我們現在就一起來探討邏輯閘吧 貳 正文 一 邏輯閘之種類 1 反相閘 (NOT Gate): 只有一個輸入端和一個輸出端, 其輸出狀態與輸入狀 態相反 ( 註一 ), 即 遇 1 則 0, 遇 0 則 1, 如圖 1 所示 X=A 符號真值表布林代數式 圖 1 反相閘 常用 IC 編號 :7404 7405 7406 7416 2 或閘 (OR Gate): 只要有一個輸入端為 1, 輸出端就是 1, 即 遇 1 則 1, 或 是說 當所有輸入端皆為 0, 則輸出方為 0 ( 註二 ), 如圖 2 所示 X=A+B 符號 真值表 布林代數式 圖 2 或閘 常用 IC 編號 :7432 4071 4075 4072 1
3 及閘 (AND Gate): 剛好與 遇 1 則 1 的或閘相對, 及閘是 遇 0 則 0, 也 就是, 當所有輸入端皆為 1, 輸出才會是 1, 如圖 3 所示 X=A B=AB 符號真值表布林代數式 圖 3 及閘 常用 IC 編號 :7408 7409 7411 7421 4 反或閘 (NOR Gate): 與 遇 1 則 1 的或閘不同, 反或閘是 遇 1 則 0, 即 所有輸入端都是 0, 輸出才是 1, 如圖 4 所示 X=A + B 符號 真值表 布林代數式 圖 4 反或閘 常用 IC 編號 :7402 7427 4001 4000 5. 反及閘 (NAND Gate): 與 遇 0 則 0 的及閘不同, 反及閘是 遇 0 則 1, 即所有輸入端都是 1, 輸出才是 0, 如圖 5 所示 X=AB 符號真值表布林代數式 圖 5 反及閘 常用 IC 編號 :7400 7401 7410 4011 2
6. 互斥或閘 (XOR Gate): 當輸入端有奇數個 (1 3 5 ) 個 1 時, 輸出為 1, 否 則輸出為 0, 如圖 6 所示 X=A B 符號真值表布林代數式 圖 6 互斥或閘 常用 IC 編號 :7486 74136 7. 反互斥或閘 (XNOR Gate): 當輸入端有偶數個 (2 4 6 ) 個 1 時, 輸出為 1, 否則輸出為 0, 如圖 7 所示 X=A B 符號真值表布林代數式 圖 7 互斥或閘 常用 IC 編號 :74266 4077 二 布林代數 1 何謂布林代數 布林代數是英國數學家喬治布林於 1854 年發表處理數位邏輯的代數運算式 ( 註三 ) 它可由邏輯閘組成, 是表示數位電路的輸入與輸出結果的關係式, 布林代數中單變數的基本運算如表 1 所示, 為 AND OR 與 NOT 運算的基本定理 表 1 AND OR NOT 的基本定理 3
2 卡諾圖化簡 卡諾圖 是一種有一定規定的布林代數化簡方法, 化簡出的結果分積之和 (SOP) 與和之積 (POS) 兩種, 在此先介紹化簡出的結果為積之和 (SOP) 的 方法, 其步驟為 : A 列出真值表, 並選擇符合輸入變數個數的卡諾圖 ( 請參考圖 8~10) 圖 8 二變數卡諾圖 ( 註四 ) 圖 9 三變數卡諾圖 ( 註四 ) 圖 10 四變數卡諾圖 ( 註四 ) B 把真值表填入卡諾圖中對應的位子 C 圈選卡諾圖中所有的 1, 圈選規則為 : (a)1 的圈選可重複 (b) 圈選的格數為 2 的次方數 (1 2 4 8 ), 儘可能圈選相鄰最多的格子 D 觀察圈選方格中各變數的狀態, 若有改變 (0 1 1 0), 就去掉該變數 E 將每個圈選的方格依照步驟 D 化簡, 再將化簡後的函數 OR(+) 起來 卡諾圖化簡出的結果若要為和之積 (POS), 只要將上列的步驟 C 改為圈選卡諾圖中所有的 0, 及步驟 E 的 將化簡後的函數 OR(+) 起來 改成 AND 起來即可 4
3 笛摩根定理 笛摩根定理和卡諾圖一樣, 常用在布林代數之化簡中, 公式如下 : 笛摩根第一定理 : 笛摩根第二定理 : ( 註五 ) 三 邏輯閘之實際應用 邏輯閘能設計許多電路, 例如可製作出加法器 減法器 解碼器 等等, 在此, 我利用邏輯閘做出了三人表決器, 其相關說明如下 : 1 三人表決器之功能 : 若三人中, 過半數的人反對, 就亮紅燈, 反之亮綠燈 2 製作三人表決器所需之材料和工具 : 表 2 三人表決器之材料表 名稱 數量 麵包板 1 單心線 若干 發光二極體 5mmφ, 紅色 1 發光二極體 5mmφ, 綠色 1 IC 7404 1 IC 7432 1 IC 7408 1 電阻器 330Ω 1/4W 5 尖嘴鉗 1 斜口鉗 1 DIP Switch 開關 1 3 三人表決器之布林代數化簡 : A 首先, 將贊成設為 1, 反對設為 0, 燈亮設為 1, 燈滅設為 0,A B C 代表 那三個人,Y 代表綠燈,X 代表紅燈, 則真值表如下所示 : 5
表 3 綠燈的真值表 表 4 紅燈的真值表 B 利用卡諾圖來化簡, 如圖 11 圖 12 所示 結果為 : 圖 11 綠燈的卡諾圖 Y( 綠燈 )=AB+BC+AC 圖 12 紅燈的卡諾圖 X( 紅燈 )= A B + B C + A C 4 電路圖 : 6
5 成品 : 圖 13 三人表決器之成品圖 此時接上電源, 由於 DIP Switch 的開關都是往下撥, 代表 ABC=000, 表示沒有 人贊成, 所以亮紅燈, 如圖 14 所示 圖 14 ABC=000 之三人表決器 若將 DIP Switch 的其中一個開關往上撥, 即代表 ABC=001 010 或 100, 也就是只有一人贊成, 三人表決器所輸出的結果還是亮紅燈, 如圖 15 所示 這時若把 DIP Switch 的其中兩個開關往上撥, 則代表 ABC=011 110 或 101, 即代表兩個人贊成, 結果亮綠燈, 如圖 16 所示 如果將 DIP Switch 的三個開關皆往上撥, 代表 ABC=111, 表示三人皆贊成, 結果也是亮綠燈, 如圖 17 所示 7
圖 15 ABC=001 010 或 100 之三人表決器 圖 16 ABC=011 110 或 101 之三人表決器 圖 17 ABC=111 之三人表決器 參 結論 在三人表決器做到一半時, 意外發現, 剛才化簡出的結果 X( 紅燈 )= A B + B C + A C 這是利用化簡出之結果為積之和 (SOP) 的方 式, 若改用化簡出之結果為和之積 (POS) 的方式, 其結果為 8
X( 紅燈 )=( A + B ) ( B + C )( A + C ), 然而, 由於 Y( 綠燈 )=AB+BC+AC, 所以 Y = AB + BC + AC, 根據笛摩根第二定理 ( A B = AB = A + B ) 可知, Y = AB + BC + AC =( A + B ) ( B + C )( A + C )=X( 紅燈 ) 因為 Y 代表綠燈, 所以 Y 代表綠燈接一個反相閘, 也就是說, 只要將 Y=AB+BC+AC 接妥後, 再把 Y 與一個反相閘接在一起, 再接到紅燈, 就完成三人表決器了! 但如果利用剛開始只用卡諾圖而沒用笛摩根定理化簡的結果, 即 X = A B + B C + A C, 來做三人表決器的話, 就得將綠燈接至 AB+BC+AC 後, 再把紅燈接到 A B + B C + A C, 才可完成三人表決器 此兩者相比, 前者是不是較省時間呢? 而且邏輯閘存在 IC 中, 少用幾個邏輯閘就是少用幾顆 IC, 總之, 就是節省成本! 仔細想想, 假設少一顆 IC 就是省了十元, 公司要生產一百個產品, 若每個產品少一顆 IC, 等於省下一千塊, 如果, 公司要生產一萬個產品, 就是省下十萬元了! 因此, 若我們活用各種定理及方法, 將電路化到 真正的最簡, 邏輯閘的存在才有意義, 才有它真正的價值 肆 引註資料 註一 : 楊仁元 李月娥 (2007) 數位邏輯 臺北市: 碁峰 註二 : 黃傑 (2008) 數位邏輯含實習升學寶典 臺北縣: 台科大 註三 : 數位邏輯 2009.10.1 http://www.nihs.tp.edu.tw/~nihsw9/logic-1-joe/logic/index.htm 註四 : 松山工農教材資源中心 2009.10.13 http://content.saihs.edu.tw/classroom.php 註五 : 陳炳陽 朱洪福 (2007) 數位邏輯 臺北縣: 科友 9