版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、C51單片機擴展存儲器的設(shè)計第第8 8章章 89C5189C51單片機擴展存儲器的設(shè)計單片機擴展存儲器的設(shè)計8.1 8.1 系統(tǒng)擴展結(jié)構(gòu)系統(tǒng)擴展結(jié)構(gòu) AT89C51AT89C51系統(tǒng)并行擴展結(jié)構(gòu)如系統(tǒng)并行擴展結(jié)構(gòu)如圖圖8-18-1所示。所示。 圖圖8-18-1C51單片機擴展存儲器的設(shè)計由圖由圖8-18-1可以看出,系統(tǒng)擴展主要包括可以看出,系統(tǒng)擴展主要包括存儲器擴展存儲器擴展和和I/OI/O接接口部件擴展口部件擴展。外部存儲器擴展外部存儲器擴展又包括又包括程序存儲器擴展程序存儲器擴展和和數(shù)據(jù)存儲器擴展數(shù)據(jù)存儲器擴展。AT89C51AT89C51采用的是采用的是哈佛結(jié)構(gòu)哈佛結(jié)構(gòu)。擴展后,系統(tǒng)形
2、成了擴展后,系統(tǒng)形成了兩個并兩個并行的外部存儲器空間行的外部存儲器空間。89C5189C51單片機采用并行總線結(jié)構(gòu),大大增加了系統(tǒng)的靈活性,單片機采用并行總線結(jié)構(gòu),大大增加了系統(tǒng)的靈活性,使擴展易于實現(xiàn),各擴展部件只要符合總線規(guī)范,就能使擴展易于實現(xiàn),各擴展部件只要符合總線規(guī)范,就能很方便地接入系統(tǒng)。很方便地接入系統(tǒng)。由于系統(tǒng)擴展是通過總線把由于系統(tǒng)擴展是通過總線把AT89C51AT89C51與各擴展部件連接起來。與各擴展部件連接起來。因此,要進行系統(tǒng)擴展因此,要進行系統(tǒng)擴展首先要構(gòu)造系統(tǒng)總線首先要構(gòu)造系統(tǒng)總線。C51單片機擴展存儲器的設(shè)計系統(tǒng)總線按功能分為三組,如系統(tǒng)總線按功能分為三組,如圖
3、圖8-18-1所示。所示。 (1 1)地址總線()地址總線(Adress BusAdress Bus,ABAB)地址總線用于傳送單片機發(fā)出的地址信號,以便進行存儲單元地址總線用于傳送單片機發(fā)出的地址信號,以便進行存儲單元和和I/OI/O接口芯片中的寄存器選擇。地址總線是接口芯片中的寄存器選擇。地址總線是單向傳輸單向傳輸?shù)?。的。? 2)數(shù)據(jù)總線)數(shù)據(jù)總線(Data Bus(Data Bus,DB)DB)數(shù)據(jù)總線用于在單片機與存儲器之間或與數(shù)據(jù)總線用于在單片機與存儲器之間或與I/OI/O端口之間傳送數(shù)端口之間傳送數(shù)據(jù)。數(shù)據(jù)總線是雙向的,可以進行兩個方向的傳送。據(jù)。數(shù)據(jù)總線是雙向的,可以進行兩個方
4、向的傳送。(3 3)控制總線()控制總線(Control BusControl Bus,CBCB)控制總線實際上就是單片機發(fā)出的各種控制信號線。控制總線實際上就是單片機發(fā)出的各種控制信號線。 下面討論如何構(gòu)造系統(tǒng)三總線下面討論如何構(gòu)造系統(tǒng)三總線 C51單片機擴展存儲器的設(shè)計1 1以以P0P0口作為低口作為低8 8位地址位地址/ /數(shù)據(jù)總線數(shù)據(jù)總線AT89C51AT89C51由于受引腳數(shù)目的限制,數(shù)據(jù)線和低由于受引腳數(shù)目的限制,數(shù)據(jù)線和低8 8位地址線復(fù)用。位地址線復(fù)用。為了將它們分離出來,需要為了將它們分離出來,需要外加地址鎖存器外加地址鎖存器,從而構(gòu)成與一般,從而構(gòu)成與一般CPUCPU相類似
5、的片外三總線,見相類似的片外三總線,見圖圖8-28-2。 C51單片機擴展存儲器的設(shè)計圖圖8-28-2C51單片機擴展存儲器的設(shè)計2. 2. 以以P2P2口的口線作為高位地址線口的口線作為高位地址線P2P2口的全部口的全部8 8位口線用作高位地址線,再加上位口線用作高位地址線,再加上P0P0口經(jīng)地址鎖存口經(jīng)地址鎖存器提供的低器提供的低8 8位地址,便形成了位地址,便形成了完整的完整的1616位地址總線位地址總線(見圖(見圖8-28-2),使),使尋址范圍達到尋址范圍達到64KB64KB。3 3控制信號線控制信號線除了地址線和數(shù)據(jù)線之外,還要有系統(tǒng)的控制總線。這些信號除了地址線和數(shù)據(jù)線之外,還要
6、有系統(tǒng)的控制總線。這些信號有的就是單片機引腳的第一功能信號,有的則是有的就是單片機引腳的第一功能信號,有的則是P3P3口第二功口第二功能信號。其中包括:能信號。其中包括:(1 1)PSENPSEN* *信號作為外擴程序存儲器的讀選通控制信號。信號作為外擴程序存儲器的讀選通控制信號。C51單片機擴展存儲器的設(shè)計(2 2)RDRD* *和和WRWR* *信號作為外擴數(shù)據(jù)存儲器和信號作為外擴數(shù)據(jù)存儲器和I/OI/O接口的讀、寫選接口的讀、寫選通控制信號。通控制信號。(3 3)ALEALE信號作為低信號作為低8 8位地址的鎖存控制信號。位地址的鎖存控制信號。(4 4)EAEA* *信號作為內(nèi)、外程序存
7、儲器的選擇控制信號。信號作為內(nèi)、外程序存儲器的選擇控制信號??煽闯觯M管可看出,盡管89C5189C51單片機有單片機有4 4個并行的個并行的I/OI/O口,共口,共3232條口線,條口線,但由于系統(tǒng)擴展的需要,但由于系統(tǒng)擴展的需要,真正作為數(shù)字真正作為數(shù)字I/OI/O使用的,就剩使用的,就剩下下P1P1口和口和P3P3口的部分口線了??诘牟糠挚诰€了。8.2 8.2 地址空間分配和外部地址鎖存器地址空間分配和外部地址鎖存器8.2.1 8.2.1 存儲器地址空間分配存儲器地址空間分配 C51單片機擴展存儲器的設(shè)計如何把外部各自的如何把外部各自的64KB64KB空間分配給各個程序存儲器、數(shù)據(jù)存儲空
8、間分配給各個程序存儲器、數(shù)據(jù)存儲器芯片,并且使程序存儲器的各個芯片之間,數(shù)據(jù)存儲器各器芯片,并且使程序存儲器的各個芯片之間,數(shù)據(jù)存儲器各芯片之間,為避免發(fā)生數(shù)據(jù)沖突,芯片之間,為避免發(fā)生數(shù)據(jù)沖突,一個存儲器單元對應(yīng)一個一個存儲器單元對應(yīng)一個地址地址,這就是存儲器的地址空間的分配問題。,這就是存儲器的地址空間的分配問題。在外擴的多片存儲器芯片中,在外擴的多片存儲器芯片中,AT89C51AT89C51要完成這種功能,必須要完成這種功能,必須進行進行兩種選擇兩種選擇:一是必須選中該存儲器芯片一是必須選中該存儲器芯片(或(或I/OI/O接口芯片),這稱為接口芯片),這稱為“片片選選”,只有被只有被“選
9、中選中”的存儲器芯片才能被的存儲器芯片才能被AT89C51AT89C51讀出或讀出或?qū)懭霐?shù)據(jù)。為了片選的需要,每個存儲器芯片都有片選信號寫入數(shù)據(jù)。為了片選的需要,每個存儲器芯片都有片選信號引腳,引腳,二是在二是在“片選片選”的基礎(chǔ)上再選擇該芯片的某一單元,稱為的基礎(chǔ)上再選擇該芯片的某一單元,稱為“單單元選擇元選擇”。C51單片機擴展存儲器的設(shè)計常用的存儲器地址空間分配方法有兩種:常用的存儲器地址空間分配方法有兩種:線性選擇法線性選擇法(簡(簡稱線選法)和稱線選法)和地址譯碼法地址譯碼法(簡稱譯碼法),下面分別介(簡稱譯碼法),下面分別介紹。紹。1 1線選法線選法直接利用系統(tǒng)的直接利用系統(tǒng)的高位
10、地址線高位地址線作為存儲器芯片(或作為存儲器芯片(或I/OI/O接口芯接口芯片)的片)的“片選片選”控制信號控制信號。為此,只需要把用到的高位。為此,只需要把用到的高位地址線與存儲器芯片的地址線與存儲器芯片的“片選片選”端直接連接即可。端直接連接即可。線選法的線選法的優(yōu)點優(yōu)點是電路簡單,不需要另外增加地址譯碼器硬是電路簡單,不需要另外增加地址譯碼器硬件電路,體積小,成本低。件電路,體積小,成本低。缺點缺點是可尋址的芯片數(shù)目受到限制。是可尋址的芯片數(shù)目受到限制。另外另外,地址空間不連續(xù),每個存儲單元的地址不唯一,不,地址空間不連續(xù),每個存儲單元的地址不唯一,不C51單片機擴展存儲器的設(shè)計能充分有
11、效地利用存儲空間,這會給程序設(shè)計帶來一些不便,能充分有效地利用存儲空間,這會給程序設(shè)計帶來一些不便,只適用于外擴芯片數(shù)目不多的單片機系統(tǒng)的存儲器擴展。只適用于外擴芯片數(shù)目不多的單片機系統(tǒng)的存儲器擴展。2 2譯碼法譯碼法使用譯碼器對使用譯碼器對89C5189C51的高位地址進行譯碼,將的高位地址進行譯碼,將譯碼器的譯碼輸譯碼器的譯碼輸出作為存儲器芯片的片選信號。出作為存儲器芯片的片選信號。是最常用的地址空間分配是最常用的地址空間分配的方法,它能有效地利用存儲器空間,適用于多芯片的存的方法,它能有效地利用存儲器空間,適用于多芯片的存儲器擴展。儲器擴展。常用的譯碼器芯片常用的譯碼器芯片有有74LS1
12、3874LS138(3-83-8譯碼器)譯碼器)74LS13974LS139(雙(雙2-42-4譯碼器)譯碼器)74LS15474LS154(4-164-16譯碼器)。若全部高位地址線都參譯碼器)。若全部高位地址線都參加譯碼,稱為加譯碼,稱為全譯碼全譯碼;若僅部分高位地址線參加譯碼,稱;若僅部分高位地址線參加譯碼,稱C51單片機擴展存儲器的設(shè)計為為部分譯碼部分譯碼。部分譯碼存在著部分存儲器地址空間相重疊的。部分譯碼存在著部分存儲器地址空間相重疊的情況。情況。兩種常用的譯碼器芯片。兩種常用的譯碼器芯片。(1 1)74LS13874LS13874LS13874LS138是是3-83-8譯碼器譯碼器
13、,有,有3 3個數(shù)據(jù)輸入端個數(shù)據(jù)輸入端, ,經(jīng)譯碼產(chǎn)生經(jīng)譯碼產(chǎn)生8 8種狀態(tài)。種狀態(tài)。其引腳如其引腳如圖圖8-38-3所示,真值表如所示,真值表如表表8-18-1所示。所示。由由表表8-18-1可見,當譯碼器的輸入為某一固定編碼時,其可見,當譯碼器的輸入為某一固定編碼時,其輸出僅輸出僅有一個固定的引腳輸出為低電平有一個固定的引腳輸出為低電平,其余的為高電平其余的為高電平。而輸。而輸出為低電平的引腳就作為某一存儲器芯片的片選端的控制出為低電平的引腳就作為某一存儲器芯片的片選端的控制信號。信號。C51單片機擴展存儲器的設(shè)計圖圖8-38-3C51單片機擴展存儲器的設(shè)計 表表8-18-1 74LS13
14、8 74LS138譯碼器真值表譯碼器真值表 輸輸 入入 輸輸 出出 G1 G2AG1 G2A* * G2B G2B* * C B A Y7 C B A Y7* * Y6Y6* * Y5Y5* * Y4Y4* * Y3Y3* * Y2Y2* * Y1Y1* * Y0Y0* *C51單片機擴展存儲器的設(shè)計 (2 2)74LS13974LS13974LS13974LS139是是雙雙2-42-4譯碼器譯碼器。兩個譯碼器完全獨立,分別有各自的。兩個譯碼器完全獨立,分別有各自的數(shù)據(jù)輸入端、譯碼狀態(tài)輸出端以及數(shù)據(jù)輸入允許端。其引腳數(shù)據(jù)輸入端、譯碼狀態(tài)輸出端以及數(shù)據(jù)輸入允許端。其引腳如如圖圖8-48-4所示,
15、真值表如所示,真值表如表表8-28-2所示(見所示(見P138P138)。)。圖圖8-48-4C51單片機擴展存儲器的設(shè)計C51單片機擴展存儲器的設(shè)計下面下面以以74LS13874LS138為例,介紹如何進行地址分配。為例,介紹如何進行地址分配。例例 要擴要擴8 8片片8 8KBKB的的RAM 6264RAM 6264,如何通過如何通過7474LS138LS138把把6464KBKB空間分空間分配給各個芯片?配給各個芯片? 64KB 64KB地址空間的分配如地址空間的分配如圖圖8-58-5所示。所示。圖圖8-58-5C51單片機擴展存儲器的設(shè)計采用采用全地址譯碼方式全地址譯碼方式,單片機發(fā)地址
16、碼時,每次只能選中一個,單片機發(fā)地址碼時,每次只能選中一個存儲單元。同類存儲器間不會產(chǎn)生地址重疊的問題。存儲單元。同類存儲器間不會產(chǎn)生地址重疊的問題。如果如果用用7474LS138LS138把把6464K K空間全部劃分為每塊空間全部劃分為每塊4 4KBKB,如何劃分呢?如何劃分呢?由于由于4KB4KB空間需要空間需要1212條地址線進行條地址線進行“單元選擇單元選擇”,而譯碼器而譯碼器的輸入有的輸入有3 3條地址線(條地址線(P2.6P2.6P2.4P2.4),),P2.7P2.7沒有參加譯碼,沒有參加譯碼,P2.7P2.7發(fā)出的發(fā)出的0 0或或1 1決定了選擇決定了選擇64KB64KB存儲
17、器空間的前存儲器空間的前32KB32KB還是后還是后32KB32KB,由于,由于P2.7P2.7沒有參加譯碼,就沒有參加譯碼,就不是全譯碼方式不是全譯碼方式,這樣前,這樣前后兩個后兩個32KB32KB空間就重疊了。空間就重疊了。那么,那么,這這32KB32KB空間利用空間利用74LS13874LS138譯碼器可劃分為譯碼器可劃分為8 8個個4KB4KB空間空間。如果把如果把P2.7P2.7通過一個非門與通過一個非門與74LS13874LS138譯碼器的譯碼器的G1G1端連接起來,端連接起來,如如圖圖8-68-6所示,就不會發(fā)生兩個所示,就不會發(fā)生兩個32KB32KB空間重疊的問題了??臻g重疊的
18、問題了。 C51單片機擴展存儲器的設(shè)計8.8.2.2 2.2 外部地址鎖存器外部地址鎖存器地址鎖存器芯片地址鎖存器芯片: 74: 74LS373LS373、82828282、74LS57374LS573等。等。1. 1. 鎖存器鎖存器7474LS373LS373帶有三態(tài)門的帶有三態(tài)門的8 8D D鎖存器鎖存器, ,其引腳及內(nèi)部結(jié)構(gòu)如其引腳及內(nèi)部結(jié)構(gòu)如圖圖8-78-7和和圖圖8-88-8。 89C5189C51與與74LS37374LS373的連接如的連接如圖圖8-98-9所示。所示。 圖圖8-68-6C51單片機擴展存儲器的設(shè)計引腳說明如下引腳說明如下: :D7D7D0:D0: 8 8位數(shù)據(jù)輸
19、入線。位數(shù)據(jù)輸入線。Q7Q7Q0:Q0: 8 8位數(shù)據(jù)輸出線。位數(shù)據(jù)輸出線。G:G: 數(shù)據(jù)輸入鎖存選通信號數(shù)據(jù)輸入鎖存選通信號, , 圖圖8-78-7圖圖8-88-8C51單片機擴展存儲器的設(shè)計OEOE* *: : 數(shù)據(jù)輸出允許信號數(shù)據(jù)輸出允許信號圖圖8-98-9C51單片機擴展存儲器的設(shè)計74LS373功能如功能如表表8-3所示。所示。表表8-3 74LS3738-3 74LS373功能表功能表OEOE* * G GD DQ Q0 01 11 11 10 01 10 00 00 00 0不變不變1 1高阻態(tài)高阻態(tài)C51單片機擴展存儲器的設(shè)計2 2鎖存器鎖存器7474LS573LS573 輸入
20、的輸入的D D端和輸出的端和輸出的Q Q端依次排在芯片的兩側(cè),端依次排在芯片的兩側(cè),為繪制印刷電為繪制印刷電路板時的布線提供了方便。路板時的布線提供了方便。圖圖8-108-10C51單片機擴展存儲器的設(shè)計74LS57374LS573的各的各引腳說明引腳說明如下如下: :D7D7D0D0:8 8位數(shù)據(jù)輸入線。位數(shù)據(jù)輸入線。Q7Q7Q0Q0:8 8位數(shù)據(jù)輸出線。位數(shù)據(jù)輸出線。G G :數(shù)據(jù)輸入鎖存選通信號,該引腳與數(shù)據(jù)輸入鎖存選通信號,該引腳與74LS37374LS373的的G G端功能相端功能相同。同。OEOE* *:數(shù)據(jù)輸出允許信號,低電平有效。當該信號為低電平時,數(shù)據(jù)輸出允許信號,低電平有效
21、。當該信號為低電平時,三態(tài)門打開,鎖存器中數(shù)據(jù)輸出到數(shù)據(jù)輸出線。當該信號三態(tài)門打開,鎖存器中數(shù)據(jù)輸出到數(shù)據(jù)輸出線。當該信號為高電平時,輸出線為高阻態(tài)。為高電平時,輸出線為高阻態(tài)。C51單片機擴展存儲器的設(shè)計8.8.3 3 程序存儲器程序存儲器EPROMEPROM的擴展的擴展 采用只讀存儲器,非易失性。采用只讀存儲器,非易失性。(1 1)掩膜)掩膜ROMROM在制造過程中編程。成本較高,因此只適合于大批量生產(chǎn)。在制造過程中編程。成本較高,因此只適合于大批量生產(chǎn)。(2 2)可編程)可編程ROMROM(PROMPROM)用獨立的編程器寫入。但用獨立的編程器寫入。但PROMPROM只能寫入一次,且不能
22、再修改。只能寫入一次,且不能再修改。(3 3)EPROMEPROM電信號編程,紫外線擦除的只讀存儲器芯片。電信號編程,紫外線擦除的只讀存儲器芯片。(4 4)E E2 2PROMPROM( EEPROM EEPROM)電信號編程,電信號擦除的電信號編程,電信號擦除的ROMROM芯片。讀寫操作與芯片。讀寫操作與RAMRAM幾乎沒有什幾乎沒有什么差別,只是寫入的速度慢一些。但斷電后能夠保存信息。么差別,只是寫入的速度慢一些。但斷電后能夠保存信息。(5 5)Flash ROMFlash ROM又稱閃爍存儲器,簡稱閃存。又稱閃爍存儲器,簡稱閃存。大有取代大有取代E E2 2PROMPROM的趨勢。的趨勢
23、。C51單片機擴展存儲器的設(shè)計目前許多公司生產(chǎn)的以目前許多公司生產(chǎn)的以80518051為內(nèi)核的單片機,在芯片內(nèi)部大為內(nèi)核的單片機,在芯片內(nèi)部大多集成了數(shù)量不等的多集成了數(shù)量不等的Flash ROMFlash ROM。例如例如,美國美國ATMELATMEL公司公司生產(chǎn)的與生產(chǎn)的與5151系列單片機兼容的產(chǎn)品系列單片機兼容的產(chǎn)品89C2051/89C51/89C52/89C5589C2051/89C51/89C52/89C55,片內(nèi)分別有,片內(nèi)分別有2KB/4KB/8KB/20KB2KB/4KB/8KB/20KB的的Flash ROMFlash ROM,來作為,來作為EPROMEPROM使用。使用
24、。對于這類單片機,在片內(nèi)的對于這類單片機,在片內(nèi)的Flash ROMFlash ROM滿足要求的情況下,擴滿足要求的情況下,擴展外部程序存儲器的工作就可省去。展外部程序存儲器的工作就可省去。C51單片機擴展存儲器的設(shè)計8.8.3.1 3.1 常用常用EPROMEPROM芯片芯片典型芯片是典型芯片是2727系系列列產(chǎn)品,例如,產(chǎn)品,例如, 27642764(8 8KBKB8 8)、)、2712827128(16KB16KB8 8)、)、2725627256(32KB32KB8 8)、)、2751227512(64KB64KB8 8)。)。 “27”“27”后面的數(shù)字表示其位存儲容量。后面的數(shù)字表
25、示其位存儲容量。隨著大規(guī)模集成電路技術(shù)的發(fā)展,大容量存儲器芯片的產(chǎn)量劇隨著大規(guī)模集成電路技術(shù)的發(fā)展,大容量存儲器芯片的產(chǎn)量劇增,售價不斷下降,其性價比明顯增高,而且由于有些廠家增,售價不斷下降,其性價比明顯增高,而且由于有些廠家已停止生產(chǎn)小容量的芯片,使市場上某些小容量芯片的價格已停止生產(chǎn)小容量的芯片,使市場上某些小容量芯片的價格反而比大容量芯片還貴。反而比大容量芯片還貴。所以,所以,在擴展程序存儲器設(shè)計時,應(yīng)盡量采用在擴展程序存儲器設(shè)計時,應(yīng)盡量采用大容量大容量芯片。芯片。C51單片機擴展存儲器的設(shè)計1.1.常用的常用的EPROMEPROM芯片芯片2727系列系列EPROMEPROM芯片的引
26、腳如芯片的引腳如圖圖8-118-11所示,參數(shù)見所示,參數(shù)見表表8-48-4(P143P143,略)。略)。圖圖8-118-11中的中的引腳功能如下:引腳功能如下:A0A0A15A15:地址線引腳。數(shù)目決定存儲容量來定,用來進行單元地址線引腳。數(shù)目決定存儲容量來定,用來進行單元選擇。選擇。D7D7D0D0:數(shù)據(jù)線引腳數(shù)據(jù)線引腳CECE* *:片選輸入端片選輸入端OEOE* * :輸出允許控制端輸出允許控制端PGMPGM* *:編程時,加編程脈沖的輸入端編程時,加編程脈沖的輸入端C51單片機擴展存儲器的設(shè)計VppVpp:編程時,編程電壓(編程時,編程電壓(+12+12V V或或+25+25V V
27、)輸入端輸入端VccVcc:+5V+5V,芯片的芯片的工作工作電壓。電壓。 GNDGND:數(shù)字地。數(shù)字地。NCNC:無用端無用端 表表8-48-4所示為所示為2727系列系列EPROMEPROM芯片的技術(shù)參數(shù),其中芯片的技術(shù)參數(shù),其中V VCCCC是芯片供是芯片供電電壓,電電壓,V Vpppp是編程電壓,是編程電壓,I Im m為最大靜態(tài)電流,為最大靜態(tài)電流,I Is s為維持電為維持電流,流,T TRMRM為最大讀出時間。為最大讀出時間。C51單片機擴展存儲器的設(shè)計圖圖8-118-11C51單片機擴展存儲器的設(shè)計C51單片機擴展存儲器的設(shè)計2. 2. EPROMEPROM芯片的工作方式芯片的
28、工作方式5 5種工作方式如種工作方式如表表8-58-5所示。所示。(1 1)讀出方式)讀出方式 片選控制線為低片選控制線為低, ,同時輸出允許控制線為低,同時輸出允許控制線為低,VppVpp為為+5+5V V,指定地址單元的內(nèi)容從指定地址單元的內(nèi)容從D7D7D0D0上讀出。上讀出。 (2 2)未選中方式)未選中方式 片選控制線為高電平。片選控制線為高電平。(3 3)編程方式)編程方式 Vpp Vpp端加上規(guī)定高壓端加上規(guī)定高壓, , CECE* *和和OEOE* *端加合適電平端加合適電平( (不同的芯片不同的芯片要求不同要求不同) ),就能將數(shù)據(jù)線上的數(shù)據(jù)寫入到指定的地址單,就能將數(shù)據(jù)線上的
29、數(shù)據(jù)寫入到指定的地址單元。元。 (4 4)編程校驗方式)編程校驗方式 C51單片機擴展存儲器的設(shè)計(5)編程禁止方式)編程禁止方式 輸出呈高阻狀態(tài),不寫入程序。輸出呈高阻狀態(tài),不寫入程序。C51單片機擴展存儲器的設(shè)計8.8.3.2 3.2 程序存儲器的操作時序程序存儲器的操作時序1. 1. 訪問程序存儲器的控制信號訪問程序存儲器的控制信號(1 1)ALE ALE (2 2)PSENPSEN* *(3 3)EAEA* *如果指令是從片外如果指令是從片外EPROMEPROM中讀取,中讀取,ALEALE用于低用于低8 8位地址鎖存,位地址鎖存,PSENPSEN* *接外擴接外擴EPROMEPROM的
30、的OEOE* *腳。腳。P0P0口口: :分時低分時低8 8位地址總線和數(shù)據(jù)總線,位地址總線和數(shù)據(jù)總線,P2P2口口: :高高8 8位地址線。位地址線。 2. 2. 操作時序操作時序 C51單片機擴展存儲器的設(shè)計(1) (1) 應(yīng)用系統(tǒng)中無片外應(yīng)用系統(tǒng)中無片外RAM RAM 圖圖8-12(a)8-12(a)C51單片機擴展存儲器的設(shè)計(2) (2) 應(yīng)用系統(tǒng)中接有片外應(yīng)用系統(tǒng)中接有片外RAM RAM 圖圖8-12(b)8-12(b)C51單片機擴展存儲器的設(shè)計由圖由圖8-12(b)8-12(b)可看出:可看出:(1 1)將)將ALEALE用作定時脈沖輸出時,用作定時脈沖輸出時,執(zhí)行一次執(zhí)行一次
31、MOVXMOVX指令就會丟失指令就會丟失一個脈沖一個脈沖。(2 2)只有在執(zhí)行)只有在執(zhí)行MOVXMOVX指令時的第二個機器周期期間,地址總線指令時的第二個機器周期期間,地址總線才由數(shù)據(jù)存儲器使用。才由數(shù)據(jù)存儲器使用。8.8.3.3 AT89C513.3 AT89C51與與EPROMEPROM的接口電路設(shè)計的接口電路設(shè)計 1. 1. 硬件接口電路硬件接口電路 設(shè)計時,由于設(shè)計時,由于EPROMEPROM在正常使用中只能讀出,不能寫入,故在正常使用中只能讀出,不能寫入,故EPROMEPROM芯片沒有寫入控制腳,只有讀出控制腳,記為芯片沒有寫入控制腳,只有讀出控制腳,記為OEOE* *,它,它與與
32、89C5189C51單片機的單片機的PSENPSEN* *相連,地址線、數(shù)據(jù)線分別與相連,地址線、數(shù)據(jù)線分別與89C5189C51的的地址線、數(shù)據(jù)線相連,片選端的控制可采用線選法或譯碼法。地址線、數(shù)據(jù)線相連,片選端的控制可采用線選法或譯碼法。圖圖8-138-13為為外擴一片外擴一片2712827128的接口電路圖的接口電路圖 。C51單片機擴展存儲器的設(shè)計圖圖8-138-13C51單片機擴展存儲器的設(shè)計3. 3. 使用多片使用多片EPROMEPROM的擴展電路的擴展電路AT89C51AT89C51擴展擴展4 4片片2712827128。 圖圖8-148-14C51單片機擴展存儲器的設(shè)計圖圖8-
33、148-14中的片選控制信號由譯碼器產(chǎn)生。中的片選控制信號由譯碼器產(chǎn)生。4 4片片2712827128各自所占的各自所占的地址空間,請讀者自己分析。地址空間,請讀者自己分析。 8.8.4 4 靜態(tài)數(shù)據(jù)存儲器的擴展靜態(tài)數(shù)據(jù)存儲器的擴展在單片機應(yīng)用系統(tǒng)中,外擴的數(shù)據(jù)存儲器都采用靜態(tài)數(shù)據(jù)存儲在單片機應(yīng)用系統(tǒng)中,外擴的數(shù)據(jù)存儲器都采用靜態(tài)數(shù)據(jù)存儲器(器(SRAMSRAM),所以),所以只討論只討論SRAMSRAM與與89C5189C51的接口的接口。所擴展的數(shù)據(jù)存儲器空間地址由所擴展的數(shù)據(jù)存儲器空間地址由P2P2口提供高口提供高8 8位地址,位地址,P0P0口分時口分時提供低提供低8 8位地址和位地址
34、和8 8位雙向數(shù)據(jù)總線。片外數(shù)據(jù)存儲器位雙向數(shù)據(jù)總線。片外數(shù)據(jù)存儲器RAMRAM的的讀讀和和寫寫由由89C5189C51的的RDRD* *(P3.7P3.7)和)和WRWR* *(P3.6P3.6)信號控制,而片外)信號控制,而片外程序存儲器程序存儲器EPROMEPROM的輸出允許端(的輸出允許端(OEOE* *)由)由89C5189C51的程序存儲器的程序存儲器讀選通信號讀選通信號PSENPSEN* *控制??刂啤1M管與盡管與EPROMEPROM的地址空間范圍都是相同的,但由于控制信號不同,的地址空間范圍都是相同的,但由于控制信號不同,故不會發(fā)生總線沖突。故不會發(fā)生總線沖突。C51單片機擴展
35、存儲器的設(shè)計8.8.4.1 4.1 常用的靜態(tài)常用的靜態(tài)RAMRAM(SRAMSRAM)芯片芯片典型型號有典型型號有: :61166116、62646264、6212862128、6225662256。+5+5V V電源供電,雙列電源供電,雙列直插封裝,直插封裝,61166116為為2424引腳封裝,引腳封裝,62646264、6212862128、6225662256為為2828引引腳封裝,引腳如腳封裝,引腳如圖圖8-158-15。各引腳功能各引腳功能: : A0 A0A14A14:地址輸入線。地址輸入線。 D0 D0D7D7:雙向三態(tài)數(shù)據(jù)線。雙向三態(tài)數(shù)據(jù)線。 CE CE* *:片選信號輸入
36、。對于片選信號輸入。對于62646264芯片,當芯片,當2626腳腳( (CS)CS)為高電平為高電平時時, ,且且CECE* *為低電平時才選中該片。為低電平時才選中該片。 OE OE* *:讀選通信號輸入線。:讀選通信號輸入線。 WE WE* *:寫允許信號輸入線,低電平有效。寫允許信號輸入線,低電平有效。C51單片機擴展存儲器的設(shè)計圖圖8-158-15C51單片機擴展存儲器的設(shè)計VccVcc:工作電源工作電源+5+5V VGNDGND:地地工作方式有工作方式有讀出、寫入、維持讀出、寫入、維持三種,這些工作方式的操作控制三種,這些工作方式的操作控制如如表表8-68-6( (P148)P14
37、8)。 C51單片機擴展存儲器的設(shè)計8.8.4.2 4.2 外擴數(shù)據(jù)存儲器的讀寫操作時序外擴數(shù)據(jù)存儲器的讀寫操作時序1.1.讀片外讀片外RAMRAM操作時序操作時序 圖圖8-168-16C51單片機擴展存儲器的設(shè)計2. 2. 寫片外寫片外RAMRAM操作時序操作時序 寫是寫是CPUCPU主動把數(shù)據(jù)送上主動把數(shù)據(jù)送上P0P0口總線。故在時序上,口總線。故在時序上,CPUCPU先向先向P0P0口口總線上送完總線上送完8 8位地址后,在位地址后,在S3S3狀態(tài)就將數(shù)據(jù)送到狀態(tài)就將數(shù)據(jù)送到P0P0口總線??诳偩€。 圖圖8-178-17C51單片機擴展存儲器的設(shè)計8.8.4.3 AT89C514.3 A
38、T89C51與與RAMRAM的接口電路設(shè)計的接口電路設(shè)計 圖圖8-8-1818為線選法擴展外部數(shù)據(jù)存儲器的電路為線選法擴展外部數(shù)據(jù)存儲器的電路。 圖圖8-188-18C51單片機擴展存儲器的設(shè)計地址線為地址線為A0A0A12A12,故故80318031剩余地址線為三根。用線選法可擴剩余地址線為三根。用線選法可擴展展3 3片片62646264。3 3片片62646264對應(yīng)的存儲器空間如對應(yīng)的存儲器空間如表表8-78-7。表表8-78-7C51單片機擴展存儲器的設(shè)計譯碼選通法擴展譯碼選通法擴展,如如圖圖8-19所示。所示。圖圖8-198-19C51單片機擴展存儲器的設(shè)計各各6212862128芯
39、片的地址分配見芯片的地址分配見表表8-8-8 8。 例例8-18-1 編寫程序?qū)⑵鈹?shù)據(jù)存儲器中編寫程序?qū)⑵鈹?shù)據(jù)存儲器中50005000H H50FFH50FFH單元全部單元全部清零清零C51單片機擴展存儲器的設(shè)計方法方法1 1:用用DPTRDPTR作為數(shù)據(jù)區(qū)地址指針,同時作為數(shù)據(jù)區(qū)地址指針,同時使用字節(jié)計數(shù)器使用字節(jié)計數(shù)器。 MOV DPTRMOV DPTR,#5000H#5000H;設(shè)置數(shù)據(jù)塊指針的初值設(shè)置數(shù)據(jù)塊指針的初值 MOV R7 MOV R7,#00H#00H ;設(shè)置塊長度計數(shù)器初值設(shè)置塊長度計數(shù)器初值 CLR A CLR ALOOPLOOP: MOVX DPTR MOVX DP
40、TR,A A ;把某一單元清零;把某一單元清零 INC DPTR INC DPTR ;地址指針加地址指針加1 1 DJNZ R7DJNZ R7,LOOP LOOP ;數(shù)據(jù)塊長度減數(shù)據(jù)塊長度減1 1,若不為,若不為 ;0 0則繼續(xù)清零則繼續(xù)清零HEREHERE: SJMP HERE SJMP HERE ;執(zhí)行完畢,原地踏步執(zhí)行完畢,原地踏步C51單片機擴展存儲器的設(shè)計方法方法2 2:用用DPTRDPTR作為數(shù)據(jù)區(qū)地址指針,但不使用字節(jié)計數(shù)器,而是作為數(shù)據(jù)區(qū)地址指針,但不使用字節(jié)計數(shù)器,而是比比較特征地址較特征地址。 MOV DPTRMOV DPTR,#5000H#5000HCLR ACLR AL
41、OOPLOOP:MOVX DPTRMOVX DPTR,A AINC DPTRINC DPTRMOV R7MOV R7,DPLDPLCJNE R7CJNE R7,#0#0,LOOP LOOP ;與末地址與末地址+1+1比較比較HEREHERE:SJMP HERESJMP HEREC51單片機擴展存儲器的設(shè)計8.8.5 EPROM5 EPROM和和RAMRAM的綜合擴展的綜合擴展8.8.5.1 5.1 綜合擴展的硬件接口電路綜合擴展的硬件接口電路例例8-28-2 采用采用線選法線選法擴展擴展2 2片片8 8KBKB的的RAMRAM和和2 2片片8 8KBKB的的EPROMEPROM。RAMRAM選
42、選62646264,EPROMEPROM選選27642764。擴展接口電路見。擴展接口電路見圖圖8-208-20。 圖圖8-208-20C51單片機擴展存儲器的設(shè)計(1 1)控制信號及片選信號)控制信號及片選信號IC2IC2和和IC4IC4占用地址空間為占用地址空間為20002000H H3FFFH3FFFH共共8 8KBKB。同理同理IC1IC1、IC3IC3地址范圍地址范圍40004000H H5FFFH5FFFH(P2.6=1P2.6=1、P2.5=0P2.5=0、P2.7=0P2.7=0)。)。線選法地址不連續(xù),地址空間利用不充分。線選法地址不連續(xù),地址空間利用不充分。(2 2)各芯片
43、地址空間分配)各芯片地址空間分配IC2IC2和和IC4IC4占用的地址空間為占用的地址空間為A000HA000HBFFFHBFFFH共共8KB8KB。同理同理IC1IC1、IC3IC3的地址范圍為的地址范圍為C000HC000HDFFFHDFFFH。4 4片存儲器各自所片存儲器各自所占的地址空間如占的地址空間如表表8-98-9所示。所示。 C51單片機擴展存儲器的設(shè)計例例8-38-3 采用采用譯碼器法譯碼器法擴展擴展2 2片片8 8KB EPROMKB EPROM,2 2片片8 8KB RAMKB RAM。EPROMEPROM選選用用27642764,RAMRAM選用選用62646264。共擴
44、展。共擴展4 4片芯片。擴展接口電路見片芯片。擴展接口電路見圖圖8-28-21 1。 圖圖8-218-21C51單片機擴展存儲器的設(shè)計各存儲器地址范圍如下:各存儲器地址范圍如下:表表8-98-9可見譯碼法進行地址分配,各芯片地址空間是連續(xù)的??梢娮g碼法進行地址分配,各芯片地址空間是連續(xù)的。C51單片機擴展存儲器的設(shè)計8.8.5.2 5.2 外擴存儲器電路的工作原理及軟件設(shè)計外擴存儲器電路的工作原理及軟件設(shè)計 1. 1. 單片機片外程序區(qū)讀指令過程單片機片外程序區(qū)讀指令過程單片機上電復(fù)位后,單片機上電復(fù)位后,PCPC = = 0000H0000H,CPUCPU就從就從0000H0000H地址開始
45、取指地址開始取指令,執(zhí)行程序。令,執(zhí)行程序。在取指令期間,在取指令期間,PCPC地址低地址低8 8位位送往送往P0P0口,經(jīng)鎖存器鎖存輸出作為口,經(jīng)鎖存器鎖存輸出作為A0A0A7A7地址線。地址線。PCPC高高8 8位位地址送往地址送往P2P2口,直接由口,直接由P2.0P2.0P2.4P2.4鎖存到鎖存到A8A8A12A12地址線上,地址線上,P2.5P2.5P2.7P2.7輸入給輸入給74LS13974LS139進行譯進行譯碼輸出片選。這樣,根據(jù)碼輸出片選。這樣,根據(jù)P2P2口、口、P0P0口狀態(tài)則選中了第一個程口狀態(tài)則選中了第一個程序存儲器芯片序存儲器芯片IC1IC1(27642764)
46、的第一個單元地址)的第一個單元地址0000H0000H。然后當然后當變?yōu)榈碗娖阶優(yōu)榈碗娖綍r,把時,把0000H0000H中的指令代碼經(jīng)中的指令代碼經(jīng)P0P0口讀入內(nèi)部口讀入內(nèi)部RAMRAM中進行譯碼,從而決定進行何種操作。中進行譯碼,從而決定進行何種操作。C51單片機擴展存儲器的設(shè)計取出一個指令字節(jié)后取出一個指令字節(jié)后PCPC自動加自動加1 1,然后取第二個字節(jié),依次類,然后取第二個字節(jié),依次類推當推當PCPC = = 1FFFH1FFFH時,從時,從IC1IC1最后一個單元取指令,然后最后一個單元取指令,然后PCPC = = 2000H2000H,CPUCPU向向P2P2口、口、P0P0口送
47、出口送出2000H2000H地址時,則選中第地址時,則選中第二個程序存儲器二個程序存儲器IC2IC2,IC2IC2的地址范圍為的地址范圍為2000H2000H3FFFH3FFFH,讀指,讀指令過程同令過程同IC1IC1,不再贅述。,不再贅述。 2. 2. 單片機片外數(shù)據(jù)區(qū)讀單片機片外數(shù)據(jù)區(qū)讀/ /寫數(shù)據(jù)過程寫數(shù)據(jù)過程 例如,例如,把片外把片外6000H6000H單元的數(shù)送到片內(nèi)單元的數(shù)送到片內(nèi)RAM 50HRAM 50H單元,程序如下:單元,程序如下:MOV DPTRMOV DPTR,#6000H#6000HMOVX AMOVX A,DPTRDPTRMOV 50HMOV 50H,A A C51
48、單片機擴展存儲器的設(shè)計例如,例如,把片內(nèi)把片內(nèi)5050H H單元的數(shù)據(jù)送到片外單元的數(shù)據(jù)送到片外4000H4000H單元中,程序如下:單元中,程序如下: MOV A,50HMOV A,50HMOV DPTR,#4000HMOV DPTR,#4000HMOVX MOVX DPTR,ADPTR,AAT89C51AT89C51單片機讀寫片外數(shù)據(jù)存儲器中的內(nèi)容,除用單片機讀寫片外數(shù)據(jù)存儲器中的內(nèi)容,除用MOVX MOVX A,DPTRA,DPTR和和MOVX DPTR,AMOVX DPTR,A外,還可使用外,還可使用MOVX A,RiMOVX A,Ri和和MOVX MOVX Ri,ARi,A。這時通過
49、這時通過P0P0口輸出口輸出RiRi中的內(nèi)容(低中的內(nèi)容(低8 8位地址),而把位地址),而把P2P2口原有的內(nèi)容作為高口原有的內(nèi)容作為高8 8位地址輸出。位地址輸出。例例8-48-4 將程序存儲器中以將程序存儲器中以TABTAB為首址的為首址的3232個單元的內(nèi)容依次傳個單元的內(nèi)容依次傳送到外部送到外部RAMRAM以以70007000H H為首地址的區(qū)域去。為首地址的區(qū)域去。C51單片機擴展存儲器的設(shè)計DPTRDPTR指向標號指向標號TABTAB的首地址。的首地址。R0R0既指示外部既指示外部RAMRAM的地址,又表示的地址,又表示數(shù)據(jù)標號數(shù)據(jù)標號TABTAB的位移量。本程序的循環(huán)次數(shù)為的位
50、移量。本程序的循環(huán)次數(shù)為3232,R0R0的值:的值:0 03131,R0R0的值達到的值達到3232就結(jié)束循環(huán)。程序如下:就結(jié)束循環(huán)。程序如下:MOVMOVP2,#70HP2,#70HMOVMOVDPTR,#TABDPTR,#TABMOVMOVR0,#0R0,#0AGIN:AGIN:MOVMOVA,R0A,R0MOVCMOVCA,A+DPTRA,A+DPTRMOVXMOVXR0,AR0,AINCINCR0R0CJNECJNER0,#32,AGINR0,#32,AGINHERE:HERE:SJMPSJMPHEREHERETAB:TAB:DB DB C51單片機擴展存儲器的設(shè)計8.8.6 ATMEL89C51/89C556 ATMEL89C51/89C55單片機的片內(nèi)閃爍存儲器單片機的片內(nèi)閃爍存儲器 AT89C51/89C52/89C55AT89C51/89C52/89C55是低功耗、高性能的是低功耗、高性能的片內(nèi)含有片內(nèi)含有4 4KB/8KB/20KBKB/8KB/20KB閃爍可編程閃爍可編程/ /擦除只讀存儲器,芯片內(nèi)的閃存擦除只讀存儲器,芯片內(nèi)的閃存允許在線編程或采用通用的編程器對其重復(fù)編程。允許在線編程或采用通用的編程器對其重復(fù)編程。8.
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)療診斷、監(jiān)護及治療設(shè)備制造考核試卷
- 二零二五年度跨境電子商務(wù)平臺運營承包合同2篇
- 合同簽訂授權(quán)委托書
- 2025年滬教版七年級歷史下冊月考試卷含答案
- 2025年北師大新版八年級地理上冊月考試卷含答案
- 2025年外研版三年級起點選擇性必修3歷史下冊階段測試試卷
- 2025年度暖通工程綠色建材采購合同4篇
- 二零二五版景區(qū)導(dǎo)覽門牌定制服務(wù)合同4篇
- 2025版南京市房產(chǎn)局推廣的房屋抵押權(quán)設(shè)立合同模板4篇
- 二零二五年度農(nóng)膜行業(yè)人才培養(yǎng)與交流合同3篇
- DB32-T 4444-2023 單位消防安全管理規(guī)范
- 臨床三基考試題庫(附答案)
- 合同簽訂執(zhí)行風險管控培訓(xùn)
- DB43-T 3022-2024黃柏栽培技術(shù)規(guī)程
- 九宮數(shù)獨200題(附答案全)
- 人員密集場所消防安全管理培訓(xùn)
- 《聚焦客戶創(chuàng)造價值》課件
- PTW-UNIDOS-E-放射劑量儀中文說明書
- JCT587-2012 玻璃纖維纏繞增強熱固性樹脂耐腐蝕立式貯罐
- 典范英語2b課文電子書
- 員工信息登記表(標準版)
評論
0/150
提交評論