第8章-MCS-51單片機擴展存儲器的設(shè)計課件_第1頁
第8章-MCS-51單片機擴展存儲器的設(shè)計課件_第2頁
第8章-MCS-51單片機擴展存儲器的設(shè)計課件_第3頁
第8章-MCS-51單片機擴展存儲器的設(shè)計課件_第4頁
第8章-MCS-51單片機擴展存儲器的設(shè)計課件_第5頁
已閱讀5頁,還剩78頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第二講第二講1第8章MCS-51單片機擴展存儲器的設(shè)計8.1概述片內(nèi)的資源如不滿足需要,需外擴存儲器和I/O功能部件:內(nèi)容主要有:(1)外部存儲器的擴展(外部存儲器又分為外部程序存儲器和外部數(shù)據(jù)存儲器程序存儲器(programstorage)在計算機的主存儲器中專門用來存放程序、子程序的一個區(qū)域。

(2)I/O接口部件的擴展。本章介紹MCS–51單片機如何擴展外部存儲器,I/O接口部件的擴展下一章介紹。第8章MCS-51單片機擴展存儲器的設(shè)計2程序存儲器程序存儲器內(nèi)部外部0000HFFFFH(64K)0000H0FFFH(4K)0000H0001H0002H(PC)中斷5中斷4中斷3中斷2中斷10003H000BH0013H001BH0023H002BH外部中斷0定時器0中斷外部中斷1定時器1中斷串行口中斷8位...0FFFH0FFEHEA=1EA=0程序存儲器資源分布中斷入口地址內(nèi)部存儲器如果資源不夠,如何擴展?需要哪幾根控制線呢?問題:n位地址可以產(chǎn)生的地址的數(shù)目為多少個地址單元?可以訪問多少個存儲單元?程序存儲器程序存儲器內(nèi)部外部0000HFFFFH(64K)03程序存儲器和程序之間的關(guān)系?單字節(jié)指令機器碼舉例:指令MOVA,R0的機器碼為11101000B,即E8H指令MOV

A

R1的機器碼為11101001B,即E9H指令MOVP1,#55H的機器碼是75H90H55HORG002BHMOVA,R0偽指令ORG002BH告訴匯編系統(tǒng)指令MOVA,R0從程序存儲器的002BH單元開始存放。也就是說002BH里邊存放的數(shù)是11101000BMOVA,R0這條指令怎么存儲在程序存儲器呢?0000H0001H0002H中斷5中斷4中斷3中斷2中斷10003H000BH0013H001BH0023H002BH8位...0FFFH0FFEH程序存儲器資源分布ORG002BHMOVP1,#55H呢?程序存儲器和程序之間的關(guān)系?單字節(jié)指令機器碼舉例:ORG04系統(tǒng)擴展結(jié)構(gòu)如下圖:

1.地址總線(AdressBus,簡寫AB)

地址總線用于傳送單片機輸出的地址信號,寬度為16位,P0口經(jīng)鎖存器提供低8位地址,鎖存信號是由CPU的ALE引腳提供的;P2口提供高8位地址。如果要選擇002FH單元,P2.0~P2.7為多少?P0口呢?

2.數(shù)據(jù)總線(DataBus,簡寫DB)數(shù)據(jù)總線是由P0口提供的,寬度為8位。注意地址總線和數(shù)據(jù)總線的區(qū)別!

3.控制總線(ControlBus,簡寫CB)

控制總線實際上是CPU輸出的一組控制信號。MCS-51單片機通過三總線擴展外部設(shè)備的總體結(jié)構(gòu)圖如下圖所示。

構(gòu)造系統(tǒng)總線,然后再往系統(tǒng)總線上“掛”存儲器芯片或I/O接口芯片,“掛”存儲器芯片就是存儲器擴展,“掛”I/O接口芯片就是I/O擴展。0000H0001H0002H中斷5中斷4中斷3中斷2中斷10003H000BH0013H001BH0023H002BH8位...0FFFH0FFEH程序存儲器系統(tǒng)擴展結(jié)構(gòu)如下圖:1.地址總線(AdressBus,簡5系統(tǒng)擴展的首要問題:構(gòu)造系統(tǒng)總線,然后再往系統(tǒng)總線上“掛”存儲器芯片或I/O接口芯片,“掛”存儲器芯片就是存儲器擴展,“掛”I/O接口芯片就是I/O擴展。MCS-51由于受引腳數(shù)目的限制,數(shù)據(jù)線和低8位地址線復用。為了將它們分離出來,需要外加地址鎖存器,從而構(gòu)成與一般CPU相類似的片外三總線,見圖8-2。

系統(tǒng)擴展的首要問題:6

1.以P0口作為低8位地址/數(shù)據(jù)總線。2.以P2口的口線作高位地址線。如何區(qū)分數(shù)據(jù)和地址信息呢?鎖存器就是把當前的狀態(tài)鎖存起來,使CPU送出的數(shù)據(jù)在接口電路的輸出端保持一段時間鎖存后狀態(tài)不再發(fā)生變化,直到解除鎖定。

問題:單片機共有多少位的地址總線?尋址范圍可以達到多少KB?1.以P0口作為低8位地址/數(shù)據(jù)總線。2.以P2口的口線作7*使用ALE信號作為低8位地址的鎖存控制信號。*以PSEN*信號作為擴展程序存儲器的讀選通信號。*以EA*信號作為內(nèi)外程序存儲器的選擇控制信號。*由RD*和WR*信號作為擴展數(shù)據(jù)存儲器和I/O口的讀選通、寫選通信號。

*使用ALE信號作為低8位地址的鎖存控制信號。*以PSEN*8地址鎖存器一般采用74LS373,采用74LS373的地址總線的擴展電路如下圖(圖8-3)。盡管MCS-51有4個并行I/O口,共32條口線,但由于系統(tǒng)擴展需要,真正作為數(shù)據(jù)I/O使用的,就剩下P1口和P3口的部分口線。地址鎖存器一般采用74LS373,98.3讀寫控制、地址空間分配和外部地址鎖存器8.3.1存儲器擴展的讀寫控制RAM芯片:讀寫控制引腳,記為OE*和WE*,與MCS-51的RD*和WR*相連。EPROM芯片:只能讀出,故只有讀出引腳,記為OE*,該引腳與MCS-51的PSEN*相連。8.3讀寫控制、地址空間分配和外部地址鎖存器108.3讀寫控制、地址空間分配和外部地址鎖存器8.3.2存儲器地址空間分配MCS-51發(fā)出的地址是用來選擇某個存儲器單元進行讀寫,要完成這種功能,必須進行兩種選擇:“片選”和“單元選擇”。常用的存儲器地址分配的方法有兩種:線性選擇法(簡稱線選法)和地址譯碼法(簡稱譯碼法)。1.線選法

直接利用系統(tǒng)的高位地址線作為存儲器芯片(或I/O接口芯片)的片選信號。優(yōu)點:電路簡單,不需要地址譯碼器硬件,體積小,成本低。

缺點:可尋址的器件數(shù)目受到限制,地址空間不連續(xù),地址不唯一。8.3讀寫控制、地址空間分配和外部地址鎖存器11例如何進行地址分配。某一系統(tǒng),需要外擴8KB的EPROM(2片2732),4KB的RAM(2片6116),這些芯片與MCS-51單片機地址分配有關(guān)的地址線連線,電路如下圖。

2732:4KB程序存儲器,有12根地址線A0~A11,分別與單片機的P0口及P2.0~P2.3口相連。2732(1)的片選端接A15(P2.7),2732(2)的片選端接A14(P2.6).當要選中某個芯片時,單片機P2口對應(yīng)的片選信號引腳應(yīng)為低電平,其它引腳一定要為高電平。例如何進行地址分配。某一系統(tǒng),需要外擴8KB的EPROM(212例某一系統(tǒng),需要外擴8KB的EPROM(2片2732),4KB的RAM(2片6116),這些芯片與MCS-51單片機地址分配有關(guān)的地址線連線,電路如下圖。

6116:2KB數(shù)據(jù)存儲器,需要11根地址線作為單元的選擇,而剩下的P2口線(P2.4~P2.7)作為片選線。例某一系統(tǒng),需要外擴8KB的EPROM(2片2732),413兩片程序存儲器的地址范圍:

2732(1)的地址范圍:7000H~7FFFH;2732(2)的地址范圍:B000H~BFFFH;6116(1)的地址范圍:E800H~EFFFH;

6116(2)的地址范圍:D800H~DFFFH。程序存儲器的地址范圍是?選中2732(1)時,P2口(高8位地址)各引腳的狀態(tài)?P2.7P2.6P2.5P2.4P2.3

P2.2P2.1P2.001110,10,10,10,1例某一系統(tǒng),需要外擴8KB的EPROM(2片2732),4KB的RAM(2片6116),這些芯片與MCS-51單片機地址分配有關(guān)的地址線連線,電路如下圖。

P0.7P0.6P0.5P0.4P0.3

P0.2P0.1P0.00,10,10,10,10,10,10,10,1兩片程序存儲器的地址范圍:程序存儲器的地址范圍是?14例某一系統(tǒng),需要外擴8KB的EPROM(2片2732),4KB的RAM(2片6116),這些芯片與MCS-51單片機地址分配有關(guān)的地址線連線,電路如下圖。

假設(shè):P2.7=0,P2.6=1,P2.5=1,P2.4=0,P2.3=0。會出現(xiàn)什么問題呢?程序存儲器2732低2K的地址和數(shù)據(jù)存儲器6116的地址是重疊的?那么會不會MCS51發(fā)出訪問2732的某個單元時,同時選中6116的某個單元呢?例某一系統(tǒng),需要外擴8KB的EPROM(2片2732),415例某一系統(tǒng),需要外擴8KB的EPROM(2片2732),4KB的RAM(2片6116),這些芯片與MCS-51單片機地址分配有關(guān)的地址線連線,電路如下圖。

這種情況完全不用擔心,雖然2個單元的地址是一樣的,但是MCS-51發(fā)給2類存儲器的控制信號時不一樣的。訪問存儲器是PSEN*有效,訪問數(shù)據(jù)存儲器,則是RD*,WR*信號有效,任何時候只能產(chǎn)生一種控制信號。例某一系統(tǒng),需要外擴8KB的EPROM(2片2732),416復習復習17程序存儲器和程序之間的關(guān)系?單字節(jié)指令機器碼舉例:指令MOVA,R0的機器碼為11101000B,即E8H指令MOV

A

R1的機器碼為11101001B,即E9H指令MOVP1,#55H的機器碼是75H90H55HORG002BHMOVA,R0偽指令ORG002BH告訴匯編系統(tǒng)指令MOVA,R0從程序存儲器的002BH單元開始存放。也就是說002BH里邊存放的數(shù)是11101000BMOVA,R0這條指令怎么存儲在程序存儲器呢?0000H0001H0002H中斷5中斷4中斷3中斷2中斷10003H000BH0013H001BH0023H002BH8位...0FFFH0FFEH程序存儲器資源分布ORG002BHMOVP1,#55H呢?程序存儲器和程序之間的關(guān)系?單字節(jié)指令機器碼舉例:ORG0180000H0001H0002H中斷5中斷4中斷3中斷2中斷10003H000BH0013H001BH0023H002BH8位...0FFFH0FFEH程序存儲器資源分布如果選中002BH單元,P0口、P2口狀態(tài)?上面的連線能交換嗎?即P2.6和A8相連。0000H0001H0002H中斷5中斷4中斷3中斷2中斷119A0~A11線怎么接呢?空間地址分配?A0~A11線怎么接呢?空間地址分配?20第三講第三講21線選法特點:簡單明了,不需另外增加硬件電路。只適于外擴芯片不多,規(guī)模不大的單片機系統(tǒng)。2.譯碼法

最常用的譯碼器芯片:74LS138(3-8譯碼器)74LS139(雙2-4譯碼器)74LS154(4-16譯碼器)??筛鶕?jù)設(shè)計任務(wù)的要求,產(chǎn)生片選信號。全譯碼:全部高位地址線都參加譯碼;部分譯碼:僅部分高位地址線參加譯碼。線選法特點:簡單明了,不需另外增加硬件電路。只適于外擴芯片不2274LS138(3~8譯碼器)

引腳如圖8-5,譯碼功能如表8-1(P167)所示。當譯碼器的輸入為某一個固定編碼時,其輸出只有某一個固定的引腳輸出為低電平,其余的為高電平。74LS138(3~8譯碼器)23

74LS138譯碼器真值表

輸入輸出

G1G2A*G2B*CBAY7*Y6*Y5*Y4*Y3*Y2*Y1*Y0*芯片的4、5、6腳如何連接呢? 74LS138譯碼器真值表24例

要擴8片8KB的RAM6264,如何通過74LS138把64KB空間分配給各個芯片?6264A12A0CE6264是8KBRAM,13根地址線。要擴展64K,需要8片如果只接一片6264,那么P0.0~P0.7,P2.0~2.4需要接到6264的地址線。只剩下P2.7,P2.6,P2.5。怎么完成8個6264的片選呢?顯然要通過譯碼器完成。就是說三根線控制8個6264.例要擴8片8KB的RAM6264,如何通過74LS13825例

要擴8片8KB的RAM6264,如何通過74LS138把64KB空間分配給各個芯片?問題1:74ls138的芯片引腳如何連接?引腳C,B,A是不是一定要接P2.7、P2.6、P2.5呢?

問題2:74ls138的芯片輸出端應(yīng)該接6264的哪個引腳?例要擴8片8KB的RAM6264,如何通過74LS13826采用的是全地址譯碼方式,單片機發(fā)地址碼時,每次只能選中一個存儲單元。同類存儲器間不會產(chǎn)生地址重疊的問題。如果用74LS138把64K空間全部劃分為每塊4KB,如何劃分呢?見下圖。采用的是全地址譯碼方式,單片機發(fā)地址碼時,每次只能選中一個存278.3.3外部地址鎖存器常用的地址鎖存器芯片有:74LS373、8282、74LS573等。1.鎖存器74LS373帶有三態(tài)門的8D鎖存器,其引腳其內(nèi)部結(jié)構(gòu)如下圖。8.3.3外部地址鎖存器288.3.3外部地址鎖存器常用的地址鎖存器芯片有:74LS373、8282、74LS573等。1.鎖存器74LS373帶有三態(tài)門的8D鎖存器,其引腳其內(nèi)部結(jié)構(gòu)如下圖。

引腳說明如下:D7~D0:8位數(shù)據(jù)輸入線;Q7~Q0:8位數(shù)據(jù)輸出線;G:數(shù)據(jù)輸入鎖存選通信號,高電平有效,當該信號為高電平時,外部數(shù)據(jù)選通到內(nèi)部鎖存器,負跳變時,數(shù)據(jù)鎖存到鎖存器中;OE*:數(shù)據(jù)輸出允許信號,低電平有效。8.3.3外部地址鎖存器引腳說明如下:29表8-374ls373功能表GDQ0111010000×不變1××高阻態(tài)表8-374ls373功能表GDQ0111010000×不302.鎖存器8282功能及內(nèi)部結(jié)構(gòu)與74LS373完全一樣,只是其引腳的排列與74LS373不同,8282的引腳如下圖。

2.鎖存器828231第8章---MCS-51單片機擴展存儲器的設(shè)計ppt課件32引腳的排列為繪制印刷電路板時的布線提供了方便。3.鎖存器74LS573

輸入的D端和輸出的Q端也是依次排在芯片的兩側(cè),與鎖存器8282一樣,為繪制印刷電路板時的布線提供了方便。引腳的排列為繪制印刷電路板時的布線提供了方便。338.4程序存儲器EPROM的擴展

采用只讀存儲器,非易失性(存儲器在電源關(guān)斷后,仍能保存程序)。(1)掩膜ROM在制造過程中編程。成本較高,因此只適合于大批量生產(chǎn)。(2)可編程ROM(PROM)用獨立的編程器寫入。但PROM只能寫入一次,且不能再修改。(3)EPROM電信號編程,紫外線擦除的只讀存儲器芯片。8.4程序存儲器EPROM的擴展34(4)E2PROM(EEPROM)電信號編程,電信號擦除的ROM芯片。讀寫操作與RAM幾乎沒有什么差別,只是寫入的速度慢一些。但斷電后能夠保存信息。(5)FlashROM又稱閃爍存儲器,簡稱閃存。大有取代E2PROM的趨勢。(4)E2PROM(EEPROM)358.4.1常用EPROM芯片介紹擴展程序存儲器時,應(yīng)盡量用大容量的芯片。1.常用的EPROM芯片典型芯片是27系列產(chǎn)品,例如,2764(8KB×8)、27128(16KB×8)、27256(32KB×8)、27512(64KB×8)。“27”后面的數(shù)字表示其位存儲容量。參數(shù)見表8-4(P123)。參數(shù)型號VCCVppImIsTRM/ns容量TMS2732A52113232200~4504K×8位TMS276452110035200~4508K×8位8.4.1常用EPROM芯片介紹擴展程序存儲器時,應(yīng)盡量36A0~A15:地址線引腳。數(shù)目決定存儲容量來定,用來進行單元選擇。A0~A15:地址線引腳。數(shù)目決定存儲容量來定,用37D7~D0:數(shù)據(jù)線引腳;CE*:片選輸入端OE*:輸出允許控制端;PGM*:編程時,加編程脈沖的輸入端D7~D0:數(shù)據(jù)線引腳;CE*:片選輸入端38Vpp:編程時,編程電壓(+12V或+25V)輸入端Vcc:+5V,芯片的工作電壓;GND:數(shù)字地。NC:無用端Vpp:編程時,編程電壓(+12V或+25V)輸入端39圖7

2716外引線排列圖⌒CE/PGMA7GND131214111510169178187196205214223232241A6A5A4A3A2A1A0D0D1D2VCCA8A9A10OE2716VPPD7D6D5D4D3編程高電壓25V片選/編程控制

2716~27512系列的EPROM集成片,除了存儲容量和編程高電壓不同外,其余都基本相同。電源電壓+5VOE*:輸出允許控制端;圖72716外引線排列圖⌒CE/PGMA7GND131402.EPROM芯片的工作方式(1)讀出方式片選控制線為低,同時輸出允許控制線為低,Vpp為+5V,指定地址單元的內(nèi)容從D7~D0上讀出。

(2)未選中方式

片選控制線為高電平。(3)編程方式Vpp端加上規(guī)定高壓,CE*和OE*端加合適電平(不同的芯片要求不同),就能將數(shù)據(jù)線上的數(shù)據(jù)寫入到指定的地址單元。

(4)編程校驗方式

(5)編程禁止方式

輸出呈高阻狀態(tài),不寫入程序。2.EPROM芯片的工作方式41數(shù)據(jù)輸出+25V00編程檢驗高阻浮置+25V10編程禁止數(shù)據(jù)寫入+25V1編程高阻浮置+5V×1維持數(shù)據(jù)輸出+5V00讀出輸出DVPPOECE/PGM工作方式表8-5

EPROM的5種工作方式

2716共有5種工作方式:讀方式、維持方式、編程方式、編程禁止方式和編程檢驗方式。數(shù)據(jù)輸出+25V00編程檢驗高阻浮置+25V10編程禁止數(shù)據(jù)42復習復習43復習以前的一些基礎(chǔ)知識機器周期、指令周期與指令時序單片機執(zhí)行的指令的各種時序均與時鐘周期有關(guān)一、時鐘周期單片機的基本時間單位。若時鐘的晶體的振蕩頻率為fosc,則時鐘周期Tosc=1/fosc;例如:fosc=6MHz,Tosc=166.7ns。二、機器周期CPU完成一個基本操作所需的時間稱為機器周期。執(zhí)行一條指令分為幾個機器周期。每個機器周期完成一個基本操作。MCS-51單片機每12個時鐘周期為1個機器周期。復習以前的一些基礎(chǔ)知識44一個機器周期又分為6個狀態(tài):S1~S6。每個狀態(tài)又分為兩拍:P1和P2。因此,一個機器周期中的12個時鐘周期表示為:S1P1、S1P2、S2P1、S2P2、…、S6P2。

一個機器周期又分為6個狀態(tài):S1~S6。每個狀態(tài)又分為兩拍:45外部RAM數(shù)據(jù)傳送指令

例如:

1)MOVR1,#0F5HMOVXA,@R1;A(片外0F5H).

2)MOVR0,#00HMOVX@R0,A;(片外00H)A3)MOVDPTR,#20F5H;

