生产自动化-电脑整合制造与控制室.ppt

生产自动化-电脑整合制造与控制室

生產自動化 微處理器概論 數位邏輯 數位邏輯設計 電腦的硬體元件主要是由邏輯電路組成,邏輯電路則是由邏輯閘組成,在本章中,我們將介紹各種基本的邏輯閘,並且使用這些邏輯閘設計簡單的組合電路。 數位邏輯設計包含了理論與實作兩大部分,理論部分是基於布林代數的各種運算,而實作部分則是透過邏輯閘來設計布林代數的組合電路。事實上,數位邏輯設計可以分為組合電路與序向電路兩大類,由於序向電路過於複雜,因此在本教學中,將不多加著墨,而將重點放在組合電路的設計。 邏輯電路(Logic Circuit) 邏輯電路的理論基礎是布林代數,也就是使用各種基本的邏輯閘組成特殊功能的布林代數電路,舉例來說,假設我們想要設計一個兩位元的加法器,首先必須列出下列的真值表(X、Y為輸入,Sum為和的輸出,Carry為進位的輸出): 觀察上述真值表, 我們求出Sum與Carry的 布林代數如下: 邏輯電路(Logic Circuit) 說明: (1)Sum只有在(X=0且Y=1)或(X=1且Y=0)的狀況下,才會為1。 (2)Carry只有在(X=1且Y=1),才會為1。 (3)AND可以用來表示『且』,是一個二元運算子(binary operator),接受兩個輸入運算元(operand),並產生一個輸出。其真值表如下,只有在兩個輸入運算元同時為1時,才會輸出1。AND的代表符號為『.』或『*』或根本簡略不寫。所以AND的布林函數F(X,Y)=X.Y或F(X,Y)=X*Y或F(X,Y)=XY。 邏輯電路(Logic Circuit) (4)OR可以用來表示『或』,是一個二元運算子(binary operator),接受兩個輸入運算元(operand),並產生一個輸出。其真值表只要兩個輸入運算元的其中有一個為1時,就會輸出1。OR的代表符號為『+』。所以OR的布林函數F(X,Y)=X+Y。 (5)NOT可以用來取補數,是單元運算子(unary operator),接受一個輸入運算元 (operand),並產生一個輸出。其真值表若輸入為1則輸出為0,若輸入為0則輸出為1。 NOT的代表符號為『』、『﹁』、『~』或『 ̄』。所以NOT的布林函數F(X)=X或F(X)=~X或F(X)= ﹁X或F(X)= 邏輯電路(Logic Circuit) 在邏輯電路中,只有兩種值,分別是0與1,實際上在電子電路,將可以量測到高電壓與低電壓,在正邏輯(positive logic),0為低電壓、1為高電位;在負邏輯(negative logic),0為高電壓、1為低電壓。並且在邏輯電路中,邏輯閘是最基本的元件,邏輯閘分為AND、OR、NOT、NAND、NOR、XOR、XNOR等7種,NAND、NOR、XOR、XNOR又可以使用三種基本邏輯閘AND、OR、NOT組合而成(後面我們會證明),這三種基本邏輯閘使用特殊的符號來代表,如下圖: 邏輯電路(Logic Circuit) 由於我們已經求出Sum與Carry的布林代數,因此可以使用上述的三種基本邏輯閘組成我們想要的邏輯組合電路,其實它就是一個半加器(不考慮前一位數的進位狀況)。 布林代數(Boolean Algebra) 布林代數是數位邏輯的數學理論基礎,早在1854年就已經由George Boole所發展成一套完整的理論,可以用來處理真(True)與假(False)的邏輯運算。完整的布林函數定義了下列元素: (1)常數(constant):值為0或1。 (2)二元變數(binary variable):變數值只能是0或1。 (3)運算子(operator):包含AND、OR、NOT等三種基本運算子。其優先權為NOT AND OR,其中NOT為單元運算子,AND、OR為二元運算子。 (4)提高優先權之括號:(),擁有最高優先權。 (5)=等號。 布林代數(Boolean Algebra) 範例:假設布林函數F(X,Y,Z)=XYZ+(XY)(Y+Z)+(X+Z),請問F(1,0,1)=? 解: F(1,0,1) = 1 * 0 * 1 + ( 1 * 0 ) * ( 0 + 1 ) + (1 + 1) = 0 * 0 * 1 + ( 0 * 0 ) * ( 0 + 0 ) + (0 + 0) = 0 * 0 * 1 + ( 0 ) * ( 0 ) + (0) = 0 + 0 + 1 = 1 真值表(Truth Table) 真值表可以用來表示布林函數所有變數與函數值之間的應對關係,若一個布林函數包含m個布林變數,則該真值表將有m+1欄、 2m列,其中,m+1欄分別代表m個變數與該布林函數,而2m列則是由於二

文档评论(0)

1亿VIP精品文档

相关文档