搞定138譯碼器(四),138譯碼器前篇之譯碼器分類、應(yīng)用介紹
138譯碼器是是常用器件,對于138譯碼器,因其特點在現(xiàn)實中應(yīng)用廣泛。針對138譯碼器,雖具備諸多型號,但其原理大致相同。為增進大家對138譯碼器的了解以及對138譯碼器的興趣,本文將從譯碼器的分類與應(yīng)用兩方面入手,為大家做好知識鋪墊工作,主要內(nèi)容如下。
一、譯碼器的分類
譯碼器指的是具有譯碼功能的邏輯電路,譯碼是編碼的逆過程,它能將二進制代碼翻譯成代表某一特定含義的信號(即電路的某種狀態(tài)),以表示其原來的含義。譯碼器可以分為:變量譯碼和顯示譯碼兩類。
譯碼是編碼的反過程,它是將代碼的組合譯成一個特定的輸出信號。
分類:
(1)二進制譯碼器,又稱為n-2n線譯碼器
將n種輸入的組合譯成2n種電路狀態(tài)。也叫n---2n線譯碼器。
譯碼器的輸入:一組二進制代碼
譯碼器的輸出:一組高低電平信號
(2)二-十進制譯碼器
直接輸出二進制數(shù),人們不太習(xí)慣,可采用二-十進制譯碼器來解決。
這種譯碼器有四個輸入端,十個輸出端。
(3)顯示譯碼器
在數(shù)字測量儀表和各種數(shù)字系統(tǒng)中,都需要將數(shù)字量直觀顯示出來,一方面供人們直接讀取測量和運算結(jié)果;另一方面用以監(jiān)視數(shù)字系統(tǒng)的工作情況。
數(shù)字顯示電路組成方塊圖如下所示。
半導(dǎo)體數(shù)碼管兩種接法:
二、譯碼器的應(yīng)用
三種基本譯碼器
在譯碼器基礎(chǔ)中,解釋了完全譯碼器(n-2n)的基本工作原理,即:當使能端有效時:
Yi = mi 或者
/Yi = !mi (注:這里的!表示非號)
除了完全譯碼器之外,還有4-10線譯碼器,七段顯示譯碼器,相對也比較簡單,這里簡單進行介紹:
- 4-10譯碼器
由真值表可以看出,當A3A2A1A0的取值為[0000~1001]時,輸出有效,其它情況均為無效,其對應(yīng)的邏輯器件圖如下圖所示:
七段顯示譯碼器
七段顯示譯碼器一般用于液晶或LED顯示屏,顯示0~9數(shù)字(十進制)或0~F數(shù)字(十六進制)。所謂七段,表示的是0~9或0~F這些數(shù)字可用七根數(shù)碼管顯示,對應(yīng)的圖為:
對應(yīng)的真值表如下圖所示:
譯碼器的應(yīng)用
譯碼器主要用于地址譯碼、指令譯碼以及邏輯表達式表示。下面重點解釋如何內(nèi)存尋址以及如何表達邏輯表達式。
內(nèi)存尋址
在組合電路、時序電路在計算機課程中的地位一文中,說明了可執(zhí)行程序的執(zhí)行流程,其中的程序計數(shù)器(Program Counter,簡稱PC)中保存了CPU將要執(zhí)行的指令,那如何在內(nèi)存中定位到那條指令所在的內(nèi)存地址呢?(重點理解:這是硬件實現(xiàn),我們要用組合電路尋址)。
下圖描述了早期8086的內(nèi)存尋址方式。(計算機中用三類總線:數(shù)據(jù)總線、地址總線、控制總線進行數(shù)據(jù)傳輸,數(shù)據(jù)總線用于傳輸數(shù)據(jù),地址總線用于傳輸?shù)刂罚刂瓶偩€用于傳輸控制信號。三類總線用于在IO、內(nèi)存、CPU以及外設(shè)之間進行數(shù)據(jù)傳輸;每一塊內(nèi)存中有rd、wr、adder、cs和data幾個輸入輸出,其中的rd表示讀內(nèi)存,wr表示寫內(nèi)存,adder下文中解釋,cs(chip select)表示片選,data用于內(nèi)存和總線之間數(shù)據(jù)的傳輸)
在8086機器中,內(nèi)存只有4KB(受限于當時的生產(chǎn)工藝,4KB內(nèi)存由4塊1KB的內(nèi)存塊組成),用12位二進制串表示地址。對于每一塊1KB的內(nèi)存,其尋址范圍為[00 0000 0000~11 1111 1111],為了對4塊內(nèi)存都進行尋址,一般思路為:共享低10位(A9A8A7A6A5A4A3A2A1A0)的內(nèi)存地址,高兩位用A11A10來進行控制,使其滿足:
- 當A11A10 = 00時選擇第一塊內(nèi)存(從上向下看),此時A11A10A9A8A7A6A5A4A3A2A1A0表述的范圍為[0000 0000 0000 ~ 0011 1111 1111]
- 當A11A10 = 01時選擇第二塊內(nèi)存(從上向下看),此時A11A10A9A8A7A6A5A4A3A2A1A0表述的范圍為[0100 0000 0000 ~ 0111 1111 1111]
- 當A10A10 = 01時選擇第三塊內(nèi)存(從上向下看),此時A11A10A9A8A7A6A5A4A3A2A1A0表述的范圍為[1000 0000 0000 ~ 1011 1111 1111]
- 當A11A10 = 11時選擇第四塊內(nèi)存(從上向下看),此時A11A10A9A8A7A6A5A4A3A2A1A0表述的范圍為[1100 0000 0000 ~ 1111 1111 1111]
顯然,上面的地址真是我們需要表述的地址,剩下的就是如何用高兩位A11A10來控制選擇那一塊1K的內(nèi)存塊。很自然的,2-4譯碼器正好能完成,因此,2-4譯碼器的輸出分別接到每一塊1k內(nèi)存塊上的片選信號,即可實現(xiàn)上述內(nèi)存尋址功能。(adder用于合成A11A10和A9A8A7A6A5A4A3A2A1A0,使其構(gòu)成一個12位地址)
譯碼器表達邏輯表達式
在譯碼器中,如果使能端有效,其對應(yīng)的輸入輸出之間的關(guān)系為:
Yi = mi 或者
/Yi = !mi (注:這里的!表示非號)
比較敏感的童鞋很容易發(fā)現(xiàn),譯碼器和最小項存在關(guān)系。對于任何的邏輯表達式,都可以用最小項表示,如F(A,B,C)=m2+m3+m4+m5+m7。
根據(jù)/Yi = !mi,可以進一步將F(A,B,C)表示成:
F(A,B,C) = !(!m2 * !m3 * !m4 * !m5* !m7) (注:摩根定律)
F(A,B,C) = !(/Y2*/Y3*/Y4*/Y5*/Y7)
此時,將3-8譯碼器的輸出/Y2,/Y3,/Y4,/Y5和/Y7接入一個與非門,即可表示上面的邏輯表示式 F(A,B,C),其對應(yīng)的電路圖如下圖所示:
在上例的基礎(chǔ)上,如何用74LS138譯碼器實現(xiàn)一個全減器呢?在設(shè)計之前,需要先明確減法器的功能,其真值如下圖所示:
全減器中,Ci-1表示來自低位的借位,Ci表示向高位的借位,F(xiàn)i表示本位的計算值。
根據(jù)真值表,很容易得到:
Fi = m1 + m2 + m4 + m7
Ci = m1 + m2 + m3 + m7
根據(jù)74LS138中的關(guān)系:/Yi = !mi,得到:
Fi = !/Y1 + !/Y2 + !/Y4 + !/Y7 = !(/Y1 * /Y2 * /Y4 * /Y7 ) (注:摩根定律)
Ci = !/Y1 + !/Y2 + !/Y3 + !/Y7 = !(/Y1 * /Y2 * /Y3 * /Y7 ) (注:摩根定律)
上述的Fi和Ci已經(jīng)映射到74LS138的輸出端口,將輸出端口接入與非門,即可完成全減器,其對應(yīng)的電路圖如下圖所示:
以上便是此次小編帶來的“138譯碼器”相關(guān)內(nèi)容,通過本文,希望大家對譯碼器的分類以及應(yīng)用具備一定的了解。如果你喜歡本文,不妨持續(xù)關(guān)注我們網(wǎng)站哦,小編將于后期帶來更多精彩內(nèi)容。最后,十分感謝大家的閱讀,have a nice day!