單片機總線概述,單片機的三總線結構
2、低8 位地址鎖存
本文引用地址:http://cafeforensic.com/article/201807/389497.htm通常的設計電路是使用8D 鎖存器74LS373 實現(xiàn)地址鎖存,74HC573 與之邏輯功能相同,只是引腳布局不一樣,使用74HC573 布線更容易。
74LS373 真值表如圖4所示。
在輸出允許OE 為L、控制使能LE 為H 時,輸出為跟隨狀態(tài);
OE 為L、LE 為L 時,輸出為保持狀態(tài)。
地址鎖存電路如圖5 所示。OE 接地,LE 接單片機的ALE腳將產生滿足時序的低8 位地址信號。
執(zhí)行以下三條指令會得到如圖6所示的時序圖。
MOV DPTR,# 0FF55H; 低8 位地址為55H
MOV A,# 0AAH; 待發(fā)送數(shù)據(jù)0AAH→A( 55H 取反)
MOVX,@DPTR,A; A 中的0AAH送地址為0FF55H 的對象中會。
從圖6 中可以看出,P0 口先送55H,在ALE 下降沿實現(xiàn)地址鎖存,隨后送出數(shù)據(jù)0AAH,在WR 有效( 低電平) 期間鎖存器輸出低8 位地址55H,P0 口送出數(shù)據(jù)0AAH。
3、帶譯碼器的復雜地址接口電路
理論上高8 位地址線可以產生256 個有效地址,如何實現(xiàn)地址“擴展”呢? 地址擴展準確描述是地址譯碼,例如3 根地址線可以譯碼成8 個地址,4根譯碼成16 個有效地址。這里選擇3-8 譯碼器實現(xiàn)地址譯碼,電路圖以及對應的編址如表1 所示。
帶總線擴展接口的單片機系統(tǒng),包括外部32k RAM 擴展、LCD1602 接口、輸入輸出口。
帶編址擴展的單片機最小系統(tǒng)電路如圖7 所示。
使用74HC573 鎖存低8 位地址;74138 實現(xiàn)8 個地址擴展,74138 的A、B、C 接A8 ~A10,E1 接A15, E2、E3 接地常有效,得到0F8FFH 到0FFFFH8 個地址( 無關位用1 表示) 或者8000H 到8700H( 無關位用0 表示) 。
32k RAM 接口如圖8 所示。
D0~D7 接數(shù)據(jù)總線P0 口,地址線A0~A14接單片機地址總線低15 位,單片機地址線A15 接RAM 片選信號,低電平有效,這樣RAM 地址分配從0000H 到7FFFH,與74138 譯碼地址不沖突。
LCD1602 接口電路如圖9 所示。
RS、RW 分別接A12、A13,使能信號編址為Y7,這樣LCD 的四個驅動地址( 數(shù)據(jù)讀寫和命令讀寫) 為0CFFFH 到0FFFFH ( 無關位為1) 或者8700H 到0B700H( 無關位為0)。
有些時候單片機引腳不夠用,還要進行擴展,輸入口擴展電路如圖10 所示。
利用74HC573( 74LS373) 的高阻態(tài)功能,將其輸出Q0~Q7 接P0 口,在滿足總線地址讀操作中,可以把輸入InPORT的數(shù)據(jù)讀入單片機的累加器,地址為0F8FFH 或8000H。
輸出口擴展電路如圖11 所示。
利用74LS273 數(shù)據(jù)鎖存功能,在滿足總線地址寫操作中,可以把單片機累加器里的數(shù)據(jù)寫入273 鎖存輸出,地址為0F8FFH 或8000H。由于所用控制總線不同,可以和輸入共用地址。
六、結束語
總線擴展是設計單片機控制電路必須掌握的技術,大量的特殊功能IC都支持總線接口, 如ADC0809,TLC7528,DDS 器件AD9851 等。
總線接口的要點就是在嚴格的控制時序下,總線被分時復用,以實現(xiàn)復雜系統(tǒng)設計。
評論