【題目1】:模擬信號和數(shù)字信號有何區(qū)別?各有什么特點?
【相關(guān)知識】:模擬信號、數(shù)字信號,及其處理方法。
【解題方法】:理解題。
【解答過程】:通常講的模擬信號是指該信號的大小隨時間連讀變化的電信號,不會有突變。如正弦交流電信號,可以用下式表示。它的特點是連讀,并能用相位、幅值和時間來描述,有瞬時值,幅值等參數(shù)。
而數(shù)字信號在時間上是離散的,幅值上只區(qū)別兩個截然不同的值或狀態(tài),而并不要求對具體的大小進行量化。兩個不同的值或狀態(tài)可以用二進制數(shù)“1”和“0”來表示。兩個不同的數(shù)值或狀態(tài)在電路上實現(xiàn)起來非常方便,如開關(guān)的閉合或斷開,晶體管的飽和導通或截止等等。
【題目2】:代數(shù)法化簡和卡諾圖法化簡有何聯(lián)系?
【相關(guān)知識】:邏輯函數(shù)化簡的兩種基本方法,1~5變量卡諾圖的畫法等。
【解題方法】:卡諾圖化簡其實質(zhì)是合并最小項,只不過將最小項按一定規(guī)律進行排序,并在個最小項中,提取公共變量后消去其它變量,以達到簡化的目的。
【解答過程】:代數(shù)法化簡邏輯函數(shù)式,是運用邏輯代數(shù)的定律、定理、規(guī)則對邏輯式進行變換,以消除多余的與項和變量。代數(shù)法化簡沒有普遍適用規(guī)律,有時需要一定的經(jīng)驗和熟練的技巧。
卡諾圖法化簡的實質(zhì)是合并最小項,以消除多余的變量。因為卡諾圖中的一個小方格就是一個最小項,但是小方格與小方格之間的關(guān)系必須是相鄰的關(guān)系,即卡諾圖中的上下、左右,前后小方格的最小項必須保持只有一個變量不同,其余的變量都相同,才能實現(xiàn)(n=1,2,3,…,整正數(shù))個相鄰方格的最小項合并。其合并結(jié)果是消除n個變量?梢姾喜⒌淖钚№椃秶酱,可以消除的變量就越多。這樣做非常直觀、便捷。
如果在已知與或表達式的情況下,將該式轉(zhuǎn)換成最小項之和式后,再象卡諾圖那樣找出個相鄰最小項進行合并,就很困難了?梢姶鷶(shù)法化簡和卡諾圖法化簡具有相同的內(nèi)在關(guān)系,只是處理方法不一樣而已。
【題目3】:為什么兩個二進制數(shù)之間的減法運算可以用它們的補碼相加來實現(xiàn)?
【相關(guān)知識】:二進制數(shù),二進制數(shù)的加法運算,正負二進制數(shù)的表示,二進制數(shù)的原碼、反碼和補碼表示等。
【解題方法】:可以從日常生活中的時鐘校時方法加以理解。聯(lián)系時鐘校時的兩種方法,順時針校時和反時針校時,就可以想到減法可以用補碼相加代替了。
【解答過程】:我們已經(jīng)知道,在數(shù)字電路中是用邏輯電路輸出的高、低電平表示二進制數(shù)的1和0的。那么數(shù)的正、負又如何表示呢?通常采用的方法是在二進制數(shù)的前面增加一位符號位。符號位為0表示這個數(shù)是正數(shù),符號位為1表示這個數(shù)是負數(shù)。這種形式的數(shù)稱為原碼。
在作減法運算時,如果兩個數(shù)是用原碼表示的,則首先需要比較兩數(shù)絕對值的大小,然后以絕對值大的一個作為被減數(shù)、絕對值小的一個作為減數(shù),求出差值,并以絕對值大的一個數(shù)的符號作為差值的符號。不難看出,這個操作過程比較麻煩,而且需要使用數(shù)值比較電路和減法運算電路。如果能用兩數(shù)的補碼相加代替上述的減法運算,那么計算過程中就無需使用數(shù)值比較電路和減法運算電路了,從而使運算器的電路結(jié)構(gòu)大為簡化。
為了說明補碼運算的原理,我們先來討論一個生活中常見的事例。例如你在5點鐘的時候發(fā)現(xiàn)自己的手表停在10點上了,因而必須把表針撥回到5點。由圖E4b20334001-01Z上可以看出,這時有兩種撥法:第一種撥法是往后撥5格,(因10-5=5),可撥回到5點;另一種撥法是往前撥7格,(因10+7=17)。由于表盤的最大數(shù)是12,超過12以后的“進位”將自動消失,于是就只剩下減去12以后的余數(shù)了,即17-12=5,由此也可把表針撥回到5點。這個例子說明,10-5的減法運算可以用10+7的加法運算代替。因為5和7相加正好等于產(chǎn)生進位的模數(shù)12,所以我們稱7為-5對模12的補數(shù),也叫做補碼。
從這個例子中可以得出一個結(jié)論,就是在舍棄進位的條件下,減去某個數(shù)可以用加上它的補碼來代替。這個結(jié)論同樣適用于二進制數(shù)的運算。
圖E4b20334001-02Z中給出了4位二進制數(shù)補碼運算的一個例子。由圖可見,1011-0111=0100的減法運算,在舍棄進位的條件下,可以用1011+1001=0100的加法運算代替。因為4位二進制數(shù)的進位基數(shù)是16(10000),所以1001(9)恰好是0111(7)對模16的補碼。
為了避免作減法運算,在求負數(shù)的補碼時可以先求出二進制數(shù)原碼的反碼(將數(shù)字代碼中每一位的取值求反,即0改為1,1改為0,符號位保持不變),然后在最低位加1而得到補碼。例如有一個4位二進制的負數(shù),它的原碼為10101(最左邊一位是符號位),則它的反碼為11010。在反碼的最低位加1后得到補碼為11011。將這個補碼和它的原碼相加(不包括符號位),得到的正好是10000(16),也就是4位二進制數(shù)的進位基數(shù),因此11011是10101的補碼。
至此我們可以歸納出以下幾點簡單的結(jié)論:
1.二進制數(shù)原碼的定義
二進制數(shù)的原碼是在它的數(shù)值前面設(shè)置一位符號位而得到的。正數(shù)的符號位是0,負數(shù)的符號位是1。
2. 二進制數(shù)補碼的定義
正數(shù)的補碼與原碼相同。
負數(shù)的補碼可以通過將每一位數(shù)值求反,然后在最低位加1而得到(符號位保持不變)。
3.兩個二進制數(shù)的加、減運算都可以用它們的補碼相加來實現(xiàn),得到的運算結(jié)果也是補碼形式。
4. 進一步的分析表明,在將兩個數(shù)的補碼相加時,如果將兩個補碼的符號位和數(shù)值部分產(chǎn)生的進位相加,則得到的和就是兩個二進制數(shù)相加后代數(shù)和的符號。
例如要計算0101-1001,則可以先求出0101和-1001的補碼00101和10111(最高位為符號位),再將兩個補碼相加而得到:
如果需要求出負數(shù)補碼對應的原碼,只要對這個補碼再求一次補碼就可以得到了。
【題目4】:什么是約束項、任意項和無關(guān)項?為什么在具有約束條件的邏輯函數(shù)化簡時,應該盡量使用約束條件。用代數(shù)法化簡一個邏輯函數(shù)時,如何利用約束項使函數(shù)化成最簡?
【相關(guān)知識】:邏輯運算,邏輯函數(shù),最小項和最大項的概念,邏輯運算中的常用公式,運算規(guī)則。
【解題方法】:通過實例,說明什么是約束項、任意茂和無關(guān)項,以及它們的異同點。
【解答過程】:我們在分析一個邏輯函數(shù)時經(jīng)常會遇到這樣一類情況,就是輸入邏輯變量的某些取值始終不會出現(xiàn)。因此,在這些取值下等于1的那些最小項,也將始終為0。這些取值始終為0的最小項,就叫做該函數(shù)的約束項。
例如要求設(shè)計一個邏輯電路,用水箱中水位高度的檢測信號A、B、C控制兩個水泵和
的啟、停工作狀態(tài)見圖E4b20181001-01Z。如果用
和
分別表示兩個水泵的工作狀態(tài),則
和
為A、B、C三個變量的邏輯函數(shù)。假定水位高于A、B、C中的任何一個檢測點時給出的檢測信號為1,水位低于任何一個檢測點時給出的檢測信號為0,則水箱工作過程中ABC的取值只可能出現(xiàn)100、110、111和000這四種狀態(tài),而不可能出現(xiàn)001、011、101和010這四種狀態(tài),因為水位永遠不會高于B或C而同時又低于A。因此,與ABC的取值001、011、101和010對應的四個最小項
、
、
和
將永遠是0,這四個最小項就是
和
的約束項。
既然在工作過程中約束項的值永遠是0,那么我們就可以在和
的邏輯函數(shù)式中加上這些約束項,或不加上這些約束項,而不會影響
和
的取值。也就是說
和
的取值與是否加上了約束項沒有關(guān)系,因此約束項又是邏輯函數(shù)式中的無關(guān)項。
在分析和設(shè)計邏輯電路時,還可能遇到另外一種情況,就是在輸入變量的某些取值下,邏輯函數(shù)值等于1還是等于0都可以,對電路的邏輯功能沒有影響。在這些變量取值下等于1的那些最小項,就叫做這個邏輯函數(shù)的任意項。
例如要設(shè)計一個拒絕偽碼的七段顯示譯碼器,其真值表如表1.2.1。所謂拒絕偽碼,系指在輸入為1010~1111時輸出無任何字形顯示,即a~g輸出全都等于0。
由表1.2.1可以看出,這個譯碼器是一個有4個輸入變量和7個輸出函數(shù)的組合邏輯電路。如果我們采用圖E4b20181001-01Z的電路結(jié)構(gòu),在a~g的輸出端增加一級緩沖器,同時還在緩沖器的輸入增加一個控制信號,那么當DCBA=1010~1111時,不論a~g是1還是0,
~
肯定等于0,所以
~
仍然符合表1.2.1的要求。
這就是說,當DCBA取值為1010~1111時,a~g每個函數(shù)輸出的取值是1或0都可以,不影響最后的輸出~
。因此,在DCBA取值為1010~1111時,其值為1的六個最小項
、
、
、
、
和為
數(shù)a~g的任意項。在化簡a~g的邏輯函數(shù)式時,既可以在式中寫入這些任意項,也可以不寫進這些任意項,所以任意項也是邏輯函數(shù)式中的無關(guān)項。這樣我們就可以把表1.2.1改寫為表1.2.2的形式了。表中的×仍然表示無關(guān)項。
雖然任意項和約束項都是邏輯函數(shù)式中的無關(guān)項,但二者是有區(qū)別的。因為約束項的取值永遠是0,所以在邏輯函數(shù)式中無論寫入約束項還是去掉約束項,都不會改變函數(shù)的輸出值。而任意項則不同,當我們在邏輯函數(shù)式中寫入某個任意項之后,則輸入變量的取值使這個任意項的值為1時,函數(shù)的輸出值也為1;如果從邏輯函數(shù)式中將這個任意項拿掉,則輸入變量取值使這個任意項的值為1時,函數(shù)的輸出值等于0。
【題目5】:如何判斷一個邏輯函數(shù)已化到了最簡?化簡邏輯函數(shù)有什么實際意義?
【相關(guān)知識】:邏輯函數(shù)的與或表達式和邏輯函數(shù)的代數(shù)法化簡等。
【解題方法】:為了便于實現(xiàn)邏輯電路,邏輯函數(shù)常用“與或”表達式表示。因此,是否化到最簡主要看與項數(shù)目和每個與項所包含的變量數(shù)是否最少。
【解答過程】:一個與或表達式是否已達到最簡,主要看兩個方面:一是表達式中“與”項的數(shù)目是否最少了,即表達式中的與項是否不能再合并了;第二是在與項相同的條件下,檢查每個與項所包含的變量數(shù)是否達到了最少。因為減少與項可以節(jié)省與門個數(shù),減少與項中的變量數(shù)可以減少門的輸入端個數(shù)。
【題目6】:邏輯函數(shù)的不同表示方法之間是如何進行轉(zhuǎn)換的?
【相關(guān)知識】:邏輯函數(shù)真值表、邏輯函數(shù)的與或表達式、卡諾圖、最小項、標準與或表達式。
【解題方法】:通過1.由真值表求邏輯函數(shù)式;2.由邏輯函數(shù)式求真值表;3.卡諾圖與邏輯函數(shù)表達式之間的轉(zhuǎn)換,一、一加以說明。
【解答過程】:同一個邏輯問題,可以采用多種方法表示。而這些描述同一個問題的邏輯表示之間都能實現(xiàn)方便的轉(zhuǎn)換。
1.由真值表求邏輯函數(shù)式和邏輯電路
把真值表中使邏輯函數(shù)值為1的輸入變量組合寫成對應的與項。若對應的變量取值為1,則寫成原變量;若對應的變量取值為0,則寫成反變量。然后將這些與項全部“或”起來,就得到了邏輯函數(shù)式。
對應于邏輯函數(shù)式的反變量,采用非門邏輯符號;與項用與門邏輯符號,多個與項相“或”用或門邏輯符號;將它們按邏輯運算關(guān)系連接起來,就能得到實現(xiàn)邏輯要求的邏輯電路。
2. 由邏輯函數(shù)式求真值表
只要把邏輯函數(shù)式中所有輸入變量按“0”、“1”取值,代入所有組合中(—n是函數(shù)的變量數(shù))進行運算,求出相應的邏輯函數(shù)值(結(jié)果)填入真值表中的相應行即可。
3. 卡諾圖與邏輯函數(shù)表達式之間的轉(zhuǎn)換
先將邏輯函數(shù)化為最小項之和的形式(即標準與或表達式),接著畫出與函數(shù)變量數(shù)相對應的卡諾圖,在卡諾圖中,凡是與表達式對應的最小項的小方格內(nèi)填入“1”,其他小方格內(nèi)填入“0”。這樣便得到了邏輯函數(shù)式的卡諾圖。
【題目7】:正負邏輯門電路符號間有什么對應的關(guān)系如何?
【相關(guān)知識】:正負邏輯的定義。
【解題方法】:通過真值表表示正負邏輯,能比較清楚地理解正負邏輯之間的關(guān)系。
【解答過程】:我們知導,高電平用“1”表示,低電平用“0”表示,是正邏輯的定義;如果高電平定義為“0”,低電平定義為“1”,這是負邏輯的定義。因此以2個變量為例,當結(jié)果為“1”時,正邏輯表示的“與”邏輯真值表對應于負邏輯表示的“或”邏輯真值表。圖示是幾種常用正負邏輯之間的對應關(guān)系。
邏輯符號間的對應關(guān)系為:
【題目8】:怎樣讓一個邏輯函數(shù)用最小項之和表示或者用最大項之積表示?
【相關(guān)知識】:邏輯函數(shù)的化簡,反函數(shù)的概念,最小項,最大項。
【解題方法】:同一個邏輯關(guān)系可以用兩種標準的函數(shù)表達式表示,實際上是一種互補的表示方法。
【解答過程】:大家知道,包含n個變量的邏輯函數(shù),可以用個標準的與項之和形式表示出來。那么什么是標準“與項”呢?
假如一個函數(shù)有三個變量A、B、C,則它最多有個標準的與項(最小項),
、
、
、
、
、
、
、
。
一個函數(shù)表達式假如是由各最小項之和表示的,則該表達式就稱為最小項之和表達式。如:
顯然,同一個邏輯函數(shù),也可用標準的或項之積表示。這標準的或項就是最大項。
如上述的邏輯函數(shù)有3個變量,所以有8個最小項,但函數(shù)中只出現(xiàn)4個,這4個最小項取值為1,而另外4個最小項取值為0。因此,我們也可以用反函數(shù)的形式寫出該表達式,即:
將兩邊同時求反,便可變?yōu)樵瘮?shù):
【題目9】:畫卡諾圖時,具有二個變量以上的邏輯函數(shù)的邏輯相鄰性如何確定?有何規(guī)律?
【相關(guān)知識】:最小項,卡諾圖,邏輯相鄰性,循環(huán)碼(格雷碼)。
【解題方法】:根據(jù)循環(huán)碼的任何相鄰二組代碼之間只有一個變量不同,這正好與卡諾圖小方格的要求一致。
【解答過程】:大家知道,循環(huán)碼(即格雷碼)具有這樣的特征:任何相鄰二組代碼之間只存在一個不同變量,這一點正好與邏輯相鄰性定義一致,(只有一個變量不同的二個與項,邏輯上稱其為相鄰)。
因此,在畫多變量卡諾圖時,按循環(huán)碼規(guī)律就能得到正確的卡諾圖。
如四變量(A、B、C、D)卡諾圖,分別有四行、四列,它們分別按二變量的循環(huán)碼排列:列AB按00、01、11、10排序;行 CD按00、01、11、10循環(huán)碼排列。四變量卡諾圖如圖所示,圖(a)是標準畫法,圖(b)是另一種畫法,但不管是二變量還是三變量,都是按照格萊碼規(guī)律排列的。
【題目10】:具有無關(guān)項的邏輯函數(shù)如何化簡?
【相關(guān)知識】:卡諾圖,無關(guān)項,最小項,具有約束的邏輯函數(shù)。
【解題方法】:正確認識邏輯變量組合與邏輯結(jié)果之間關(guān)系,無關(guān)項在一個邏輯函數(shù)中的表示方法,正確認識無關(guān)項在一個邏輯函數(shù)的化簡中,可以當作“1”和當作“0”處理。
【解答過程】:對于邏輯函數(shù)中的無關(guān)項,可以用幾種方法給出。例如,某邏輯電路的輸入信號DCBA是8421 BCD碼,由8421 BCD碼概念可知:如下的變量組合(即最小項),
,
,
,
,
是不會出現(xiàn)的,即不影響8421BCD編碼結(jié)果,所以這些項就是無關(guān)項。在邏輯函數(shù)化簡時,正因為這些項無關(guān),因此這些項的取值可以認為是“0”,也可以認為是“1”,這由你的簡化程度來決定。
若將具有無關(guān)項的邏輯函數(shù)表示在卡諾圖中,圖中填1和0的小方格分別對應于函數(shù)式中的最小項和式中不出現(xiàn)的最小項?ㄖZ圖中無關(guān)項對應處填“×”以示區(qū)別。“×”的小方格可以和“1”格一起包圍,此時,在包圍圈中的無關(guān)項當1對待;“×”的小方格可以不被包圍,這時的“×”小方格就當作“0”處理了。
在用表達式化簡時,可以將無關(guān)項當作“1”寫入表達式中,以便和其它項相結(jié)合,使表達式化得更加簡單些。如果該無關(guān)項對式子的簡化無幫助,則就當作“0”處理。
以下是用卡諾圖化簡和用表達式化簡的兩種例子。如要求對下列邏輯函數(shù)化簡:
(無關(guān)項為:
,
)
結(jié)合“1”方格畫包圍圈得:,這里是把“111”格當作“1”處理,而把“100”格當作“0”了。
用表達式化簡過程如下:
顯然,表達式中將添加的當作“1”,而將(f29)無關(guān)項作“0”處理,兩者化簡的結(jié)果完全相同。