第10章 MCS-51單片機(jī)系統(tǒng)擴(kuò)展-第2部分_第1頁(yè)
第10章 MCS-51單片機(jī)系統(tǒng)擴(kuò)展-第2部分_第2頁(yè)
第10章 MCS-51單片機(jī)系統(tǒng)擴(kuò)展-第2部分_第3頁(yè)
第10章 MCS-51單片機(jī)系統(tǒng)擴(kuò)展-第2部分_第4頁(yè)
第10章 MCS-51單片機(jī)系統(tǒng)擴(kuò)展-第2部分_第5頁(yè)
已閱讀5頁(yè),還剩19頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、10.5 存儲(chǔ)器擴(kuò)展10.5.1 存儲(chǔ)器擴(kuò)展概述1. 80C51單片機(jī)的存儲(chǔ)器擴(kuò)展80C51單片機(jī)地址總線寬度為16位(P0口為低8位,P2口為高8位),片外可擴(kuò)展的存儲(chǔ)器最大容量為64KB,地址為0000HFFFFH。因?yàn)槌绦虼鎯?chǔ)器和數(shù)據(jù)存儲(chǔ)器是通過(guò)不同的控制信號(hào)和指令進(jìn)行訪問(wèn)【程序存儲(chǔ)器用單片機(jī)的引腳,數(shù)據(jù)存儲(chǔ)器用和引腳】,允許兩者的地址空間重疊(或相同)。所以片外可擴(kuò)展的程序存儲(chǔ)器與數(shù)據(jù)存儲(chǔ)器分別都為64KB?!緩?qiáng)調(diào):程序存儲(chǔ)器用單片機(jī)的引腳,數(shù)據(jù)存儲(chǔ)器和IO接口用和引腳】【用串行通信中的情況來(lái)解釋,以便相互聯(lián)系地進(jìn)行理解。類似于串行的SBUF,地址都為99H,一個(gè)只能讀出,一個(gè)只能寫入

2、;例如用74LS244和74LS273的例題,對(duì)輸入和輸出,也是用的相同地址】2. 存儲(chǔ)器擴(kuò)展的一般方法不論何種存儲(chǔ)器芯片,其引腳都是用三總線結(jié)構(gòu)(AB、DB、CB)和單片機(jī)連接都是三總線對(duì)接。存儲(chǔ)器編址分兩個(gè)層次:(1)存儲(chǔ)芯片的選擇(用高位地址線進(jìn)行片選【線選或譯碼輸出】);(2)芯片內(nèi)部存儲(chǔ)單元的選擇(用低位地址線)。如下圖,如果存儲(chǔ)器芯片容量為2KB,則需要地址線為11根,芯片的引腳可以與地址總線的低11位A0A10相連,用于選擇芯片內(nèi)的具體字節(jié)存儲(chǔ)單元。如果用地址總線的A14、A13、A12、A11四根地址線參加譯碼來(lái)選擇芯片,A15不參與譯碼【例如用74LS154,4-16】,如果

3、選擇這四根地址總線的狀態(tài)為0010時(shí)選中該芯片。由于地址總線A15不參加譯碼,所以當(dāng)A15A14A13A12A11=00010(或10010)時(shí),都可以選中該存儲(chǔ)器芯片。 當(dāng)A15=0時(shí),芯片占用的地址是:【地址不連續(xù)】0001 0000 0000 00000001 0111 1111 1111,即1000H17FFH。當(dāng)A15=1時(shí),芯片占用的地址是:1001 0000 0000 00001001 0111 1111 1111,即9000H97FFH。10.5.2 程序存儲(chǔ)器的擴(kuò)展程序存儲(chǔ)器中的信息要用特殊方式寫入(程序、常數(shù)、表格數(shù)據(jù)),斷電后可保持信息不丟失。單片機(jī)系統(tǒng)工作時(shí),程序存儲(chǔ)器

