MCS-51單片機P0口擴展技術(shù)研究

發(fā)布時(shí)間:2010-6-19 18:52    發(fā)布者:zealot
關(guān)鍵詞: MCS-51 , 單片機 , 擴展技術(shù)
單片機家族的眾多成員中,MCS-51系列單片機以其優(yōu)越的性能、成熟的技術(shù)、高可靠性和高性?xún)r(jià)比,占領(lǐng)了工業(yè)測控和自動(dòng)化工程應用的主要市場(chǎng),并成為國內單片機應用領(lǐng)域中的主流機型。

MCS-51單片機的并行口有P0、P1、P2和P3,由于P0口是地址/數據總線(xiàn)口,P2口是高8位地址線(xiàn),P3口具有第二功能,這樣,真正可以作為雙向I/O口應用的就只有P1口了。這在大多數應用中是不夠的,因此,大部分MCS-51單片機應用系統設計都不可避免的需要對P0口進(jìn)行擴展。

由于MCS-51單片機的外部RAM和I/O口是統一編址的,因此,可以把單片機外部64K字節RAM空間的一部分作為擴展外圍I/O口的地址空間。這樣,單片機就可以像訪(fǎng)問(wèn)外部RAM存儲器單元那樣訪(fǎng)問(wèn)外部的P0口接口芯片,以對P0口進(jìn)行讀/寫(xiě)操作。用于P0口擴展的專(zhuān)用芯片很多。如8255可編程并行P0口擴展芯片、8155可編程并行P0口擴展芯片等。本文重點(diǎn)介紹采用具有三態(tài)緩沖的74HC244芯片和輸出帶鎖存的74HC377芯片對P0口進(jìn)行的并行擴展的具體方法。

1 輸入接口的擴展

MCS-51單片機的數據總線(xiàn)是一種公用總線(xiàn),不能被獨占使用,這就要求接在上面的芯片必須具備“三態(tài)”功能,因此擴展輸入接口實(shí)際上就是要找一個(gè)能夠用于控制且具備三態(tài)輸出的芯片。以便在輸入設備被選通時(shí),它能使輸入設備的數據線(xiàn)和單片機的數據總線(xiàn)直接接通;而當輸入設備沒(méi)有被選通時(shí),它又能隔離數據源和數據總線(xiàn)(即三態(tài)緩沖器為高阻抗狀態(tài))。

1.1 74HC2244芯片的功能

如果輸入的數據可以保持比較長(cháng)的時(shí)間(比如鍵盤(pán)),簡(jiǎn)單輸入接口擴展通常使用的典型芯片為74HC244,由該芯片可構成三態(tài)數據緩沖器。74HC244芯片的引腳排列如圖1所示。


74HC244芯片內部共有兩個(gè)四位三態(tài)緩沖器,使用時(shí)可分別以1C和2G作為它們的選通工作信號。當1C和2G都為低電平時(shí),輸出端Y和輸入端A狀態(tài)相同;當1G和2G都為高電平時(shí),輸出呈高阻態(tài)。

1.2 應用74HC244芯片擴展輸入接口

圖2是采用74HC2244芯片進(jìn)行輸入接口擴展的原理電路,圖3是讀P0口的時(shí)序。由圖3可以看出,當P2.7和RD同為低電平時(shí),74HC2244才能將輸入端的數據送到單片機的P0口。其中,P2.7決定了74HC244的地址,0000H-7FFFH(共32K)地址都可以訪(fǎng)問(wèn)這個(gè)單元,這就是用線(xiàn)選法所帶來(lái)的副作用。通?蛇x擇其中的最高地址作為這個(gè)芯片的地址來(lái)寫(xiě)程序,如這個(gè)芯片的地址是7FFFH。但這僅僅是一種習慣,并不是規定,當然也完全可以用0000H作為這個(gè)芯片的地址。當確定了地址之后,其接口的輸入操作程序如下:


MOV DPTR,#7FFFH

MOVX A,@DPTR

其中MOVX類(lèi)指令是MCS-5l單片機專(zhuān)用于對外部RAM進(jìn)行操作的指令。由于外部I/O與外部RAM是同一接口,所以一般使用這條指令對外部I/O進(jìn)行操作。一旦執行到MOVX類(lèi)指令,單片機就會(huì )在RD或WR(根據輸入還是輸出指令)引腳產(chǎn)生一個(gè)下降沿,這個(gè)下降沿的波形與P2.7相或,則會(huì )在或門(mén)的輸出口也產(chǎn)生一個(gè)下降沿,這個(gè)下降沿將使74HC244的輸出與輸入接通,這樣,輸入設備的數據就可以被MCS-51單片機從總線(xiàn)上讀取。

