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

評論