4、中的信息只能讀出。向程序存儲(chǔ)器中“寫入”信息稱為程序存儲(chǔ)器編程。根據(jù)編程方式不同,分為以下幾種。(1)ROM。(Read Only Memory)在制造過(guò)程中編程,是以掩模工藝實(shí)現(xiàn)的,因此稱為掩模ROM。由生產(chǎn)芯片的廠家固化信息。在最后一道工序用掩膜工藝寫入信息,用戶只能讀。這種芯片存儲(chǔ)結(jié)構(gòu)簡(jiǎn)單,集成度高,但由于掩模工藝成本較高,因此只適合于大批量生產(chǎn)?!居?jì)算機(jī)中的BIOS芯片采用】(2)可編程ROM(PROM)。芯片出廠時(shí)沒(méi)有任何程序信息,用戶可進(jìn)行一次編程。存儲(chǔ)單元電路由熔絲相連,當(dāng)加入寫脈沖,某些存儲(chǔ)單元熔絲熔斷,信息永久寫入,不能再次改寫。(3)EPROM。使用專用的編程器將調(diào)試完畢的

5、程序?qū)懭?。如果要改寫其中的程序,必須用紫外線照射芯片外殼的中間位置的圓形窗口【大約需要幾分鐘時(shí)間】,清除掉其中的程序后(二進(jìn)制代碼),可再次寫入。程序?qū)懭牒螅趫A形窗口上貼上擋光貼片,以防紫外線照射。【醫(yī)院的紫外線燈,太陽(yáng)下照射】(4)E2PROM(EEPROM)。既可全片擦除也可字節(jié)擦除,可在線擦除信息,又能在掉電時(shí)保存信息,具備RAM、ROM的優(yōu)點(diǎn),但寫入時(shí)間較長(zhǎng)。對(duì)E2PROM的讀寫操作與RAM存儲(chǔ)器幾乎沒(méi)有什么差別,只是寫入的速度慢一些,但斷電后仍能保存信息,對(duì)數(shù)據(jù)的保存期為10年。(5)Flash ROM。 又稱閃速存儲(chǔ)器(簡(jiǎn)稱閃存),是在EPROM、E2PROM的基礎(chǔ)上發(fā)展起來(lái)的

6、一種電擦除型只讀存儲(chǔ)器。特點(diǎn)是可快速在線修改其存儲(chǔ)單元中的數(shù)據(jù),改寫次數(shù)可達(dá)1萬(wàn)次,其讀寫速度很快,存取時(shí)間可達(dá)70ns,而成本比E2PROM低得多,大有取代E2PROM的趨勢(shì)?!救绻臻g沒(méi)有利用完,可以用不同的單元進(jìn)行改寫,這樣可延長(zhǎng)整個(gè)芯片的壽命】目前許多公司生產(chǎn)的8051內(nèi)核的單片機(jī),在芯片內(nèi)部大多集成了數(shù)量不等的Flash ROM。例如,美國(guó)ATMEL公司產(chǎn)品AT89C5x/AT89S5x,片內(nèi)有不同容量的Flash ROM。在片內(nèi)的Flash ROM滿足要求下,擴(kuò)展外部程序存儲(chǔ)器可省去。10.5.3 常用的EPROM芯片使用較多的是并行EPROM,EPROM的典型芯片是27系列產(chǎn)品,

7、例如,2764(8KB)、27128(16KB)、27256(32KB)、27512(64KB)。型號(hào) “27”后面的數(shù)字表示芯片的存儲(chǔ)容量。如果換算成字節(jié)容量,只需將該數(shù)字除以8即可。例如,“27128”中的“27”后的數(shù)字 “128”,128/8 =16KB隨著大規(guī)模集成電路技術(shù)的發(fā)展,大容量存儲(chǔ)器芯片產(chǎn)量劇增,售價(jià)不斷下降,性價(jià)比明顯增高,且由于小容量芯片停止生產(chǎn),使市場(chǎng)某些小容量芯片價(jià)格反而比大容量芯片還貴。所以,應(yīng)盡量采用大容量芯片。1常用EPROM芯片引腳27系列EPROM芯片的引腳如圖10-12所示。芯片引腳功能為:A0A15:地址線引腳。用于進(jìn)行單元選擇。芯片的存儲(chǔ)容