MOVXA,@DPTR;A(片外20F5H)

4)MOVDPTR,#2000HMOVX@DPTR,A;(片外2000H)A例將外部RAM中0010H單元中的內(nèi)容送入外部RAM中2000H單元中。程序如下:

MOVR0,#10HMOVXA,@R0MOVDPTR,#2000HMOVX@DPTR,A外部RAM數(shù)據(jù)傳送指令例將外部RAM中0010H單元中的46第四講第四講478.4.2程序存儲器的操作時序

1.訪問程序存儲器的控制信號(1)ALE,用于低8位地址鎖存控制(2)PSEN*,片外程序存儲器讀選通控制信號,接外擴EPROM的OE*引腳。(3)EA*,EA*=0,訪問片外程序存儲器。如果指令是從片外EPROM中讀取,ALE用于低8位地址鎖存,PSEN*接外擴EPROM的OE*腳。P0口:分時低8位地址總線和數(shù)據(jù)總線,P2口:高8位地址線。

8.4.2程序存儲器的操作時序4851單片機中ROM和RAM是嚴格分開的,因此對片外ROM的操作時序分為兩種情況:執(zhí)行非MOVX指令的時序和執(zhí)行MOVX指令時序。1應(yīng)用系統(tǒng)中無片外RAM(不用執(zhí)行MOVX)

