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