8、量決定需要利用A0A15中的多少根引腳。D7D0:8根數(shù)據(jù)線。:片選控制端?!镜碗娖接行В删€選或譯碼器輸出選擇】:輸出允許控制端。【低電平有效,和單片機(jī)的相連】:編程時(shí),編程脈沖的輸入端。圖10-12 常用EPROM芯片引腳VPP:編程時(shí),編程電壓(12.5V、21V等)輸入端。VCC:+5V,芯片的工作電壓。GND:數(shù)字地。NC:無(wú)用端?!静挥?,可以不連接】表10-4為27系列EPROM芯片的技術(shù)參數(shù),其中VCC是芯片供電電壓,VPP是編程電壓,Im為最大靜態(tài)電流,Is為維持電流,TRM為最大讀出時(shí)間。表10-4 常用EPROM芯片參數(shù)表【不用記憶】參 數(shù)型號(hào)Vcc(V)Vpp(V)Im(

9、mA)Is(mA)Trm(nS)容量TMS2732A521132322004504KB×8TMS2764521100352004508KB×8Intel2764A512.560202008KB×8Intel27C64512.5100.12008KB×8Intel27128A512.51004015020016KB×8Intel27C128512.5300.120016KB×8Intel27256512.51004022032KB×8Intel27C256512.580.125030032KB×8Intel27512

10、512.51254025064KB×82EPROM芯片的工作方式5種工作方式,由、和信號(hào)的組合確定。如表10-5所示。表10-5 EPROM的5種工作方式方式D7D0讀出低低5V程序、數(shù)據(jù)讀出未選中高×5V高阻編程正脈沖高21V(或12.5)程序?qū)懭氤绦蛐r?yàn)低低21V(或12.5)程序讀出編程禁止低高21V(或12.5)高阻(1)讀出方式:工作在該方式的條件是:使片選控制線為低電平,同時(shí)讓輸出允許控制線為低電平,VPP為+5V,就可把指定地址單元的內(nèi)容從D7D0上讀出。(2)未選中方式:當(dāng)片選控制線為高電平時(shí),芯片未選中方式,數(shù)據(jù)輸出為高阻抗懸浮狀態(tài),不占用數(shù)據(jù)總線【相當(dāng)于

11、斷開(kāi)】。EPROM處于低功耗的維持狀態(tài)。(3)編程方式。在VPP端加上規(guī)定好的電壓,和端加上合適的電平(不同芯片要求不同),能將數(shù)據(jù)寫入到指定地址單元。編程地址和編程數(shù)據(jù)分別由系統(tǒng)的A15A0和D7D0提供。(4)編程校驗(yàn)方式。VPP端保持相應(yīng)的編程電壓(高壓),再按讀出方式操作,讀出固化好的內(nèi)容,校驗(yàn)寫入內(nèi)容是否正確。(5)編程禁止方式。10.5.4 程序存儲(chǔ)器的操作時(shí)序1單片機(jī)訪問(wèn)程序存儲(chǔ)器的控制信號(hào)80C51單片機(jī)訪問(wèn)片外擴(kuò)展的程序存儲(chǔ)器時(shí),所用的控制信號(hào)有以下4種:(1)ALE:用于鎖存低8位地址,一般都接74LS373的G端(LE端)。(2):片外程序存儲(chǔ)器“讀選通”控制信號(hào)。連接外

12、擴(kuò)EPROM的 引腳。【因?yàn)樽xEPROM時(shí),為低電平】(3):片內(nèi)、片外程序存儲(chǔ)器訪問(wèn)的控制信號(hào)。 (4) 片選信號(hào)。當(dāng)=1時(shí),在單片機(jī)發(fā)出的地址小于片內(nèi)程序存儲(chǔ)器最大地址時(shí),訪問(wèn)片內(nèi)程序存儲(chǔ)器;當(dāng)=0時(shí),只訪問(wèn)片外程序存儲(chǔ)器。如果指令是從片外EPROM中讀取的,除了ALE用于低8位地址鎖存信號(hào)之外,控制信號(hào)還有接外擴(kuò)EPROM的腳。此外,P0口分時(shí)用作低8位地址總線和數(shù)據(jù)總線【利用ALE信號(hào)和74LS373鎖存地址低8位】,P2口用作高8位地址線。2操作時(shí)序80C51對(duì)片外程序存儲(chǔ)器的操作時(shí)序分兩種,即執(zhí)行非MOVX指令的時(shí)序和執(zhí)行MOVX指令的時(shí)序,如圖10-12所示。(1)應(yīng)用系統(tǒng)中無(wú)片

