在我們設計單片機電路的時候,單片機的 IO 口數量是有限的,有時并滿足不了我們的設計需求,比如我們的 STC89C52 一共有 32 個 IO 口,但是我們為了控制更多的器件,就要使用一些外圍的數字芯片,這種數字芯片由簡單的輸入邏輯來控制輸出邏輯,比如 74HC138這個三八譯碼器,圖 3-15 是 74HC138 在我們原理圖上的一個應用。
圖 3-15 74HC138 應用原理圖
從這個名字來分析,三八譯碼器,就是把 3 種輸入狀態翻譯成 8 種輸出狀態。從圖 3-15所能看出來的,74HC138 有 1~6 一共是 6 個輸入引腳,但是其中 4、5、6 這三個引腳是使能引腳。使能引腳和我們前邊講 74HC245 的 OE 引腳是一樣的,這三個引腳如果不符合規定的輸入要求,Y0 到 Y7 不管你輸入的 1、2、3 引腳是什么電平狀態,總是高電平。所以我們要想讓這個 74HC138 正常工作,ENLED 那個輸入位置必須輸入低電平,ADDR3 位置必須輸入高電平,這兩個位置都是使能控制端口。不知道大家是否記得我們第二課的程序有這么兩句 ENLED = 0;ADDR3 = 1;就是控制使這個 74HC138 使能的。
這類邏輯芯片,大多都是有使能引腳的,使能符合要求了,那下面就要研究控制邏輯了。對于數字器件的引腳,如果一個引腳輸入的時候,有 0 和 1 兩種狀態;對于兩個引腳輸入的時候,就會有 00、01、10、11 這四種狀態了,那么對于 3 個輸入的時候,就會出現 8 種狀態了,大家可以看下邊的這個真值表——圖 3-16,其中輸入是 A2、A1、A0 的順序,輸出是從Y0、Y1......Y7 的順序。
圖 3-16 74HC138 真值表
從圖 3-16 可以看出,任一輸入狀態下,只有一個輸出引腳是低電平,其他的引腳都是高電平。在前面的電路中我們已經看到,8 個 LED 小燈的總開關三極管 Q16 基極的控制端是LEDS6,也就是 Y6 輸出一個低電平的時候,可以開通三極管 Q16,從右側的希望輸出的結果,我們可以推導出我們的 A2、A1、A0 的輸入狀態應該是 110,如圖 3-17。
圖 3-17 LED 小燈整體電路圖
那么我們再整體捋一遍點亮 LED 小燈的過程,首先看 74HC138,我們要讓 LEDS6 為低電平才能導通三極管 Q16,所以 ENLED = 0;ADDR3 = 1;保證 74HC138 使能。然后 ADDR2 =1; ADDR1 = 1; ADDR0 = 0;這樣保證了三極管 Q16 這個開關開通,5V 電源加到 LED 上。
而 74HC245 左側是通過 P0 口控制,我們讓 P0.0 引腳等于 0,就是 DB_0 等于 0,而右側 DB0 等于 DB_0 的狀態,也是 0,那么這樣在這一排共 8 個 LED 小燈當中,只有最右側的小燈和 5V 之間有壓差,有壓差就會有電流通過,有電流通過我們的 LED2 就會發光了。
74HC245 左側我們可以看出來,是直接接到 P0 口上的,而 74HC138 的 ADDR0 ~ ADDR3接在何處呢?來看圖 3-18。
圖 3-18 顯示譯碼與步進電機的選擇跳線
跳線是大家以后經常會接觸到的一個器件,它就是 2 根或者 3 根靠在一起的排針,然后可以用一個叫作跳線帽的東西連接其相鄰的 2 根針。它的作用就是起到導線的作用,我們可以通過跳線帽來實現連接線的切換。
從圖中可以看出,跳線帽本身可以占 2 個針的位置,現在是把右側和中間的針連到了一起,這樣實現的就是圖 3-18 中的 P1.0 和 ADDR0 連接到一起、P1.1 和 ADDR1 接一起、P1.2和 ADDR2 接一起、P1.3 和 ADDR3 接一起。
-
單片機
+關注
關注
6063文章
44925瀏覽量
647001 -
IO
+關注
關注
0文章
486瀏覽量
40191 -
STC
+關注
關注
14文章
299瀏覽量
67254 -
數字芯片
+關注
關注
1文章
113瀏覽量
18714
發布評論請先 登錄
三八譯碼器的應用
74HC138譯碼器的工作原理是什么
74HC138與74HC573的相關資料分享
三八譯碼器的相關資料推薦
基于74hc138譯碼器實驗分析 詳解74hc138譯碼器實驗

74HC138組成32線譯碼器的電路圖 74HC138組成32線譯碼器方法
單片機74HC138三八譯碼器的原理及應用方法

51單片機74HC138三八譯碼器的應用資料說明

使用單片機實現74HC138譯碼輸出控制8循環燈的仿真設計實例文件
藍橋杯單片機01——74HC138與74HC573

評論