在我們設(shè)計單片機(jī)電路的時候,單片機(jī)的 IO 口數(shù)量是有限的,有時并滿足不了我們的設(shè)計需求,比如我們的 STC89C52 一共有 32 個 IO 口,但是我們?yōu)榱丝刂聘嗟钠骷鸵褂靡恍┩鈬臄?shù)字芯片,這種數(shù)字芯片由簡單的輸入邏輯來控制輸出邏輯,比如 74HC138這個三八譯碼器,圖 3-15 是 74HC138 在我們原理圖上的一個應(yīng)用。
圖 3-15 74HC138 應(yīng)用原理圖
從這個名字來分析,三八譯碼器,就是把 3 種輸入狀態(tài)翻譯成 8 種輸出狀態(tài)。從圖 3-15所能看出來的,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)了,大家可以看下邊的這個真值表——圖 3-16,其中輸入是 A2、A1、A0 的順序,輸出是從Y0、Y1......Y7 的順序。
圖 3-16 74HC138 真值表
從圖 3-16 可以看出,任一輸入狀態(tài)下,只有一個輸出引腳是低電平,其他的引腳都是高電平。在前面的電路中我們已經(jīng)看到,8 個 LED 小燈的總開關(guān)三極管 Q16 基極的控制端是LEDS6,也就是 Y6 輸出一個低電平的時候,可以開通三極管 Q16,從右側(cè)的希望輸出的結(jié)果,我們可以推導(dǎo)出我們的 A2、A1、A0 的輸入狀態(tài)應(yīng)該是 110,如圖 3-17。
圖 3-17 LED 小燈整體電路圖
那么我們再整體捋一遍點(diǎn)亮 LED 小燈的過程,首先看 74HC138,我們要讓 LEDS6 為低電平才能導(dǎo)通三極管 Q16,所以 ENLED = 0;ADDR3 = 1;保證 74HC138 使能。然后 ADDR2 =1; ADDR1 = 1; ADDR0 = 0;這樣保證了三極管 Q16 這個開關(guān)開通,5V 電源加到 LED 上。
而 74HC245 左側(cè)是通過 P0 口控制,我們讓 P0.0 引腳等于 0,就是 DB_0 等于 0,而右側(cè) DB0 等于 DB_0 的狀態(tài),也是 0,那么這樣在這一排共 8 個 LED 小燈當(dāng)中,只有最右側(cè)的小燈和 5V 之間有壓差,有壓差就會有電流通過,有電流通過我們的 LED2 就會發(fā)光了。
74HC245 左側(cè)我們可以看出來,是直接接到 P0 口上的,而 74HC138 的 ADDR0 ~ ADDR3接在何處呢?來看圖 3-18。
圖 3-18 顯示譯碼與步進(jìn)電機(jī)的選擇跳線
跳線是大家以后經(jīng)常會接觸到的一個器件,它就是 2 根或者 3 根靠在一起的排針,然后可以用一個叫作跳線帽的東西連接其相鄰的 2 根針。它的作用就是起到導(dǎo)線的作用,我們可以通過跳線帽來實(shí)現(xiàn)連接線的切換。
從圖中可以看出,跳線帽本身可以占 2 個針的位置,現(xiàn)在是把右側(cè)和中間的針連到了一起,這樣實(shí)現(xiàn)的就是圖 3-18 中的 P1.0 和 ADDR0 連接到一起、P1.1 和 ADDR1 接一起、P1.2和 ADDR2 接一起、P1.3 和 ADDR3 接一起。
-
單片機(jī)
+關(guān)注
關(guān)注
6037文章
44558瀏覽量
635355 -
IO
+關(guān)注
關(guān)注
0文章
448瀏覽量
39156 -
STC
+關(guān)注
關(guān)注
14文章
299瀏覽量
66227 -
數(shù)字芯片
+關(guān)注
關(guān)注
1文章
110瀏覽量
18402
發(fā)布評論請先 登錄
相關(guān)推薦
評論