13、外RAM在系統(tǒng)無(wú)片外RAM(或I/O)時(shí),不用執(zhí)行MOVX指令。在執(zhí)行非MOVX指令時(shí),時(shí)序如圖10-12(a)所示。P0口作為地址/數(shù)據(jù)復(fù)用的雙向總線,用于輸入指令或輸出程序存儲(chǔ)器的低8位地址PCL。P2口專門用于輸出程序存儲(chǔ)器的高8位地址PCH。P0口分時(shí)復(fù)用,所以首先要將P0口輸出的低8位地址PCL鎖存在鎖存器中,然后P0口再作為數(shù)據(jù)口。在每個(gè)機(jī)器周期中,允許地址鎖存兩次有效,ALE在下降沿時(shí),將P0口的低8位地址PCL鎖存在鎖存器中。圖10-12 執(zhí)行非MOVX指令的時(shí)序同時(shí),也是每個(gè)機(jī)器周期中兩次有效,用于選通片外程序存儲(chǔ)器,將指令讀入片內(nèi)。系統(tǒng)無(wú)片外RAM(或I/O)時(shí),此ALE信

14、號(hào)以振蕩器頻率的1/6出現(xiàn)在引腳上,它可用作外部時(shí)鐘或定時(shí)脈沖信號(hào)。(2)應(yīng)用系統(tǒng)中接有片外RAM由圖10-12(b)可以看出:(1)將ALE用作定時(shí)脈沖輸出時(shí),執(zhí)行一次MOVX指令就會(huì)丟失一個(gè)ALE脈沖;(2)只有在執(zhí)行MOVX指令時(shí)的第二個(gè)機(jī)器周期中,才對(duì)數(shù)據(jù)存儲(chǔ)器(或I/O)讀/寫,地址總線才由數(shù)據(jù)存儲(chǔ)器使用。圖10-12 執(zhí)行MOVX指令的(讀)時(shí)序10.5.5 80C51單片機(jī)與EPROM的接口電路設(shè)計(jì)由于80C51單片機(jī)片內(nèi)集成不同容量的Flash ROM,可根據(jù)實(shí)際需要來(lái)決定是否外部擴(kuò)展EPROM。當(dāng)應(yīng)用程序不大于單片機(jī)片內(nèi)的Flash ROM容量時(shí),擴(kuò)展外部程序存儲(chǔ)器的工作可省

15、略。但作為擴(kuò)展外部程序存儲(chǔ)器的基本方法,還是應(yīng)該掌握。180C51與單片EPROM的硬件接口電路在設(shè)計(jì)接口電路時(shí),由于擴(kuò)展的EPROM在正常使用中只讀不寫,故EPROM芯片只有讀出控制引腳,記為,該引腳與80C51單片機(jī)的相連,地址線、數(shù)據(jù)線分別與80C51單片機(jī)的地址線、數(shù)據(jù)線相連,片選端控制可采用線選法或譯碼法?!緵](méi)有寫入控制信號(hào)】下面介紹2764和27128芯片與80C51的接口。更大容量的27256、27512與80C51的連接,差別只是連接的地址線數(shù)目不同。由于2764與27128引腳的差別僅在26腳,2764的26腳是空腳(NC),27128的26腳是地址線A13,因此在設(shè)計(jì)外擴(kuò)存

