引入幾個概念:
1. 真值表
參見74LS373的PDF的第2頁:
Dn LE OE On
H H L H
L H L L
X L L Qo
X X H Z
這個就是真值表,表示這個芯片在輸入和其它的情況下的輸出情況。
每個芯片的數據手冊(datasheet)中都有真值表。
布爾邏輯比較簡單,在此不贅述;
2. 高阻態
就是輸出既不是高電平,也不是低電平,而是高阻抗的狀態;在這種狀態下,可以
多個芯片并聯輸出;但是,這些芯片中只能有一個處于非高阻態狀態,否則會將芯
片燒毀;
高阻態的概念在RS232和RS422通訊中還可以用到。
3. 數據鎖存
當輸入的數據消失時,在芯片的輸出端,數據仍然保持;
這個概念在并行數據擴展中經常使用到。
4. 數據緩沖
加強驅動能力。74LS244/74LS245/74LS373/74LS573都具備數據緩沖的能力。
OE:output_enable,輸出使能;
LE:latch_enable,數據鎖存使能,latch是鎖存的意思;
Dn:第n路輸入數據;
On:第n路輸出數據;
再看這個真值表,意思如下:
第四行:當OE=1是,無論Dn、LE為何,輸出端為高阻態;
第三行:當OE=0、LE=0時,輸出端保持不變;
第二行第一行:當OE=0、LE=1時,輸出端數據等于輸入端數據;
結合下面的波形圖,在實際應用的時候是這樣做的:
a. OE=0;
b. 先將數據從單片機的口線上輸出到Dn;
c. 再將LE從0->1->0
d. 這時,你所需要輸出的數據就鎖存在On上了,輸入的數據在變化也影響不到輸
出的數據了;實際上,單片機現在在忙著干別的事情,串行通信、掃描鍵盤……單
片機的資源有限啊。
在單片機按照RAM方式進行并行數據的擴展時,使用movx @dptr, A這條指令時,這
些時序是由單片機來實現的。
后面的表格中還有需要時間的參數,你不需要去管它,因為這些參數都是幾十ns級
別的,對于單片機在12M下的每個指令周期最小是1us的情況下,完全可以實現;如
果是你自己來實現這個邏輯,類似的指令如下:
mov P0,A;將數據輸出到并行數據端口
clr LE
setb LE
clr LE ;上面三條指令完成LE的波形從0->1->0的變化
74ls573跟74LS373邏輯上完全一樣,只不過是管腳定義不一樣,數據輸入和輸出端
各在一側,PCB容易走線;所以大家都喜歡使用這個芯片。
4、 74LS244 – 數據緩沖器