51單片機中ROM和RAM是嚴格分開的,因此對片外ROM的操49(2)應(yīng)用系統(tǒng)中接有片外RAM由圖(b)可看出:(1)將ALE用作定時脈沖輸出時,執(zhí)行一次MOVX指令就會丟失一個脈沖。(2)只有在執(zhí)行MOVX指令時的第二個機器周期期間,地址總線才由數(shù)據(jù)存儲器使用。MOVX@DPTR,A(2)應(yīng)用系統(tǒng)中接有片外RAM由圖(b)可看出:MOVX508.4.3典型的EPROM接口電路1.使用單片EPROM的擴展電路

2716、2732EPROM價格貴,容量小,且難以買到。僅介紹2764、27128、27256、27512芯片的接口電路。

8.4.3典型的EPROM接口電路51下圖為外擴16K字節(jié)的EPROM27128的接口電路圖:下圖為外擴16K字節(jié)的EPROM27128的接口電路圖:52MCS-51外擴單片32K字節(jié)的EPROM27256的接口。

MCS-51外擴單片32K字節(jié)的EPROM27256的接口53程序存儲器所占的地址空間,自己分析。3.使用多片EPROM的擴展電路MCS-51擴展4片27128。

程序存儲器所占的地址空間,自己分析。544片27128各自所占的地址空間,自己分析。8.5靜態(tài)數(shù)據(jù)存儲器的擴展8.5.1常用的靜態(tài)RAM(SRAM)芯片典型型號有:6116、6264、62128、62256。+5V電源供電,雙列直插封裝,6116為24引腳封裝,6264、62128、62256為28引腳封裝,引腳如圖8-19。

