1.為什么要進(jìn)行IO口擴(kuò)展?
在電路設(shè)計(jì)的某些時(shí)候,微處理器(如單片機(jī))IO口不夠用了,此時(shí)該怎么辦呢?利用輔助芯片進(jìn)行IO口擴(kuò)展是個(gè)簡單直接的方法,能用較少的成本增多IO口。
我處提供單片機(jī)、PLC、電路板、控制器/箱、儀器儀表、機(jī)電設(shè)備或系統(tǒng)、自動化、工控、傳感、數(shù)據(jù)采集、自控系統(tǒng)、控制系統(tǒng),軟件、APP開發(fā)設(shè)計(jì)定制訂做業(yè)務(wù),如有需要可聯(lián)系(業(yè)務(wù)扣扣:二五三一二六三七二六)。
2.常見的擴(kuò)展方法有哪些?
IO擴(kuò)展的方法一般有以下幾種:
(1)利用串轉(zhuǎn)并芯片擴(kuò)展。這需要一個(gè)數(shù)據(jù)引腳一個(gè)時(shí)鐘引腳,還需要若干控制引腳。
(2)利用鎖存/緩存芯片進(jìn)行擴(kuò)展,如74373。這需要若干數(shù)據(jù)引腳和少量的控制引腳。
以上的方法都是可行。雖然用鎖存/緩存芯片數(shù)據(jù)引腳消耗較多,但是其數(shù)據(jù)引腳可以由若干個(gè)鎖存/緩存芯片分時(shí)復(fù)用,所以只需要控制少量的控制引腳就能使其擴(kuò)展能力倍數(shù)級增長。
3.74373芯片介紹以及引腳定義?
74373一般有兩種芯片,74LS373和74HC373。74LS373是TTL電路,74HC373是COMS電路,它們電平范圍不一樣,但兩者實(shí)現(xiàn)的功能一樣。本文以74HC373為例介紹。
74HC373是八路D 型鎖存器,每個(gè)鎖存器具有獨(dú)立的D 型輸入,以及適用于面向總線的應(yīng)用的三態(tài)輸出。所有鎖存器共用一個(gè)鎖存使能(LE)端和一個(gè)輸出使能(OE)端。74HC373一般用于數(shù)字量信號鎖存或緩存。
表1 74HC373引腳說明
4.典型的擴(kuò)展電路
4.1數(shù)字量輸入擴(kuò)展的原理和電路
如圖 3,為用2個(gè)74373擴(kuò)展數(shù)字量IO口的電路,這個(gè)電路消耗了8個(gè)微處理器的IO口,達(dá)到了至少讀取16個(gè)數(shù)字量的目的。如果再繼續(xù)擴(kuò)展,每新增一個(gè)74373,就可以多擴(kuò)展8個(gè)數(shù)字量,很有優(yōu)勢。說明如下:
微處理器的引腳定義:
P00控制第1個(gè)74373的OE;
P01控制第2個(gè)74373的OE;
若干個(gè)74373的數(shù)據(jù)輸出腳Q并聯(lián)連接接入微處理器的P10- P17;
74373的D腳接來自外部的數(shù)字量,Q腳接微處理器,OE受微處理器控制;
74373的LE引腳接高電平使其進(jìn)入隨動模式。
擴(kuò)展流程如下:
(1)、外部電路的1-8號數(shù)字量輸入引腳接入第1個(gè)74373的輸入引腳1D-8D, 外部電路的9-16號數(shù)字量輸入引腳接入第2個(gè)74373的輸入引腳1D-8D;
(2)、2個(gè)74373的輸出引腳1Q-8Q并聯(lián)后接入微處理器的P10-P17引腳;
(3)、用微處理器的P00控制第1個(gè)74373的OE, 用微處理器的P01控制第2個(gè)74373的OE;
(4)、當(dāng)微處理器要讀取外部電路的1-8號數(shù)字量輸入引腳時(shí),令P00=0,P01=1,那么第1個(gè)74373的輸出(對應(yīng)1-8號外部數(shù)字量)會正常輸入到微處理器,第2個(gè)74373的輸出處于高阻狀態(tài),相當(dāng)于斷路。
當(dāng)微處理器要讀取外部電路的9-16號數(shù)字量輸入引腳時(shí),令P00=1,P01=0,那么第1個(gè)74373的輸出處于高阻狀態(tài)(相當(dāng)于斷路),第2個(gè)74373的輸出(對應(yīng)9-16號外部數(shù)字量)會正常輸入到微處理器。
如此,實(shí)現(xiàn)數(shù)字量輸入擴(kuò)展。如果需要更多數(shù)字量輸入擴(kuò)展口類似操作即可,在后面,只需要多消耗一個(gè)IO口,就能獲取8個(gè)擴(kuò)展數(shù)字量。
注意,在某一時(shí)刻,只能有一個(gè)74373處于導(dǎo)通隨變狀態(tài),其余必須處于高阻態(tài),不然可能會產(chǎn)生電平?jīng)_突。
4.2數(shù)字量輸出擴(kuò)展的原理和電路
引腳定義:
若干個(gè)74373的數(shù)據(jù)輸入引腳D并聯(lián)連接接入微處理器的P20-P27;
74373的LE引腳受微處理器控制,OE引腳接地使其進(jìn)入非鎖存態(tài);
擴(kuò)展流程如下:
(1)、令第1個(gè)74373的LE=1,使其處于隨動狀態(tài),并第2個(gè)及其他74373的LE=0,使其處于鎖存狀態(tài);
(2)、微處理器把輸出數(shù)據(jù)到第1個(gè)74373,輸出完成后令LE=0,使第1個(gè)74373對微處理器傳輸來的數(shù)據(jù)進(jìn)行鎖存;
(3)、再使第2個(gè)74373的LE=1,使其處于隨動狀態(tài),微處理器輸出數(shù)據(jù)到第2個(gè)74373后再使LE=0令其鎖存,這樣,各個(gè)74373的輸出位就保持了微處理器輸出的數(shù)據(jù),依次類似處理各個(gè)74373,達(dá)到輸出擴(kuò)展的目的。
74373的輸出引腳Q,分別接到待控制的外部電路中。
5.典型的擴(kuò)展程序流程
5.1數(shù)字量輸入擴(kuò)展的程序流程
數(shù)字量輸入擴(kuò)展的程序流程參考4.1中的過程描述,電路圖參考圖 3。程序流程圖如下:
5.2數(shù)字量輸出擴(kuò)展的程序流程
數(shù)字量輸出擴(kuò)展的程序流程參考4.2中的過程描述,電路參考圖 5。參考程序流程如下:
以上為利用74373進(jìn)行數(shù)字量擴(kuò)展的要點(diǎn),關(guān)鍵是用好用作輸入時(shí)對OE引腳的控制,用作輸出時(shí)對LE引腳的控制。每次操作的最小數(shù)據(jù)單元為8位,即一個(gè)字節(jié)。
-
單片機(jī)
+關(guān)注
關(guān)注
6037文章
44569瀏覽量
636133 -
鎖存器
+關(guān)注
關(guān)注
8文章
906瀏覽量
41542 -
IO口
+關(guān)注
關(guān)注
3文章
170瀏覽量
24077 -
COMS
+關(guān)注
關(guān)注
1文章
91瀏覽量
33142 -
74HC373
+關(guān)注
關(guān)注
1文章
4瀏覽量
6014
發(fā)布評論請先 登錄
相關(guān)推薦
評論