單片機IO口擴展技術_第1頁
單片機IO口擴展技術_第2頁
單片機IO口擴展技術_第3頁
單片機IO口擴展技術_第4頁
單片機IO口擴展技術_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、單片機IO口擴展技術0 引言 在單片機家族的眾多成員中,MCS-51系列單片機以其優(yōu)越的性能、成熟的技術、高可靠性和高性價比,占領了工業(yè)測控和自動化工程應用的主要市場,并成為國內(nèi)單片機應用領域中的主流機型。 MCS-51單片機的并行口有P0、P1、P2和P3,由于P0口是地址數(shù)據(jù)總線口,P2口是高8位地址線,P3口具有第二功能,這樣,真正可以作為雙向IO口應用的就只有P1口了。這在大多數(shù)應用中是不夠的,因此,大部分MCS-51單片機應用系統(tǒng)設計都不可避免的需要對P0口進行擴展。 由于MCS-51單片機的外部RAM和IO口是統(tǒng)一編址的,因此,可以把單片機外部64K字節(jié)RAM空間的一部分作為擴展外

2、圍IO口的地址空間。這樣,單片機就可以像訪問外部RAM存儲器單元那樣訪問外部的P0口接口芯片,以對P0口進行讀寫操作。用于P0口擴展的專用芯片很多。如8255可編程并行P0口擴展芯片、8155可編程并行P0口擴展芯片等。本文重點介紹采用具有三態(tài)緩沖的74HC244芯片和輸出帶鎖存的74HC377芯片對P0口進行的并行擴展的具體方法。1 輸入接口的擴展 MCS-51單片機的數(shù)據(jù)總線是一種公用總線,不能被獨占使用,這就要求接在上面的芯片必須具備“三態(tài)”功能,因此擴展輸入接口實際上就是要找一個能夠用于控制且具備三態(tài)輸出的芯片。以便在輸入設備被選通時,它能使輸入設備的數(shù)據(jù)線和單片機的數(shù)據(jù)總線直接接通;

3、而當輸入設備沒有被選通時,它又能隔離數(shù)據(jù)源和數(shù)據(jù)總線(即三態(tài)緩沖器為高阻抗狀態(tài))。1.1 74HC2244芯片的功能 如果輸入的數(shù)據(jù)可以保持比較長的時間(比如鍵盤),簡單輸入接口擴展通常使用的典型芯片為74HC244,由該芯片可構成三態(tài)數(shù)據(jù)緩沖器。74HC244芯片的引腳排列如圖1所示。 74HC244芯片內(nèi)部共有兩個四位三態(tài)緩沖器,使用時可分別以1C和2G作為它們的選通工作信號。當1C和2G都為低電平時,輸出端Y和輸入端A狀態(tài)相同;當1G和2G都為高電平時,輸出呈高阻態(tài)。1.2 應用74HC244芯片擴展輸入接口 圖2是采用74HC2244芯片進行輸入接口擴展的原理電路,圖3是讀P0口的時序

4、。由圖3可以看出,當P2.7和RD同為低電平時,74HC2244才能將輸入端的數(shù)據(jù)送到單片機的P0口。其中,P2.7決定了74HC244的地址,0000H-7FFFH(共32K)地址都可以訪問這個單元,這就是用線選法所帶來的副作用。通常可選擇其中的最高地址作為這個芯片的地址來寫程序,如這個芯片的地址是7FFFH。但這僅僅是一種習慣,并不是規(guī)定,當然也完全可以用0000H作為這個芯片的地址。當確定了地址之后,其接口的輸入操作程序如下:MOV DPTR,#7FFFHMOVX A,DPTR 其中MOVX類指令是MCS-5l單片機專用于對外部RAM進行操作的指令。由于外部IO與外部RAM是同一接口,所