4片27128各自所占的地址空間,自己分析。55各引腳功能如下:A0~A14:地址輸入線。D0~D7:雙向三態(tài)數(shù)據(jù)線。CE*:片選信號輸入。對于6264芯片,當26腳(CS)為高電平時,且CE*為低電平時才選中該片。OE*:讀選通信號輸入線。WE*:寫允許信號輸入線,低電平有效。各引腳功能如下:56Vcc:工作電源+5VGND:地有讀出、寫入、維持三種工作方式,這些工作方式的操作控制如表8-6(P181)。8.5.2外擴數(shù)據(jù)存儲器的讀寫操作時序1.讀片外RAM操作時序

Vcc:工作電源+5V572.寫片外RAM操作時序

寫是CPU主動把數(shù)據(jù)送上P0口總線。故在時序上,CPU先向P0口總線上送完8位地址后,在S3狀態(tài)就將數(shù)據(jù)送到P0口總線。

2.寫片外RAM操作時序588.5.3典型的外擴數(shù)據(jù)存儲器的接口電路

圖8-21給出了用線選法擴展8031外部數(shù)據(jù)存儲器的電路。

8.5.3典型的外擴數(shù)據(jù)存儲器的接口電路59各片62128地址分配見表8-9。

表8-9各片62128地址分配

