74HC138三八譯碼器的應用
在我們設計單片機電路的時候,單片機的IO口數(shù)量是有限的,有時并滿足不了我們的設計需求,比如我們的STC89C52RC一共是32個IO口,但是我們?yōu)榱丝刂聘嗟钠骷鸵褂靡恍┩鈬臄?shù)字芯片,這種數(shù)字芯片由簡單的輸入邏輯來控制輸出邏輯,比如74HC138這個三八譯碼器,圖1是74HC138在我們原理圖上的一個應用。
圖1 74HC138應用原理圖
從這個名字來分析,三八譯碼器,就是把3種輸入狀態(tài)翻譯成8種輸出狀態(tài)。從圖1所看出來的,74HC138一共有1~6一共是6個輸入引腳,但是其中4、5、6這三個引腳是使能引腳。使能引腳和我們前邊講74HC245的OE引腳是一樣的,這三個引腳如果不符合規(guī)定的輸入要求,Y0到Y7不管你輸入的1、2、3引腳是什么電平狀態(tài),總是高電平。所以我們要想這個74HC138正常工作,ENLED那個輸入位置必須輸入低電平,ADDR3位置必須輸入高電平,這兩個位置都是使能控制端口。不知道大家是否記得我們第二課的程序有這么兩句ENLED = 0;ADDR3 = 1;就是控制使這個74HC138使能的。
這類邏輯芯片,大多都是有使能引腳的,使能符合要求了,那下面就要研究邏輯控制了。對于數(shù)字器件的引腳,如果一個引腳輸入的時候,有0和1兩種狀態(tài);對于兩個引腳輸入的時候,就會有00,01,10,11這四種狀態(tài)了,那么對于3個輸入的時候,就會出現(xiàn)8種狀態(tài)了,大家可以看下邊的這個真值表——圖,其中輸入是A2,A1,A0的順序,輸出是從Y0,Y1....Y7的順序。
圖2 74HC148真值表
從圖2可以看出,任一輸入狀態(tài)下,只有一個輸出引腳是低電平,其他的引腳都是高電平。我們清楚的知道,8個LED小燈的總開關三極管Q16基極的控制端是LEDS6,也就是Y6輸出一個低電平的時候,可以開通三極管Q16,從右側(cè)的希望輸出的結果,我們可以推導出我們的A2,A1,A0的輸入狀態(tài)應該是110,那我們再來看下原理圖3。
圖3 點亮LED小燈整體示意圖
那么我們在整體捋一遍點亮LED小燈的過程,首先看74HC138,我們要讓LEDS6為低電平才能導通三極管Q16,所以ENLED = 0;ADDR3 = 1;保證74HC138使能。然后ADDR2 = 1; ADDR1 = 1; ADDR0 = 0;這樣保證了三極管Q16這個開關開通,5V電源加到LED上。
而74HC245左側(cè)是通過P0口控制,我們讓P0.0引腳等于0,就是DB_0等于0,而右側(cè)DB0等于DB_0的狀態(tài),也是0,那么這樣在這一排共8個LED小燈當中,只有最右側(cè)的小燈和5V之間有壓差,有壓差就會有電流通過,有電流通過我們的LED2就會發(fā)光。
74HC245左側(cè)我們可以看出來,是直接接到P0口上的,而74HC138的ADDR0 ~ ADDR3接在何處呢?
圖4 跳線帽接口部分
跳線帽是大家以后要常用的一個器件,他的作用就是起到導線的作用,我們可以通過跳線帽來實現(xiàn)連接線的切換。
圖5 跳線實物圖
大家看,跳線帽本身可以占2個針的位置,現(xiàn)在是把右側(cè)和中間的針插到了一起,這樣實現(xiàn)的就是圖4中的P1.0和ADDR0連接到一起,P1.1和ADDR1接一起,P1.2和ADDR2接一起,P1.3和ADDR3接一起。
編輯:admin 最后修改時間:2018-05-08