5、以一般使用這條指令對外部IO進行操作。一旦執(zhí)行到MOVX類指令,單片機就會在RD或WR(根據(jù)輸入還是輸出指令)引腳產(chǎn)生一個下降沿,這個下降沿的波形與P2.7相或,則會在或門的輸出口也產(chǎn)生一個下降沿,這個下降沿將使74HC244的輸出與輸入接通,這樣,輸入設備的數(shù)據(jù)就可以被MCS-51單片機從總線上讀取。 需要說明的是,74HC244是不帶鎖存的,因此,如果輸人設備提供的數(shù)據(jù)時間比較短,那么就要用帶鎖存的芯片進行擴展,如74HC373,74HC573等。2 輸出接口的擴展 由于單片機的數(shù)據(jù)總線是為各個芯片服務的,一般不可能為一個輸出而一直保持一種狀態(tài),因此,輸出接口的主要功能是進行數(shù)據(jù)保持(即數(shù)

6、據(jù)鎖存),也就是說,輸出接口的擴展實際上就是擴展鎖存器。2.1 74HC377芯片的功能 輸出接口擴展通常用74HC377芯片來實現(xiàn)。該芯片是一個帶允許端的8D鎖存器,其芯片的引腳如圖4所示,各相關引腳的功能如下:D0D7為8位數(shù)據(jù)輸入端;Q0Q7為8位數(shù)據(jù)輸出端;G為使能控制端;CLK為時鐘信號,上升沿鎖存數(shù)據(jù)。表1所列是該芯片的真值表。2.2 應用74HC377芯片擴展輸出接口 圖5是利用74HC377進行輸出接口擴展的電路連接圖。圖中,74HC377的G端與P2.6口相連,其地址是x0xxxxxxB,如果把“x”全置為1,則為1011 1111 1111 1111B,這樣,0BFFFH就

7、是該芯片的地址了。 由于MCS-51的WR是與74HC377的CLK端相連的,當WR信號由低變高時,數(shù)據(jù)總線上的數(shù)據(jù)為輸出數(shù)據(jù),而此時P2.6輸出低電平,G有效,因此,數(shù)據(jù)就被鎖存。其相關程序如下:MOV DPTR,#0BFFFHMOV A,#DATAMOVX DPTR,A此外,利用74HC373芯片、74HC573芯片也可以進行P0口的擴展。3 接口擴展實例 在實際的應用系統(tǒng)中,可能需要同時擴展多個IO口,以滿足應用系統(tǒng)的需要。而各個輸入、輸出擴展IO芯片應通過74LS138進行“全地址”譯碼選通,從而分時復用數(shù)據(jù)總線DB (DataBus)。為了防止過渡干擾對譯碼選通邏輯造成的影響,單片機

8、系統(tǒng)所用的外圍芯片一般均設為雙步選通方式,即除了配置譯碼選通端外,還應配置使能選通端。而74HC244芯片本身沒有明顯的片選和讀寫控制端,設計時通常采用譯碼和讀控制信號來同時控制74HC244的CS,從而有效地抑制輸入輸出數(shù)據(jù)信息的過渡干擾。此電路輸入口擴展采用2個74HC244。其輸入端接鍵盤或其它數(shù)字信號;而輸出口擴展則選用2個74HC377,以用于控制數(shù)碼管、發(fā)光二極管、繼電器等。其詳細電路原理圖如圖6所示。其部分代碼如下: 51單片機的數(shù)據(jù)地址控制總線端口都有一定的負載能力,P0口可驅(qū)動8個TTL門電路,P1口、P2口和P3口可驅(qū)動4個TTL門電路。負載超過上述規(guī)定一般應加驅(qū)動器。總線驅(qū)動器可以使用TTL型三態(tài)緩沖門電路74HC244、74HC245。另外,在擴展口線的同時,還應兼顧配置總線驅(qū)動器,注意總線負載平衡的配置。在總線上適當安裝上拉電阻可以提高總線信號傳輸?shù)目煽啃浴?此外,一個系統(tǒng)可能由于存在各種干擾及不穩(wěn)定因素而出現(xiàn)故障,為解決這一問

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論