P2.6P2.7譯碼輸出選中芯片地址范圍存儲容量

00YO*IC10000H-3FFFH16K01Y1*IC24000H-7FFFH16K10Y2*IC38000H-BFFFH16K11Y3*IC4C000H-FFFFH16K

各片62128地址分配見表8-9。60單片62256與8031的接口電路如圖8-23所示。地址范圍為0000H~7FFFH。單片62256與8031的接口電路如圖8-23所示。61方法1:用DPTR作為數(shù)據(jù)區(qū)地址指針,同時使用字節(jié)計數(shù)器。

MOVDPTR,#5000H;設(shè)置數(shù)據(jù)塊指針的初值 MOVR7,#00H ;設(shè)置塊長度計數(shù)器初值 CLRALOOP:MOVX@DPTR,A ;把某一單元清零 INCDPTR ;地址指針加1

DJNZR7,LOOP ;數(shù)據(jù)塊長度減1,若不為 ;0則繼續(xù)清零HERE:SJMPHERE ;執(zhí)行完畢,原地踏步例8-1編寫程序?qū)⑵鈹?shù)據(jù)存儲器中5000H~50FFH單元全部清零。

例8-1編寫程序?qū)⑵鈹?shù)據(jù)存儲器中5000H~50FFH單62方法2:用DPTR作為數(shù)據(jù)區(qū)地址指針,但不使用字節(jié)計數(shù)器,而是比較特征地址。