16、儲(chǔ)器電路時(shí),應(yīng)選用27128芯片設(shè)計(jì)電路。在實(shí)際應(yīng)用時(shí),可將27128換成2764,系統(tǒng)仍能正常運(yùn)行。圖10-13所示為80C51外擴(kuò)16KB的EPROM 27128的電路。由于只擴(kuò)展一片EPROM,所以片選端的連接可以是:(1)可以直接接地;(2)也可接到某一高位地址線上(A15或A14;P27或P26)進(jìn)行線選;(3)也可接某一地址譯碼器的輸出端。圖10-13 80C51單片機(jī)與27128的接口電路2使用多片EPROM的擴(kuò)展電路圖10-14所示為利用4片27128 EPROM擴(kuò)展成64KB程序存儲(chǔ)器的方法。片選信號(hào)由譯碼器產(chǎn)生。4片27128各自所占的地址空間,讀者自己分析?!?71281

17、6K×4,用P00P07,P20P25】【不能接地,因?yàn)橛卸嗥繄D10-14 80C51與4片27128 EPROM的接口電路IC1的地址:0000 0000 0000 00000011 1111 1111 1111(00003FFF)單片機(jī)的引腳接地,只使用片外程序存儲(chǔ)器。10.6 數(shù)據(jù)存儲(chǔ)器擴(kuò)展在單片機(jī)應(yīng)用系統(tǒng)中,外部擴(kuò)展的數(shù)據(jù)存儲(chǔ)器都采用靜態(tài)數(shù)據(jù)存儲(chǔ)器(SRAM),不需要刷新【而動(dòng)態(tài)RAM是由柵極漏電容構(gòu)成,需要不斷的刷新,才能保存數(shù)據(jù)】。對(duì)外部擴(kuò)展的數(shù)據(jù)存儲(chǔ)器空間訪問(wèn),P2口提供高8位地址,P0口分時(shí)提供低8位地址和8位雙向數(shù)據(jù)總線。數(shù)據(jù)存儲(chǔ)器擴(kuò)展與程序存儲(chǔ)器擴(kuò)展基本相同,只

18、是數(shù)據(jù)存儲(chǔ)器的控制信號(hào)為輸出允許信號(hào)和寫控制信號(hào),分別與單片機(jī)的片外數(shù)據(jù)存儲(chǔ)器的讀控制信號(hào)(P3.7)和寫控制信號(hào)(P3.6)相連,其它信號(hào)線的連接與程序存儲(chǔ)器相同?!境绦虼鎯?chǔ)器只能輸出,數(shù)據(jù)存儲(chǔ)器具有寫入和輸出兩種】10.6.1 常用的靜態(tài)RAM(SRAM)芯片單片機(jī)系統(tǒng)中常用的RAM芯片的典型型號(hào)有6116(2KB),6264(8KB),62128(16KB),62256(32KB)。6116為24腳封裝,6264、62128、62256為28腳封裝。這些RAM芯片的引腳如圖10-15所示。圖10-15 常用的RAM引腳圖【6264的引腳有一些特殊,體現(xiàn)在還有一個(gè)CS引腳需要接高電平】各引

19、腳功能:A0A15:地址輸入線。D0D7:雙向三態(tài)數(shù)據(jù)線。:片選信號(hào)輸入線,低電平有效。(但對(duì)6264芯片,當(dāng)24腳(CS)為高電平且為低電平時(shí)才選中該片)。:讀選通信號(hào)輸入線,低電平有效。【從外RAM中讀數(shù)據(jù),連】:寫允許信號(hào)輸入線,低電平有效?!就釸AM中寫數(shù)據(jù),連】VCC: 工作電源+5V。GND: 地。RAM存儲(chǔ)器有讀出、寫入和維持3種工作方式,工作方式的控制見(jiàn)表10-6。表 106 6116、6264、62256芯片3種工作方式的控制工作方式RAM芯片的控制信號(hào)D0D7讀出001數(shù)據(jù)輸出寫入010數(shù)據(jù)輸入維持1××高阻態(tài)10.6.2 外擴(kuò)數(shù)據(jù)存儲(chǔ)器的讀寫操作時(shí)序