需要說(shuō)明的是,74HC244是不帶鎖存的,因此,如果輸人設備提供的數據時(shí)間比較短,那么就要用帶鎖存的芯片進(jìn)行擴展,如74HC373,74HC573等。

2 輸出接口的擴展

由于單片機的數據總線(xiàn)是為各個(gè)芯片服務(wù)的,一般不可能為一個(gè)輸出而一直保持一種狀態(tài),因此,輸出接口的主要功能是進(jìn)行數據保持(即數據鎖存),也就是說(shuō),輸出接口的擴展實(shí)際上就是擴展鎖存器。

2.1 74HC377芯片的功能

輸出接口擴展通常用74HC377芯片來(lái)實(shí)現。該芯片是一個(gè)帶允許端的8D鎖存器,其芯片的引腳如圖4所示,各相關(guān)引腳的功能如下:


◇D0~D7為8位數據輸入端;

◇Q0~Q7為8位數據輸出端;

◇G為使能控制端;

◇CLK為時(shí)鐘信號,上升沿鎖存數據。

表1所列是該芯片的真值表。


2.2 應用74HC377芯片擴展輸出接口

圖5是利用74HC377進(jìn)行輸出接口擴展的電路連接圖。圖中,74HC377的G端與P2.6口相連,其地址是x0xxxxxxB,如果把“x”全置為1,則為1011 1111 1111 1111B,這樣,0BFFFH就是該芯片的地址了。


由于MCS-51的WR是與74HC377的CLK端相連的,當WR信號由低變高時(shí),數據總線(xiàn)上的數據為輸出數據,而此時(shí)P2.6輸出低電平,G有效,因此,數據就被鎖存。其相關(guān)程序如下:

MOV DPTR,#0BFFFH

MOV A,#DATA

MOVX @DPTR,A

此外,利用74HC373芯片、74HC573芯片也可以進(jìn)行P0口的擴展。

3 接口擴展實(shí)例

在實(shí)際的應用系統中,可能需要同時(shí)擴展多個(gè)I/O口,以滿(mǎn)足應用系統的需要。而各個(gè)輸入、輸出擴展I/O芯片應通過(guò)74LS138進(jìn)行“全地址”譯碼選通,從而分時(shí)復用數據總線(xiàn)DB (DataBus)。為了防止過(guò)渡干擾對譯碼選通邏輯造成的影響,單片機系統所用的外圍芯片一般均設為雙步選通方式,即除了配置譯碼選通端外,還應配置使能選通端。而74HC244芯片本身沒(méi)有明顯的片選和讀/寫(xiě)控制端,設計時(shí)通常采用譯碼和讀控制信號來(lái)同時(shí)控制74HC244的CS,從而有效地抑制輸入/輸出數據信息的過(guò)渡干擾。

此電路輸入口擴展采用2個(gè)74HC244。其輸入端接鍵盤(pán)或其它數字信號;而輸出口擴展則選用2個(gè)74HC377,以用于控制數碼管、發(fā)光二極管、繼電器等。其詳細電路原理圖如圖6所示。


其部分代碼如下:


51單片機的數據/地址/控制總線(xiàn)端口都有一定的負載能力,P0口可驅動(dòng)8個(gè)TTL門(mén)電路,P1口、P2口和P3口可驅動(dòng)4個(gè)TTL門(mén)電路。負載超過(guò)上述規定一般應加驅動(dòng)器?偩(xiàn)驅動(dòng)器可以使用TTL型三態(tài)緩沖門(mén)電路74HC244、74HC245。另外,在擴展口線(xiàn)的同時(shí),還應兼顧配置總線(xiàn)驅動(dòng)器,注意總線(xiàn)負載平衡的配置。在總線(xiàn)上適當安裝上拉電阻可以提高總線(xiàn)信號傳輸的可靠性。

此外,一個(gè)系統可能由于存在各種干擾及不穩定因素而出現故障,為解決這一問(wèn)題,設計時(shí)也可以從軟件設計方面采取一些措施。

4 結束語(yǔ)

與其它51單片機P0口擴展相比,本文介紹的輸入/輸出口的P0并行擴展方法,可以很方便的實(shí)現P0口的并行擴展。所設計的接口擴展電路已成功用于實(shí)際系統中。實(shí)際運行表明,采用該方法擴展的P0口系統能夠可靠、穩定的運行。
本文地址:http://selenalain.com/thread-13283-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)在線(xiàn)工具

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页