MOVDPTR,#5000H CLRALOOP: MOVX@DPTR,A INCDPTR MOVR7,DPL CJNER7,#0,LOOP;與末地址+1比較HERE: SJMPHERE方法2:638.6EPROM和RAM的綜合擴展8.6.1綜合擴展的硬件接口電路例8-2

采用線選法擴展2片8KB的RAM和2片8KB的EPROM。RAM選6264,EPROM選2764。擴展接口電路見圖8-24。

8.6EPROM和RAM的綜合擴展64(1)各芯片地址空間分配(2)控制信號及片選信號(1)各芯片地址空間分配65IC2和IC4占用地址空間為2000H~3FFFH共8KB。同理IC1、IC3地址范圍4000H~5FFFH(P2.6=1、P2.5=0、P2.7=0)。線選法地址不連續(xù),地址空間利用不充分。例8-3采用譯碼器法擴展2片8KBEPROM,2片8KBRAM。EPROM選用2764,RAM選用6264。共擴展4片芯片。擴展接口電路見圖8-25。各存儲器地址范圍如下:

IC2和IC4占用地址空間為2000H~3FFFH共8KB。66可見譯碼法進行地址分配,各芯片地址空間是連續(xù)的??梢娮g碼法進行地址分配,各芯片地址空間是連續(xù)的。67第五講第五講688.6.2外擴存儲器電路的工作原理及軟件設(shè)計