20、對(duì)片外RAM讀和寫兩種操作時(shí)序的基本過(guò)程相同。1讀片外RAM操作時(shí)序單片機(jī)讀片外RAM操作時(shí)序如圖10-16所示。在第一個(gè)機(jī)器周期的S1狀態(tài),ALE信號(hào)由低變高(處),讀RAM周期開(kāi)始。在S2狀態(tài),CPU把低8位地址送到P0口總線上,把高8位地址送上P2口。ALE下降沿(處)用來(lái)把低8位地址信息鎖存到外部鎖存器74LS373。而高8位地址信息一直鎖存在P2口鎖存器中(處)。在S3狀態(tài),P0口總線變成高阻懸浮狀態(tài)。在S4狀態(tài),執(zhí)行從外部存儲(chǔ)器讀取數(shù)據(jù)指令后,使信號(hào)變有效(處),信號(hào)使被尋址的片外RAM過(guò)片刻后把數(shù)據(jù)送上P0口總線(處),當(dāng)回到高電平后(處),P0總線變懸浮狀態(tài)(處)。圖10-16

21、單片機(jī)讀片外RAM操作時(shí)序圖2寫片外RAM操作時(shí)序向片外RAM寫數(shù)據(jù),單片機(jī)執(zhí)行往外部存儲(chǔ)器寫數(shù)據(jù)指令。指令執(zhí)行后,80C51的信號(hào)為低有效,此信號(hào)使RAM的端被選通。寫片外RAM的時(shí)序如圖10-17所示。開(kāi)始的過(guò)程與讀過(guò)程類似,但寫的過(guò)程是CPU主動(dòng)把數(shù)據(jù)送上P0口總線,所以在時(shí)序上,CPU先向P0口總線上送完8位地址后,在S3狀態(tài)就將數(shù)據(jù)送到P0口總線(處)。此間,P0總線上不會(huì)出現(xiàn)高阻懸浮現(xiàn)象。圖10-17單片機(jī)寫片外RAM操作時(shí)序圖在S4狀態(tài),寫信號(hào)有效(處),選通片外RAM,稍過(guò)片刻,P0口上的數(shù)據(jù)就寫到RAM內(nèi)了,然后寫信號(hào)變?yōu)闊o(wú)效(處)。10.6.3 單片機(jī)與RAM的接口電路設(shè)計(jì)

22、外擴(kuò)RAM時(shí),應(yīng)將單片機(jī)的腳與RAM芯片的腳連接,腳與RAM腳連接。片外RAM的片選端可以由線選或譯碼方式控制。因此設(shè)計(jì)時(shí),主要解決地址分配、數(shù)據(jù)線和控制信號(hào)線的連接問(wèn)題。在與高速單片機(jī)連接時(shí),還要根據(jù)時(shí)序解決讀/寫速度匹配問(wèn)題。圖10-18為用線選法擴(kuò)展外部數(shù)據(jù)存儲(chǔ)器電路。圖中數(shù)據(jù)存儲(chǔ)器選用6264(8K),所以需要利用A0A12地址線,還有3條剩余的地址線。圖10-18 線選法擴(kuò)展外部數(shù)據(jù)存儲(chǔ)器電路上圖采用線選方法擴(kuò)展了3片6264,對(duì)應(yīng)的存儲(chǔ)器地址如表10-7。表 10-7 3片6264芯片對(duì)應(yīng)的存儲(chǔ)空間表P2.7 P2.6 P2.5選中芯片地址范圍存儲(chǔ)容量 1 1 0IC1C000HD

23、FFFH8KB 1 0 1IC2A000HBFFFH8KB 0 1 1IC36000H7FFFH8KB采用譯碼法擴(kuò)展外部數(shù)據(jù)存儲(chǔ)器的接口電路如圖10-19所示。數(shù)據(jù)存儲(chǔ)器62128(16K),需要利用A0A13地址線,剩余兩條地址線(P2.6,P2.7),若采用2-4線譯碼器(74LS139)可擴(kuò)展4片62128。各片62128芯片地址分配如表10-8所示。圖10-19 譯碼法擴(kuò)展外部數(shù)據(jù)存儲(chǔ)器電路圖【注意:6264和62128連接時(shí),就CS和A13不同】表 108 各62128芯片的地址空間分配2-4譯碼器輸入P2.7 P2.62-4譯碼器有效輸出選中芯片地址范圍存儲(chǔ)容量 0 0IC1000

