51單片機總線時序
四、常見單片機編址電路
1、簡單地址擴展
51 單片機的P2 口可以直接作為高8位地址總線使用,在一些簡單系統電路中,常使用P2口直接編址驅動。
下面以使用數據緩沖器74LS273 驅動數碼顯示為例,分析P2 口編址驅動的靜態數碼顯示電路的設計。
一位LED 數碼顯示單元電路如圖3 所示。

WR 與A8( P2.0) 相或提供74LS273的時鐘信號,當執行“MOVX @DPTR,A”指令時,地址信息由DPTR 寄存器確定,會出現有效的寫信號WR,只有當地址A8 為滿足“0”時,寫信號才可以作為74LS273 的時鐘信號輸入,完成數據鎖存。
P2 口為A8~A15 的8 位地址線,很容易擴展到8 只LED 數碼管,WR 信號分別與A8~A15 按或關系連接,每位地址線均為低電平有效,即可實現8 個有效地址。
該方案電路簡單,但有效地址數太少,不適用于復雜系統設計。
2、低8 位地址鎖存
通常的設計電路是使用8D 鎖存器74LS373 實現地址鎖存,74HC573 與之邏輯功能相同,只是引腳布局不一樣,使用74HC573 布線更容易。
74LS373 真值表如圖4所示。

在輸出允許OE 為L、控制使能LE 為H 時,輸出為跟隨狀態;
OE 為L、LE 為L 時,輸出為保持狀態。
地址鎖存電路如圖5 所示。OE 接地,LE 接單片機的ALE腳將產生滿足時序的低8 位地址信號。
執行以下三條指令會得到如圖6所示的時序圖。
MOV DPTR,# 0FF55H; 低8 位地址為55H
MOV A,# 0AAH; 待發送數據0AAH→A( 55H 取反)
MOVX,@DPTR,A; A 中的0AAH送地址為0FF55H 的對象中會。

從圖6 中可以看出,P0 口先送55H,在ALE 下降沿實現地址鎖存,隨后送出數據0AAH,在WR 有效( 低電平) 期間鎖存器輸出低8 位地址55H,P0 口送出數據0AAH。
3、帶譯碼器的復雜地址接口電路
理論上高8 位地址線可以產生256 個有效地址,如何實現地址“擴展”呢? 地址擴展準確描述是地址譯碼,例如3 根地址線可以譯碼成8 個地址,4根譯碼成16 個有效地址。這里選擇3-8 譯碼器實現地址譯碼,電路圖以及對應的編址如表1 所示。

五、單片機總線編址電路實例
帶總線擴展接口的單片機系統,包括外部32k RAM 擴展、LCD1602 接口、輸入輸出口。
帶編址擴展的單片機最小系統電路如圖7 所示。
評論