1.單片機片外程序區(qū)讀指令過程2.單片機片外數(shù)據(jù)區(qū)讀寫數(shù)據(jù)過程例如,把片外1000H單元的數(shù)送到片內(nèi)RAM50H單元,程序如下:

MOVDPTR,#1000H

MOVXA,@DPTR MOV50H,A

例如,把片內(nèi)50H單元的數(shù)據(jù)送到片外1000H單元中,程序如下:

MOVA,50H MOVDPTR,#1000H

MOVX

@DPTR,A8.6.2外擴存儲器電路的工作原理及軟件設(shè)計69MCS-51單片機讀寫片外數(shù)據(jù)存儲器中的內(nèi)容,除用MOVXA,@DPTR和MOVX@DPTR,A外,還可使用MOVXA,@Ri和MOVX@Ri,A。這時通過P0口輸出Ri中的內(nèi)容(低8位地址),而把P2口原有的內(nèi)容作為高8位地址輸出。例8-4

將程序存儲器中以TAB為首址的32個單元的內(nèi)容依次傳送到外部RAM以7000H為首地址的區(qū)域去。

MCS-51單片機讀寫片外數(shù)據(jù)存儲器中的內(nèi)容,除用MOVX70DPTR指向標號TAB的首地址。R0既指示外部RAM的地址,又表示數(shù)據(jù)標號TAB的位移量。本程序的循環(huán)次數(shù)為32,R0的值:0~31,R0的值達到32就結(jié)束循環(huán)。程序如下:

MOV P2,#70H MOV DPTR,#TAB

MOV R0,#0AGIN: MOV A,R0 MOVC A,@A+DPTR MOVX @R0,A INC R0 CJNE R0,#32,AGINHERE: SJMP HERETAB: DB……

DPTR指向標號TAB的首地址。R0既指示外部RAM的地址,718.7E2PROM的擴展

保留信息長達20年,不存在EPROM在日光下信息緩慢丟失的問題。8.7.1常用的E2PROM芯片

8.7E2PROM的擴展722817A芯片的介紹如何應(yīng)用2817A呢?需要了解哪些參數(shù)呢?(1)引腳的安排(2)工作模式(讀、寫、維持)(3)引腳的輸入電壓(高電平、低電平電壓是多少V?引腳的輸入最高電壓為多少?電源電壓為多少等等)(4)直流特性?讀的時候消耗的電流是多少?寫的時候呢?(5)讀、寫的時序要求。(6)封裝。2817A芯片的介紹如何應(yīng)用2817A呢?73在芯片的引腳設(shè)計上,2KB的E2PROM2816與相同容量的EPROM2716和靜態(tài)RAM6116兼容,8KB的E2PROM2864A與同容量的EPROM2764和靜態(tài)RAM6264也是兼容的。2816、2817和2864A的讀出數(shù)據(jù)時間均為250ns,寫入時間10ms。E2PROM的主要性能見表8-10(P191)。8.7.3MCS-51擴展E2PROM的方法

1.MCS-51外擴2817A

2817A既可作為外部的數(shù)據(jù)存儲器,又可作為程序存儲器。通過P1.0查詢2817A的RDY/BUSY*狀態(tài),來完成對2817A的寫操作。片選信號由P2.7提供。在芯片的引腳設(shè)計上,2KB的E2PROM2816與相同容量74第8章---MCS-51單片機擴展存儲器的設(shè)計ppt課件75R0=寫入的字節(jié)數(shù);R1=2817A的低8位的地址,R2=2817A的高8位地址;R3=源數(shù)據(jù)區(qū)低8位首地址,R4=源數(shù)據(jù)區(qū)高8位首地址。MOVDPL,R3MOVDPH,R4;將源數(shù)據(jù)區(qū)16位地址傳輸?shù)紻PTRMOVXA,@DPTR;取數(shù)據(jù)INCDPTR;源數(shù)據(jù)地址指針加1MOVR3,DPLMOVR4,DPH;將新的源數(shù)據(jù)地址保存在R3,R4MOVDPL,R1MOVDPH,R2;將2817A地址傳輸?shù)紻PTRMOVX@DPTR,A;將A的內(nèi)容寫入2817A中JNBP1.0,WAIT;1B沒有寫完等待INCDPTR;2817A地址增1MOVR1,DPLMOVR2,DPH;將2817A地址保存在R1,R2DJNZR0,WR1RETWR1:WAIT:R0=寫入的字節(jié)數(shù);R1=2817A的低8位的762.MCS-51外擴2864A

接口電路見圖8-28。片選端與P2.7連接,P2.7=0才選中2864A,線選法決定了2864A對應(yīng)多組地址空間,即:0000H~1FFFH,2000H~3FFFH,4000H~5FFFH,6000H~7FFFH。8K

溫馨提示

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

評論

0/150

提交評論