24、0H3FFFH16KB 0 1IC24000H7FFFH16KB 1 0IC38000HBFFFH16KB 1 1IC4C000HFFFFH16KB【XBYTE以字節(jié)形式對(duì)xdata區(qū)尋址】#include <reg52.h>【已通過(guò)CAP10-EX7】#include <absacc.h>sbit LED = P10;void main() unsigned int i;LED = 1; / LED先熄滅for(i=0;i<200;i+) /200128648110010000xC8 XBYTE0x0000+i=i+1;for(i=0;i<200;i+)

25、XBYTEi+0x0100=XBYTE199-i;LED=0; / 完成操作后,LED變?yōu)榱羨hile(1);【在“Proteus”中查看運(yùn)行及數(shù)據(jù)傳送結(jié)果:LED變?yōu)榱習(xí)r,表明數(shù)據(jù)傳送已經(jīng)結(jié)束,可以點(diǎn)擊中的暫停按鈕,暫停程序的運(yùn)行,打開(kāi)“DEBUG”中的“Memory Contents”,查看6264內(nèi)存中的數(shù)據(jù)】查看結(jié)果如下:【上課時(shí),可以把CS的高電平去掉,觀察結(jié)果】【例題擴(kuò)展1:】電路圖同上,改為先定義數(shù)組dat200,然后給數(shù)組賦值,再把數(shù)組中的數(shù)據(jù)放到外部數(shù)據(jù)存儲(chǔ)區(qū)中。#include <reg52.h>【已通過(guò)CAP10-EX7-擴(kuò)展1,62642】#include

26、<absacc.h>sbit LED = P10;void main() / 注意數(shù)據(jù)存放位置定義符xdata,要放在char和數(shù)組名之間 unsigned char xdata dat200; unsigned int i;LED = 1; / LED先熄滅for(i=0;i<200;i+) dati=i+5; / 先給數(shù)組賦值,然后再傳送到6264中for(i=0;i<200;i+) XBYTEi+0x0100=dati+1; / 送到片外數(shù)據(jù)存儲(chǔ)器6264中LED=0; / 完成操作后,LED變?yōu)榱羨hile(1);【CAP10-EX7-擴(kuò)展1的結(jié)果如下】【例題】

27、擴(kuò)展2片6264數(shù)據(jù)存儲(chǔ)器件【已通過(guò)CAP10-EX8】【U3的地址P27P26=00,U4的地址P27P26=11】#include <reg51.h>#include <absacc.h>sbit LED = P10;void main() unsigned int i;LED = 1; / LED先熄滅for(i=0;i<100;i+) /先在6264-U3芯片中存放1100(0x010x64) XBYTE0x0000+i=i+1; /P27P26=00for(i=0;i<100;i+) / 然后把1100加1,存放到6264-U3芯片的200開(kāi)始的1

28、00個(gè)單元中 XBYTEi+0x0000+200=XBYTE0x0000+i+1; /200=128+64+8=11001000=0xc8,從此地址開(kāi)始存放for(i=0;i<100;i+) / 再把1100加2,存放到6264-U4芯片起始(0x0000)的100個(gè)單元中 XBYTEi+0xC000=XBYTEi+2; /P27P26=11,從0000開(kāi)始存放LED=0; / 完成操作后,LED變?yōu)榱羨hile(1);/注意U4的起始地址為0xC000,1100=C10.7 EPROM和RAM的綜合擴(kuò)展在設(shè)計(jì)系統(tǒng)時(shí),經(jīng)常是既要擴(kuò)展程序存儲(chǔ)器,也要擴(kuò)展數(shù)據(jù)存儲(chǔ)器或I/O,即需要存儲(chǔ)器的綜

29、合擴(kuò)展。下面介紹如何進(jìn)行綜合擴(kuò)展。同時(shí)擴(kuò)展數(shù)據(jù)存儲(chǔ)器和程序存儲(chǔ)器:由于程序存儲(chǔ)器的讀操作由信號(hào)控制EPROM芯片的,而數(shù)據(jù)存儲(chǔ)器的讀和寫分別由(控制芯片的)和(控制芯片的)信號(hào)控制,因此,不會(huì)造成操作上的混亂。10.7.1 綜合擴(kuò)展的硬件接口電路【例】采用線選法擴(kuò)展2片8KB的6264(RAM)和2片8KB的2764(EPROM)。硬件接口電路如圖10-20所示?!咀⒁猓?264應(yīng)該還有引腳CS要接高電平】圖10-20 采用線選法的綜合擴(kuò)展電路圖1. 控制信號(hào)及片選信號(hào)地址線P2.5直接連接到IC1(2764)和IC3(6264)的片選端,P2.6直接連接到IC2(2764)和IC4(6264

30、)的片選端。(1)當(dāng)P2.6=0,P2.5=1時(shí),IC2和IC4的片選端為低電平,IC1和IC3的端全為高電平。(2)當(dāng)P2.6=1,P2.5=0時(shí),IC1和IC3的端都是低電平,每次同時(shí)選中兩個(gè)芯片,具體對(duì)哪個(gè)芯片進(jìn)行讀/寫操作還要通過(guò) 、控制線來(lái)控制。當(dāng)為低電平時(shí),從片外程序存儲(chǔ)區(qū)EPROM中讀程序;當(dāng)讀/寫信號(hào) 或?yàn)榈碗娖綍r(shí),則對(duì)片外RAM讀數(shù)據(jù)或?qū)憯?shù)據(jù)。、3個(gè)信號(hào)是在執(zhí)行指令時(shí)產(chǎn)生的,任意時(shí)刻只能執(zhí)行一條指令,所以只能有一個(gè)信號(hào)有效,不可能同時(shí)有效,所以不會(huì)發(fā)生數(shù)據(jù)沖突。2. 各芯片地址空間分配硬件電路連接一旦確定,各芯片的地址范圍也就確定了,編程時(shí)只要給出所選擇芯片的地址,就能對(duì)該芯

31、片進(jìn)行訪問(wèn)。結(jié)合圖10-20,介紹IC1、IC2、IC3、IC4芯片地址范圍的確定方法。(1)如果P2.6=0、P2.5=1,選中IC2、IC4。地址線范圍為:【P2.7可以選0,也可以選1】IC2、IC4的地址空間為A000HBFFFH共8KB?!居?組地址】0010 0000 0000 00000011 1111 1111 11112000H3FFFH1010 0000 0000 00001011 1111 1111 1111A000HBFFFH【程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器地址是重疊的,但不會(huì)沖突】(2)如果P2.6=1、P2.5=0,選中IC1、IC3。地址范圍為:【P2.7可以選0,也可以

32、選1】0100 0000 0000 00000101 1111 1111 11114000H5FFFH1100 0000 0000 00001101 1111 1111 1111C000HDFFFH【程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器地址是重疊的,但不會(huì)沖突】4片存儲(chǔ)器各自所占的地址空間如表8-9所示。即使地址空間重疊,也不會(huì)發(fā)生數(shù)據(jù)沖突。表109 4片存儲(chǔ)芯片地址空間分配芯片地址范圍IC42000H3FFFH;A000HBFFFHIC34000H5FFFH;C000HDFFFHIC22000H3FFFH;A000HBFFFHIC14000H5FFFH;C000HDFFFH下面介紹采用譯碼器輸出進(jìn)行地址空間分配的例子?!纠坎捎米g碼法擴(kuò)展2片8KB EPROM和2片8KB RAM。EPROM選用2764,RAM選用6264。擴(kuò)展接口電路如圖10-21所示。圖中,74LS139的4個(gè)輸出端, 分別連接4個(gè)芯片IC1、IC2、IC3、IC4的片選端。74LS139在對(duì)輸入端譯碼時(shí),每次只能有一位輸出為“0”,其他三位全為“1”,輸出為“0”的一端所連接的芯片被選中。譯

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論