




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第8章89C51單片機擴展存儲器的設計8.1系統(tǒng)擴展結(jié)構(gòu)
AT89C51系統(tǒng)并行擴展結(jié)構(gòu)如圖8-1所示。
圖8-1^第8章89C51單片機擴展存儲器的設計圖8-1^1由圖8-1可以看出,系統(tǒng)擴展主要包括存儲器擴展和I/O接口部件擴展。外部存儲器擴展又包括程序存儲器擴展和數(shù)據(jù)存儲器擴展。AT89C51采用的是哈佛結(jié)構(gòu)。擴展后,系統(tǒng)形成了兩個并行的外部存儲器空間。89C51單片機采用并行總線結(jié)構(gòu),大大增加了系統(tǒng)的靈活性,使擴展易于實現(xiàn),各擴展部件只要符合總線規(guī)范,就能很方便地接入系統(tǒng)。由于系統(tǒng)擴展是通過總線把AT89C51與各擴展部件連接起來。因此,要進行系統(tǒng)擴展首先要構(gòu)造系統(tǒng)總線。^由圖8-1可以看出,系統(tǒng)擴展主要包括存儲器擴展和I/O接口部2系統(tǒng)總線按功能分為三組,如圖8-1所示。
(1)地址總線(AdressBus,AB)地址總線用于傳送單片機發(fā)出的地址信號,以便進行存儲單元和I/O接口芯片中的寄存器選擇。地址總線是單向傳輸?shù)摹#?)數(shù)據(jù)總線(DataBus,DB)數(shù)據(jù)總線用于在單片機與存儲器之間或與I/O端口之間傳送數(shù)據(jù)。數(shù)據(jù)總線是雙向的,可以進行兩個方向的傳送。(3)控制總線(ControlBus,CB)控制總線實際上就是單片機發(fā)出的各種控制信號線。下面討論如何構(gòu)造系統(tǒng)三總線
^系統(tǒng)總線按功能分為三組,如圖8-1所示。^31.以P0口作為低8位地址/數(shù)據(jù)總線AT89C51由于受引腳數(shù)目的限制,數(shù)據(jù)線和低8位地址線復用。為了將它們分離出來,需要外加地址鎖存器,從而構(gòu)成與一般CPU相類似的片外三總線,見圖8-2。
^1.以P0口作為低8位地址/數(shù)據(jù)總線^4圖8-2^圖8-2^52.以P2口的口線作為高位地址線P2口的全部8位口線用作高位地址線,再加上P0口經(jīng)地址鎖存器提供的低8位地址,便形成了完整的16位地址總線(見圖8-2),使尋址范圍達到64KB。3.控制信號線除了地址線和數(shù)據(jù)線之外,還要有系統(tǒng)的控制總線。這些信號有的就是單片機引腳的第一功能信號,有的則是P3口第二功能信號。其中包括:(1)PSEN*信號作為外擴程序存儲器的讀選通控制信號。^2.以P2口的口線作為高位地址線^6(2)RD*和WR*信號作為外擴數(shù)據(jù)存儲器和I/O接口的讀、寫選通控制信號。(3)ALE信號作為低8位地址的鎖存控制信號。(4)EA*信號作為內(nèi)、外程序存儲器的選擇控制信號??煽闯?,盡管89C51單片機有4個并行的I/O口,共32條口線,但由于系統(tǒng)擴展的需要,真正作為數(shù)字I/O使用的,就剩下P1口和P3口的部分口線了。8.2地址空間分配和外部地址鎖存器8.2.1存儲器地址空間分配
^(2)RD*和WR*信號作為外擴數(shù)據(jù)存儲器和I/O接口的讀、7如何把外部各自的64KB空間分配給各個程序存儲器、數(shù)據(jù)存儲器芯片,并且使程序存儲器的各個芯片之間,數(shù)據(jù)存儲器各芯片之間,為避免發(fā)生數(shù)據(jù)沖突,一個存儲器單元對應一個地址,這就是存儲器的地址空間的分配問題。在外擴的多片存儲器芯片中,AT89C51要完成這種功能,必須進行兩種選擇:一是必須選中該存儲器芯片(或I/O接口芯片),這稱為“片選”,只有被“選中”的存儲器芯片才能被AT89C51讀出或?qū)懭霐?shù)據(jù)。為了片選的需要,每個存儲器芯片都有片選信號引腳,二是在“片選”的基礎(chǔ)上再選擇該芯片的某一單元,稱為“單元選擇”。^如何把外部各自的64KB空間分配給各個程序存儲器、數(shù)據(jù)存儲器8常用的存儲器地址空間分配方法有兩種:線性選擇法(簡稱線選法)和地址譯碼法(簡稱譯碼法),下面分別介紹。1.線選法直接利用系統(tǒng)的高位地址線作為存儲器芯片(或I/O接口芯片)的“片選”控制信號。為此,只需要把用到的高位地址線與存儲器芯片的“片選”端直接連接即可。線選法的優(yōu)點是電路簡單,不需要另外增加地址譯碼器硬件電路,體積小,成本低。缺點是可尋址的芯片數(shù)目受到限制。另外,地址空間不連續(xù),每個存儲單元的地址不唯一,不^常用的存儲器地址空間分配方法有兩種:線性選擇法(簡稱線選法)9能充分有效地利用存儲空間,這會給程序設計帶來一些不便,只適用于外擴芯片數(shù)目不多的單片機系統(tǒng)的存儲器擴展。2.譯碼法使用譯碼器對89C51的高位地址進行譯碼,將譯碼器的譯碼輸出作為存儲器芯片的片選信號。是最常用的地址空間分配的方法,它能有效地利用存儲器空間,適用于多芯片的存儲器擴展。常用的譯碼器芯片有74LS138(3-8譯碼器)74LS139(雙2-4譯碼器)74LS154(4-16譯碼器)。若全部高位地址線都參加譯碼,稱為全譯碼;若僅部分高位地址線參加譯碼,稱^能充分有效地利用存儲空間,這會給程序設計帶來一些不便,只適用10為部分譯碼。部分譯碼存在著部分存儲器地址空間相重疊的情況。兩種常用的譯碼器芯片。(1)74LS13874LS138是3-8譯碼器,有3個數(shù)據(jù)輸入端,經(jīng)譯碼產(chǎn)生8種狀態(tài)。其引腳如圖8-3所示,真值表如表8-1所示。由表8-1可見,當譯碼器的輸入為某一固定編碼時,其輸出僅有一個固定的引腳輸出為低電平,其余的為高電平。而輸出為低電平的引腳就作為某一存儲器芯片的片選端的控制信號。^為部分譯碼。部分譯碼存在著部分存儲器地址空間相重疊的情況。^11圖8-3^圖8-3^12
表8-174LS138譯碼器真值表
輸入輸出
G1G2A*G2B*CBAY7*Y6*Y5*Y4*Y3*Y2*Y1*Y0*^ 表8-174LS138譯碼器真值表13
(2)74LS13974LS139是雙2-4譯碼器。兩個譯碼器完全獨立,分別有各自的數(shù)據(jù)輸入端、譯碼狀態(tài)輸出端以及數(shù)據(jù)輸入允許端。其引腳如圖8-4所示,真值表如表8-2所示(見P138)。圖8-4^(2)74LS139圖8-4^14^^15下面以74LS138為例,介紹如何進行地址分配。例要擴8片8KB的RAM6264,如何通過74LS138把64KB空間分配給各個芯片?64KB地址空間的分配如圖8-5所示。圖8-5^下面以74LS138為例,介紹如何進行地址分配。圖8-5^16采用全地址譯碼方式,單片機發(fā)地址碼時,每次只能選中一個存儲單元。同類存儲器間不會產(chǎn)生地址重疊的問題。如果用74LS138把64K空間全部劃分為每塊4KB,如何劃分呢?由于4KB空間需要12條地址線進行“單元選擇”,而譯碼器的輸入有3條地址線(P2.6~P2.4),P2.7沒有參加譯碼,P2.7發(fā)出的0或1決定了選擇64KB存儲器空間的前32KB還是后32KB,由于P2.7沒有參加譯碼,就不是全譯碼方式,這樣前后兩個32KB空間就重疊了。那么,這32KB空間利用74LS138譯碼器可劃分為8個4KB空間。如果把P2.7通過一個非門與74LS138譯碼器的G1端連接起來,如圖8-6所示,就不會發(fā)生兩個32KB空間重疊的問題了。^采用全地址譯碼方式,單片機發(fā)地址碼時,每次只能選中一個存儲單178.2.2外部地址鎖存器地址鎖存器芯片:74LS373、8282、74LS573等。1.鎖存器74LS373帶有三態(tài)門的8D鎖存器,其引腳及內(nèi)部結(jié)構(gòu)如圖8-7和圖8-8。89C51與74LS373的連接如圖8-9所示。圖8-6^8.2.2外部地址鎖存器圖8-6^18引腳說明如下:D7~D0:8位數(shù)據(jù)輸入線。Q7~Q0:8位數(shù)據(jù)輸出線。G: 數(shù)據(jù)輸入鎖存選通信號,
圖8-7圖8-8^引腳說明如下:圖8-7圖8-8^19OE*:
數(shù)據(jù)輸出允許信號圖8-9^OE*:數(shù)據(jù)輸出允許信號圖8-9^2074LS373功能如表8-3所示。表8-374LS373功能表OE*
G D Q
0 1 1 1 0 1 0 0 0 0 × 不變 1 × × 高阻態(tài) ^74LS373功能如表8-3所示。表8-374LS373212.鎖存器74LS573
輸入的D端和輸出的Q端依次排在芯片的兩側(cè),為繪制印刷電路板時的布線提供了方便。圖8-10^2.鎖存器74LS573圖8-10^2274LS573的各引腳說明如下:D7~D0:8位數(shù)據(jù)輸入線。Q7~Q0:8位數(shù)據(jù)輸出線。G
:數(shù)據(jù)輸入鎖存選通信號,該引腳與74LS373的G端功能相同。OE*:數(shù)據(jù)輸出允許信號,低電平有效。當該信號為低電平時,三態(tài)門打開,鎖存器中數(shù)據(jù)輸出到數(shù)據(jù)輸出線。當該信號為高電平時,輸出線為高阻態(tài)。^74LS573的各引腳說明如下:^238.3程序存儲器EPROM的擴展
采用只讀存儲器,非易失性。(1)掩膜ROM在制造過程中編程。成本較高,因此只適合于大批量生產(chǎn)。(2)可編程ROM(PROM)用獨立的編程器寫入。但PROM只能寫入一次,且不能再修改。(3)EPROM電信號編程,紫外線擦除的只讀存儲器芯片。(4)E2PROM(EEPROM)電信號編程,電信號擦除的ROM芯片。讀寫操作與RAM幾乎沒有什么差別,只是寫入的速度慢一些。但斷電后能夠保存信息。(5)FlashROM又稱閃爍存儲器,簡稱閃存。大有取代E2PROM的趨勢。^8.3程序存儲器EPROM的擴展^24目前許多公司生產(chǎn)的以8051為內(nèi)核的單片機,在芯片內(nèi)部大多集成了數(shù)量不等的FlashROM。例如,美國ATMEL公司生產(chǎn)的與51系列單片機兼容的產(chǎn)品89C2051/89C51/89C52/89C55,片內(nèi)分別有2KB/4KB/8KB/20KB的FlashROM,來作為EPROM使用。對于這類單片機,在片內(nèi)的FlashROM滿足要求的情況下,擴展外部程序存儲器的工作就可省去。^目前許多公司生產(chǎn)的以8051為內(nèi)核的單片機,在芯片內(nèi)部大多集258.3.1常用EPROM芯片典型芯片是27系列產(chǎn)品,例如,2764(8KB×8)、27128(16KB×8)、27256(32KB×8)、27512(64KB×8)。“27”后面的數(shù)字表示其位存儲容量。隨著大規(guī)模集成電路技術(shù)的發(fā)展,大容量存儲器芯片的產(chǎn)量劇增,售價不斷下降,其性價比明顯增高,而且由于有些廠家已停止生產(chǎn)小容量的芯片,使市場上某些小容量芯片的價格反而比大容量芯片還貴。所以,在擴展程序存儲器設計時,應盡量采用大容量芯片。^8.3.1常用EPROM芯片^261.常用的EPROM芯片27系列EPROM芯片的引腳如圖8-11所示,參數(shù)見表8-4(P143,略)。圖8-11中的引腳功能如下:A0~A15:地址線引腳。數(shù)目決定存儲容量來定,用來進行單元選擇。D7~D0:數(shù)據(jù)線引腳CE*:片選輸入端OE*:輸出允許控制端PGM*:編程時,加編程脈沖的輸入端^1.常用的EPROM芯片^27Vpp:編程時,編程電壓(+12V或+25V)輸入端Vcc:+5V,芯片的工作電壓。
GND:數(shù)字地。NC:無用端
表8-4所示為27系列EPROM芯片的技術(shù)參數(shù),其中VCC是芯片供電電壓,Vpp是編程電壓,Im為最大靜態(tài)電流,Is為維持電流,TRM為最大讀出時間。^Vpp:編程時,編程電壓(+12V或+25V)輸入端^28圖8-11^圖8-11^29^^302.EPROM芯片的工作方式5種工作方式如表8-5所示。(1)讀出方式片選控制線為低,同時輸出允許控制線為低,Vpp為+5V,指定地址單元的內(nèi)容從D7~D0上讀出。
(2)未選中方式片選控制線為高電平。(3)編程方式Vpp端加上規(guī)定高壓,CE*和OE*端加合適電平(不同的芯片要求不同),就能將數(shù)據(jù)線上的數(shù)據(jù)寫入到指定的地址單元。(4)編程校驗方式
^2.EPROM芯片的工作方式^31(5)編程禁止方式輸出呈高阻狀態(tài),不寫入程序。^(5)編程禁止方式^328.3.2程序存儲器的操作時序1.訪問程序存儲器的控制信號(1)ALE(2)PSEN*(3)EA*如果指令是從片外EPROM中讀取,ALE用于低8位地址鎖存,PSEN*接外擴EPROM的OE*腳。P0口:分時低8位地址總線和數(shù)據(jù)總線,P2口:高8位地址線。2.操作時序
^8.3.2程序存儲器的操作時序^33(1)應用系統(tǒng)中無片外RAM圖8-12(a)^(1)應用系統(tǒng)中無片外RAM圖8-12(a)^34(2)應用系統(tǒng)中接有片外RAM圖8-12(b)^(2)應用系統(tǒng)中接有片外RAM圖8-12(b)^35由圖8-12(b)可看出:(1)將ALE用作定時脈沖輸出時,執(zhí)行一次MOVX指令就會丟失一個脈沖。(2)只有在執(zhí)行MOVX指令時的第二個機器周期期間,地址總線才由數(shù)據(jù)存儲器使用。8.3.3AT89C51與EPROM的接口電路設計
1.硬件接口電路設計時,由于EPROM在正常使用中只能讀出,不能寫入,故EPROM芯片沒有寫入控制腳,只有讀出控制腳,記為OE*,它與89C51單片機的PSEN*相連,地址線、數(shù)據(jù)線分別與89C51的地址線、數(shù)據(jù)線相連,片選端的控制可采用線選法或譯碼法。圖8-13為外擴一片27128的接口電路圖。^由圖8-12(b)可看出:^36圖8-13^圖8-13^373.使用多片EPROM的擴展電路AT89C51擴展4片27128。圖8-14^3.使用多片EPROM的擴展電路圖8-14^38圖8-14中的片選控制信號由譯碼器產(chǎn)生。4片27128各自所占的地址空間,請讀者自己分析。
8.4靜態(tài)數(shù)據(jù)存儲器的擴展在單片機應用系統(tǒng)中,外擴的數(shù)據(jù)存儲器都采用靜態(tài)數(shù)據(jù)存儲器(SRAM),所以只討論SRAM與89C51的接口。所擴展的數(shù)據(jù)存儲器空間地址由P2口提供高8位地址,P0口分時提供低8位地址和8位雙向數(shù)據(jù)總線。片外數(shù)據(jù)存儲器RAM的讀和寫由89C51的RD*(P3.7)和WR*(P3.6)信號控制,而片外程序存儲器EPROM的輸出允許端(OE*)由89C51的程序存儲器讀選通信號PSEN*控制。盡管與EPROM的地址空間范圍都是相同的,但由于控制信號不同,故不會發(fā)生總線沖突。^圖8-14中的片選控制信號由譯碼器產(chǎn)生。4片27128各自所398.4.1常用的靜態(tài)RAM(SRAM)芯片典型型號有:6116、6264、62128、62256。+5V電源供電,雙列直插封裝,6116為24引腳封裝,6264、62128、62256為28引腳封裝,引腳如圖8-15。各引腳功能:A0~A14:地址輸入線。D0~D7:雙向三態(tài)數(shù)據(jù)線。CE*:片選信號輸入。對于6264芯片,當26腳(CS)為高電平時,且CE*為低電平時才選中該片。OE*:讀選通信號輸入線。WE*:寫允許信號輸入線,低電平有效。^8.4.1常用的靜態(tài)RAM(SRAM)芯片^40圖8-15^圖8-15^41Vcc:工作電源+5VGND:地工作方式有讀出、寫入、維持三種,這些工作方式的操作控制如表8-6(P148)。
^Vcc:工作電源+5V^428.4.2外擴數(shù)據(jù)存儲器的讀寫操作時序1.讀片外RAM操作時序
圖8-16^8.4.2外擴數(shù)據(jù)存儲器的讀寫操作時序圖8-16^432.寫片外RAM操作時序
寫是CPU主動把數(shù)據(jù)送上P0口總線。故在時序上,CPU先向P0口總線上送完8位地址后,在S3狀態(tài)就將數(shù)據(jù)送到P0口總線。
圖8-17^2.寫片外RAM操作時序圖8-17^448.4.3AT89C51與RAM的接口電路設計
圖8-18為線選法擴展外部數(shù)據(jù)存儲器的電路。
圖8-18^8.4.3AT89C51與RAM的接口電路設計圖8-45地址線為A0~A12,故8031剩余地址線為三根。用線選法可擴展3片6264。3片6264對應的存儲器空間如表8-7。表8-7^地址線為A0~A12,故8031剩余地址線為三根。用線選法可46譯碼選通法擴展,如圖8-19所示。圖8-19^譯碼選通法擴展,如圖8-19所示。圖8-19^47各62128芯片的地址分配見表8-8。
例8-1編寫程序?qū)⑵鈹?shù)據(jù)存儲器中5000H~50FFH單元全部清零^各62128芯片的地址分配見表8-8。^48方法1:用DPTR作為數(shù)據(jù)區(qū)地址指針,同時使用字節(jié)計數(shù)器。
MOVDPTR,#5000H ;設置數(shù)據(jù)塊指針的初值 MOVR7,#00H ;設置塊長度計數(shù)器初值 CLRALOOP:MOVX@DPTR,A ;把某一單元清零 INCDPTR ;地址指針加1
DJNZR7,LOOP ;數(shù)據(jù)塊長度減1,若不為 ;0則繼續(xù)清零HERE:SJMPHERE ;執(zhí)行完畢,原地踏步^方法1:^49方法2:用DPTR作為數(shù)據(jù)區(qū)地址指針,但不使用字節(jié)計數(shù)器,而是比較特征地址。 MOVDPTR,#5000H CLRALOOP: MOVX@DPTR,A INCDPTR MOVR7,DPL
CJNER7,#0,LOOP;與末地址+1比較HERE: SJMPHERE^方法2:^508.5EPROM和RAM的綜合擴展8.5.1綜合擴展的硬件接口電路例8-2
采用線選法擴展2片8KB的RAM和2片8KB的EPROM。RAM選6264,EPROM選2764。擴展接口電路見圖8-20。
圖8-20^8.5EPROM和RAM的綜合擴展圖8-20^51(1)控制信號及片選信號IC2和IC4占用地址空間為2000H~3FFFH共8KB。同理IC1、IC3地址范圍4000H~5FFFH(P2.6=1、P2.5=0、P2.7=0)。線選法地址不連續(xù),地址空間利用不充分。(2)各芯片地址空間分配IC2和IC4占用的地址空間為A000H~BFFFH共8KB。同理IC1、IC3的地址范圍為C000H~DFFFH。4片存儲器各自所占的地址空間如表8-9所示。^(1)控制信號及片選信號IC2和IC4占用的地址空間為A0052例8-3采用譯碼器法擴展2片8KBEPROM,2片8KBRAM。EPROM選用2764,RAM選用6264。共擴展4片芯片。擴展接口電路見圖8-21。
圖8-21^例8-3采用譯碼器法擴展2片8KBEPROM,2片8KB53各存儲器地址范圍如下:表8-9可見譯碼法進行地址分配,各芯片地址空間是連續(xù)的。^^548.5.2外擴存儲器電路的工作原理及軟件設計
1.單片機片外程序區(qū)讀指令過程單片機上電復位后,PC
=
0000H,CPU就從0000H地址開始取指令,執(zhí)行程序。在取指令期間,PC地址低8位送往P0口,經(jīng)鎖存器鎖存輸出作為A0~A7地址線。PC高8位地址送往P2口,直接由P2.0~P2.4鎖存到A8~A12地址線上,P2.5~P2.7輸入給74LS139進行譯碼輸出片選。這樣,根據(jù)P2口、P0口狀態(tài)則選中了第一個程序存儲器芯片IC1(2764)的第一個單元地址0000H。然后當變?yōu)榈碗娖綍r,把0000H中的指令代碼經(jīng)P0口讀入內(nèi)部RAM中進行譯碼,從而決定進行何種操作。。
^8.5.2外擴存儲器電路的工作原理及軟件設計^55取出一個指令字節(jié)后PC自動加1,然后取第二個字節(jié),依次類推當PC
=
1FFFH時,從IC1最后一個單元取指令,然后PC
=
2000H,CPU向P2口、P0口送出2000H地址時,則選中第二個程序存儲器IC2,IC2的地址范圍為2000H~3FFFH,讀指令過程同IC1,不再贅述。2.單片機片外數(shù)據(jù)區(qū)讀/寫數(shù)據(jù)過程
例如,把片外6000H單元的數(shù)送到片內(nèi)RAM50H單元,程序如下:
MOVDPTR,#6000H
MOVXA,@DPTR MOV50H,A
^取出一個指令字節(jié)后PC自動加1,然后取第二個字節(jié),依次類推當56例如,把片內(nèi)50H單元的數(shù)據(jù)送到片外4000H單元中,程序如下:
MOVA,50H MOVDPTR,#4000H
MOVX
@DPTR,AAT89C51單片機讀寫片外數(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ū)域去。
^例如,把片內(nèi)50H單元的數(shù)據(jù)送到片外4000H單元中,程序如57DPTR指向標號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,#0 AGIN: MOV A,R0 MOVC A,@A+DPTR MOVX @R0,A INC R0
CJNE R0,#32,AGIN HERE: SJMP HERE TAB: DB……^DPTR指向標號TAB的首地址。R0既指示外部RAM的地址,588.6ATMEL89C51/89C55單片機的片內(nèi)閃爍存儲器
AT89C51/89C52/89C55是低功耗、高性能的片內(nèi)含有4KB/8KB/20KB閃爍可編程/擦除只讀存儲器,芯片內(nèi)的閃存允許在線編程或采用通用的編程器對其重復編程。8.6.189C51的性能及片內(nèi)閃爍存儲器89C51的主要性能(1)片內(nèi)有4KB可在線重復編程的閃爍存儲器(FlashMemory)(2)存儲器可循環(huán)寫入/擦除1000次。(3)存儲器數(shù)據(jù)保存時間為10年。(4)寬工作電壓范圍:Vcc可為+2.7~6V。
^8.6ATMEL89C51/89C55單片機的片內(nèi)閃爍存59(5)全靜態(tài)工作:可從0Hz~16MHz。(6)程序存儲器具有3級加密保護。(7)空閑狀態(tài)維持低功耗和掉電狀態(tài)保存存儲器內(nèi)容。下面介紹AT89C51單片機片內(nèi)閃爍存儲器的主要性能及其編程方法。AT89C51單片機的片內(nèi)程序存儲器除由閃爍存儲器取代了87C51的EPROM外,其余部分完全相同。AT89C51單片機的引腳與87C51的引腳也是完全兼容的。^(5)全靜態(tài)工作:可從0Hz~16MHz。^60AT89C51的I/O口P0、P1、P2和P3除具有與8031相同的一些性能和用途外,在對Flash編程時,P0口還可接收代碼字節(jié),但在程序校驗時需要外加上拉負載電阻。在Flash編程和程序校驗期間,P1口接收低位地址字節(jié),P2口接收高位地址位和一些控制信號,P3口也接收Flash編程和校驗用的控制信號。此時,ALE/PROG*引腳是編程脈沖輸入(PROG*)端。^AT89C51的I/O口P0、P1、P2和P3除具有與80361該芯片內(nèi)有三個加密位,其狀態(tài)可以是編程(P)或不編程(U),各狀態(tài)提供的功能見表8-11。如果加密位LB1被編程,則EA*腳的電平在復位時被采樣并鎖存。若器件在加電時不進行復位,那么該鎖存器初始化為一隨機值,并在復位有效前始終保持該值。為使器件工作正常,EA*的鎖存值必須與引腳的當前邏輯電平一致。AT89C51的三個加密位可以不被編程(U)或被編程(P),以獲得表8-11所示的特性。^該芯片內(nèi)有三個加密位,其狀態(tài)可以是編程(P)或不編程(U),62表8-11對89C51片內(nèi)的Flash存儲器編程,設計者只需在市場上購買相應的編程器。一種是購買單片機仿真開發(fā)系統(tǒng)時就帶有編程器,另一種是單獨購買編程器。開發(fā)者可按照編程器的說明進行操作,如想對寫入的內(nèi)容加密,只需按照編程器的菜單,選擇加密功能選項即可。
^表8-11^63編程器^編程器^64第8章89C51單片機擴展存儲器的設計8.1系統(tǒng)擴展結(jié)構(gòu)
AT89C51系統(tǒng)并行擴展結(jié)構(gòu)如圖8-1所示。
圖8-1^第8章89C51單片機擴展存儲器的設計圖8-1^65由圖8-1可以看出,系統(tǒng)擴展主要包括存儲器擴展和I/O接口部件擴展。外部存儲器擴展又包括程序存儲器擴展和數(shù)據(jù)存儲器擴展。AT89C51采用的是哈佛結(jié)構(gòu)。擴展后,系統(tǒng)形成了兩個并行的外部存儲器空間。89C51單片機采用并行總線結(jié)構(gòu),大大增加了系統(tǒng)的靈活性,使擴展易于實現(xiàn),各擴展部件只要符合總線規(guī)范,就能很方便地接入系統(tǒng)。由于系統(tǒng)擴展是通過總線把AT89C51與各擴展部件連接起來。因此,要進行系統(tǒng)擴展首先要構(gòu)造系統(tǒng)總線。^由圖8-1可以看出,系統(tǒng)擴展主要包括存儲器擴展和I/O接口部66系統(tǒng)總線按功能分為三組,如圖8-1所示。
(1)地址總線(AdressBus,AB)地址總線用于傳送單片機發(fā)出的地址信號,以便進行存儲單元和I/O接口芯片中的寄存器選擇。地址總線是單向傳輸?shù)摹#?)數(shù)據(jù)總線(DataBus,DB)數(shù)據(jù)總線用于在單片機與存儲器之間或與I/O端口之間傳送數(shù)據(jù)。數(shù)據(jù)總線是雙向的,可以進行兩個方向的傳送。(3)控制總線(ControlBus,CB)控制總線實際上就是單片機發(fā)出的各種控制信號線。下面討論如何構(gòu)造系統(tǒng)三總線
^系統(tǒng)總線按功能分為三組,如圖8-1所示。^671.以P0口作為低8位地址/數(shù)據(jù)總線AT89C51由于受引腳數(shù)目的限制,數(shù)據(jù)線和低8位地址線復用。為了將它們分離出來,需要外加地址鎖存器,從而構(gòu)成與一般CPU相類似的片外三總線,見圖8-2。
^1.以P0口作為低8位地址/數(shù)據(jù)總線^68圖8-2^圖8-2^692.以P2口的口線作為高位地址線P2口的全部8位口線用作高位地址線,再加上P0口經(jīng)地址鎖存器提供的低8位地址,便形成了完整的16位地址總線(見圖8-2),使尋址范圍達到64KB。3.控制信號線除了地址線和數(shù)據(jù)線之外,還要有系統(tǒng)的控制總線。這些信號有的就是單片機引腳的第一功能信號,有的則是P3口第二功能信號。其中包括:(1)PSEN*信號作為外擴程序存儲器的讀選通控制信號。^2.以P2口的口線作為高位地址線^70(2)RD*和WR*信號作為外擴數(shù)據(jù)存儲器和I/O接口的讀、寫選通控制信號。(3)ALE信號作為低8位地址的鎖存控制信號。(4)EA*信號作為內(nèi)、外程序存儲器的選擇控制信號。可看出,盡管89C51單片機有4個并行的I/O口,共32條口線,但由于系統(tǒng)擴展的需要,真正作為數(shù)字I/O使用的,就剩下P1口和P3口的部分口線了。8.2地址空間分配和外部地址鎖存器8.2.1存儲器地址空間分配
^(2)RD*和WR*信號作為外擴數(shù)據(jù)存儲器和I/O接口的讀、71如何把外部各自的64KB空間分配給各個程序存儲器、數(shù)據(jù)存儲器芯片,并且使程序存儲器的各個芯片之間,數(shù)據(jù)存儲器各芯片之間,為避免發(fā)生數(shù)據(jù)沖突,一個存儲器單元對應一個地址,這就是存儲器的地址空間的分配問題。在外擴的多片存儲器芯片中,AT89C51要完成這種功能,必須進行兩種選擇:一是必須選中該存儲器芯片(或I/O接口芯片),這稱為“片選”,只有被“選中”的存儲器芯片才能被AT89C51讀出或?qū)懭霐?shù)據(jù)。為了片選的需要,每個存儲器芯片都有片選信號引腳,二是在“片選”的基礎(chǔ)上再選擇該芯片的某一單元,稱為“單元選擇”。^如何把外部各自的64KB空間分配給各個程序存儲器、數(shù)據(jù)存儲器72常用的存儲器地址空間分配方法有兩種:線性選擇法(簡稱線選法)和地址譯碼法(簡稱譯碼法),下面分別介紹。1.線選法直接利用系統(tǒng)的高位地址線作為存儲器芯片(或I/O接口芯片)的“片選”控制信號。為此,只需要把用到的高位地址線與存儲器芯片的“片選”端直接連接即可。線選法的優(yōu)點是電路簡單,不需要另外增加地址譯碼器硬件電路,體積小,成本低。缺點是可尋址的芯片數(shù)目受到限制。另外,地址空間不連續(xù),每個存儲單元的地址不唯一,不^常用的存儲器地址空間分配方法有兩種:線性選擇法(簡稱線選法)73能充分有效地利用存儲空間,這會給程序設計帶來一些不便,只適用于外擴芯片數(shù)目不多的單片機系統(tǒng)的存儲器擴展。2.譯碼法使用譯碼器對89C51的高位地址進行譯碼,將譯碼器的譯碼輸出作為存儲器芯片的片選信號。是最常用的地址空間分配的方法,它能有效地利用存儲器空間,適用于多芯片的存儲器擴展。常用的譯碼器芯片有74LS138(3-8譯碼器)74LS139(雙2-4譯碼器)74LS154(4-16譯碼器)。若全部高位地址線都參加譯碼,稱為全譯碼;若僅部分高位地址線參加譯碼,稱^能充分有效地利用存儲空間,這會給程序設計帶來一些不便,只適用74為部分譯碼。部分譯碼存在著部分存儲器地址空間相重疊的情況。兩種常用的譯碼器芯片。(1)74LS13874LS138是3-8譯碼器,有3個數(shù)據(jù)輸入端,經(jīng)譯碼產(chǎn)生8種狀態(tài)。其引腳如圖8-3所示,真值表如表8-1所示。由表8-1可見,當譯碼器的輸入為某一固定編碼時,其輸出僅有一個固定的引腳輸出為低電平,其余的為高電平。而輸出為低電平的引腳就作為某一存儲器芯片的片選端的控制信號。^為部分譯碼。部分譯碼存在著部分存儲器地址空間相重疊的情況。^75圖8-3^圖8-3^76
表8-174LS138譯碼器真值表
輸入輸出
G1G2A*G2B*CBAY7*Y6*Y5*Y4*Y3*Y2*Y1*Y0*^ 表8-174LS138譯碼器真值表77
(2)74LS13974LS139是雙2-4譯碼器。兩個譯碼器完全獨立,分別有各自的數(shù)據(jù)輸入端、譯碼狀態(tài)輸出端以及數(shù)據(jù)輸入允許端。其引腳如圖8-4所示,真值表如表8-2所示(見P138)。圖8-4^(2)74LS139圖8-4^78^^79下面以74LS138為例,介紹如何進行地址分配。例要擴8片8KB的RAM6264,如何通過74LS138把64KB空間分配給各個芯片?64KB地址空間的分配如圖8-5所示。圖8-5^下面以74LS138為例,介紹如何進行地址分配。圖8-5^80采用全地址譯碼方式,單片機發(fā)地址碼時,每次只能選中一個存儲單元。同類存儲器間不會產(chǎn)生地址重疊的問題。如果用74LS138把64K空間全部劃分為每塊4KB,如何劃分呢?由于4KB空間需要12條地址線進行“單元選擇”,而譯碼器的輸入有3條地址線(P2.6~P2.4),P2.7沒有參加譯碼,P2.7發(fā)出的0或1決定了選擇64KB存儲器空間的前32KB還是后32KB,由于P2.7沒有參加譯碼,就不是全譯碼方式,這樣前后兩個32KB空間就重疊了。那么,這32KB空間利用74LS138譯碼器可劃分為8個4KB空間。如果把P2.7通過一個非門與74LS138譯碼器的G1端連接起來,如圖8-6所示,就不會發(fā)生兩個32KB空間重疊的問題了。^采用全地址譯碼方式,單片機發(fā)地址碼時,每次只能選中一個存儲單818.2.2外部地址鎖存器地址鎖存器芯片:74LS373、8282、74LS573等。1.鎖存器74LS373帶有三態(tài)門的8D鎖存器,其引腳及內(nèi)部結(jié)構(gòu)如圖8-7和圖8-8。89C51與74LS373的連接如圖8-9所示。圖8-6^8.2.2外部地址鎖存器圖8-6^82引腳說明如下:D7~D0:8位數(shù)據(jù)輸入線。Q7~Q0:8位數(shù)據(jù)輸出線。G: 數(shù)據(jù)輸入鎖存選通信號,
圖8-7圖8-8^引腳說明如下:圖8-7圖8-8^83OE*:
數(shù)據(jù)輸出允許信號圖8-9^OE*:數(shù)據(jù)輸出允許信號圖8-9^8474LS373功能如表8-3所示。表8-374LS373功能表OE*
G D Q
0 1 1 1 0 1 0 0 0 0 × 不變 1 × × 高阻態(tài) ^74LS373功能如表8-3所示。表8-374LS373852.鎖存器74LS573
輸入的D端和輸出的Q端依次排在芯片的兩側(cè),為繪制印刷電路板時的布線提供了方便。圖8-10^2.鎖存器74LS573圖8-10^8674LS573的各引腳說明如下:D7~D0:8位數(shù)據(jù)輸入線。Q7~Q0:8位數(shù)據(jù)輸出線。G
:數(shù)據(jù)輸入鎖存選通信號,該引腳與74LS373的G端功能相同。OE*:數(shù)據(jù)輸出允許信號,低電平有效。當該信號為低電平時,三態(tài)門打開,鎖存器中數(shù)據(jù)輸出到數(shù)據(jù)輸出線。當該信號為高電平時,輸出線為高阻態(tài)。^74LS573的各引腳說明如下:^878.3程序存儲器EPROM的擴展
采用只讀存儲器,非易失性。(1)掩膜ROM在制造過程中編程。成本較高,因此只適合于大批量生產(chǎn)。(2)可編程ROM(PROM)用獨立的編程器寫入。但PROM只能寫入一次,且不能再修改。(3)EPROM電信號編程,紫外線擦除的只讀存儲器芯片。(4)E2PROM(EEPROM)電信號編程,電信號擦除的ROM芯片。讀寫操作與RAM幾乎沒有什么差別,只是寫入的速度慢一些。但斷電后能夠保存信息。(5)FlashROM又稱閃爍存儲器,簡稱閃存。大有取代E2PROM的趨勢。^8.3程序存儲器EPROM的擴展^88目前許多公司生產(chǎn)的以8051為內(nèi)核的單片機,在芯片內(nèi)部大多集成了數(shù)量不等的FlashROM。例如,美國ATMEL公司生產(chǎn)的與51系列單片機兼容的產(chǎn)品89C2051/89C51/89C52/89C55,片內(nèi)分別有2KB/4KB/8KB/20KB的FlashROM,來作為EPROM使用。對于這類單片機,在片內(nèi)的FlashROM滿足要求的情況下,擴展外部程序存儲器的工作就可省去。^目前許多公司生產(chǎn)的以8051為內(nèi)核的單片機,在芯片內(nèi)部大多集898.3.1常用EPROM芯片典型芯片是27系列產(chǎn)品,例如,2764(8KB×8)、27128(16KB×8)、27256(32KB×8)、27512(64KB×8)。“27”后面的數(shù)字表示其位存儲容量。隨著大規(guī)模集成電路技術(shù)的發(fā)展,大容量存儲器芯片的產(chǎn)量劇增,售價不斷下降,其性價比明顯增高,而且由于有些廠家已停止生產(chǎn)小容量的芯片,使市場上某些小容量芯片的價格反而比大容量芯片還貴。所以,在擴展程序存儲器設計時,應盡量采用大容量芯片。^8.3.1常用EPROM芯片^901.常用的EPROM芯片27系列EPROM芯片的引腳如圖8-11所示,參數(shù)見表8-4(P143,略)。圖8-11中的引腳功能如下:A0~A15:地址線引腳。數(shù)目決定存儲容量來定,用來進行單元選擇。D7~D0:數(shù)據(jù)線引腳CE*:片選輸入端OE*:輸出允許控制端PGM*:編程時,加編程脈沖的輸入端^1.常用的EPROM芯片^91Vpp:編程時,編程電壓(+12V或+25V)輸入端Vcc:+5V,芯片的工作電壓。
GND:數(shù)字地。NC:無用端
表8-4所示為27系列EPROM芯片的技術(shù)參數(shù),其中VCC是芯片供電電壓,Vpp是編程電壓,Im為最大靜態(tài)電流,Is為維持電流,TRM為最大讀出時間。^Vpp:編程時,編程電壓(+12V或+25V)輸入端^92圖8-11^圖8-11^93^^942.EPROM芯片的工作方式5種工作方式如表8-5所示。(1)讀出方式片選控制線為低,同時輸出允許控制線為低,Vpp為+5V,指定地址單元的內(nèi)容從D7~D0上讀出。
(2)未選中方式片選控制線為高電平。(3)編程方式Vpp端加上規(guī)定高壓,CE*和OE*端加合適電平(不同的芯片要求不同),就能將數(shù)據(jù)線上的數(shù)據(jù)寫入到指定的地址單元。(4)編程校驗方式
^2.EPROM芯片的工作方式^95(5)編程禁止方式輸出呈高阻狀態(tài),不寫入程序。^(5)編程禁止方式^968.3.2程序存儲器的操作時序1.訪問程序存儲器的控制信號(1)ALE(2)PSEN*(3)EA*如果指令是從片外EPROM中讀取,ALE用于低8位地址鎖存,PSEN*接外擴EPROM的OE*腳。P0口:分時低8位地址總線和數(shù)據(jù)總線,P2口:高8位地址線。2.操作時序
^8.3.2程序存儲器的操作時序^97(1)應用系統(tǒng)中無片外RAM圖8-12(a)^(1)應用系統(tǒng)中無片外RAM圖8-12(a)^98(2)應用系統(tǒng)中接有片外RAM圖8-12(b)^(2)應用系統(tǒng)中接有片外RAM圖8-12(b)^99由圖8-12(b)可看出:(1)將ALE用作定時脈沖輸出時,執(zhí)行一次MOVX指令就會丟失一個脈沖。(2)只有在執(zhí)行MOVX指令時的第二個機器周期期間,地址總線才由數(shù)據(jù)存儲器使用。8.3.3AT89C51與EPROM的接口電路設計
1.硬件接口電路設計時,由于EPROM在正常使用中只能讀出,不能寫入,故EPROM芯片沒有寫入控制腳,只有讀出控制腳,記為OE*,它與89C51單片機的PSEN*相連,地址線、數(shù)據(jù)線分別與89C51的地址線、數(shù)據(jù)線相連,片選端的控制可采用線選法或譯碼法。圖8-13為外擴一片27128的接口電路圖。^由圖8-12(b)可看出:^100圖8-13^圖8-13^1013.使用多片EPROM的擴展電路AT89C51擴展4片27128。圖8-14^3.使用多片EPROM的擴展電路圖8-14^102圖8-14中的片選控制信號由譯碼器產(chǎn)生。4片27128各自所占的地址空間,請讀者自己分析。
8.4靜態(tài)數(shù)據(jù)存儲器的擴展在單片機應用系統(tǒng)中,外擴的數(shù)據(jù)存儲器都采用靜態(tài)數(shù)據(jù)存儲器(SRAM),所以只討論SRAM與89C51的接口。所擴展的數(shù)據(jù)存儲器空間地址由P2口提供高8位地址,P0口分時提供低8位地址和8位雙向數(shù)據(jù)總線。片外數(shù)據(jù)存儲器RAM的讀和寫由89C51的RD*(P3.7)和WR*(P3.6)信號控制,而片外程序存儲器EPROM的輸出允許端(OE*)由89C51的程序存儲器讀選通信號PSEN*控制。盡管與EPROM的地址空間范圍都是相同的,但由于控制信號不同,故不會發(fā)生總線沖突。^圖8-14中的片選控制信號由譯碼器產(chǎn)生。4片27128各自所1038.4.1常用的靜態(tài)RAM(SRAM)芯片典型型號有:6116、6264、62128、62256。+5V電源供電,雙列直插封裝,6116為24引腳封裝,6264、62128、62256為28引腳封裝,引腳如圖8-15。各引腳功能:A0~A14:地址輸入線。D0~D7:雙向三態(tài)數(shù)據(jù)線。CE*:片選信號輸入。對于6264芯片,當26腳(CS)為高電平時,且CE*為低電平時才選中該片。OE*:讀選通信號輸入線。WE*:寫允許信號輸入線,低電平有效。^8.4.1常用的靜態(tài)RAM(SRAM)芯片^104圖8-15^圖8-15^105Vcc:工作電源+5VGND:地工作方式有讀出、寫入、維持三種,這些工作方式的操作控制如表8-6(P148)。
^Vcc:工作電源+5V^1068.4.2外擴數(shù)據(jù)存儲器的讀寫操作時序1.讀片外RAM操作時序
圖8-16^8.4.2外擴數(shù)據(jù)存儲器的讀寫操作時序圖8-16^1072.寫片外RAM操作時序
寫是CPU主動把數(shù)據(jù)送上P0口總線。故在時序上,CPU先向P0口總線上送完8位地址后,在S3狀態(tài)就將數(shù)據(jù)送到P0口總線。
圖8-17^2.寫片外RAM操作時序圖8-17^1088.4.3AT89C51與RAM的接口電路設計
圖8-18為線選法擴展外部數(shù)據(jù)存儲器的電路。
圖8-18^8.4.3AT89C51與RAM的接口電路設計圖8-109地址線為A0~A12,故8031剩余地址線為三根。用線選法可擴展3片6264。3片6264對應的存儲器空間如表8-7。表8-7^地址線為A0~A12,故8031剩余地址線為三根。用線選法可110譯碼選通法擴展,如圖8-19所示。圖8-19^譯碼選通法擴展,如圖8-19所示。圖8-19^111各62128芯片的地址分配見表8-8。
例8-1編寫程序?qū)⑵鈹?shù)據(jù)存儲器中5000H~50FFH單元全部清零^各62128芯片的地址分配見表8-8。^112方法1:用DPTR作為數(shù)據(jù)區(qū)地址指針,同時使用字節(jié)計數(shù)器。
MOVDPTR,#5000H ;設置數(shù)據(jù)塊指針的初值 MOVR7,#00H ;設置塊長度計數(shù)器初值 CLRALOOP:MOVX@DPTR,A ;把某一單元清零 INCDPTR ;地址指針加1
DJNZR7,LOOP ;數(shù)據(jù)塊長度減1,若不為 ;0則繼續(xù)清零HERE:SJMPHERE ;執(zhí)行完畢,原地踏步^方法1:^113方法2:用DPTR作為數(shù)據(jù)區(qū)地址指針,但不使用字節(jié)計數(shù)器,而是比較特征地址。 MOVDPTR,#5000H CLRALOOP: MOVX@DPTR,A INCDPTR MOVR7,DPL
CJNER7,#0,LOOP;與末地址+1比較HERE: SJMPHERE^方法2:^1148.5EPROM和RAM的綜合擴展8.5.1綜合擴展的硬件接口電路例8-2
采用線選法擴展2片8KB的RAM和2片8KB的EPROM。RAM選6264,EPROM選2764。擴展接口電路見圖8-20。
圖8-20^8.5EPROM和RAM的綜合擴展圖8-20^115(1)控制信號及片選信號IC2和IC4占用地址空間為2000H~3FFFH共8KB。同理IC1、IC3地址范圍4000H~5FFFH(P2.6=1、P2.5=0、P2.7=0)。線選法地址不連續(xù),地址空間利用不充分。(2)各芯片地址空間分配IC2和IC4占用的地址空間為A000H~BFFFH共8KB。同理IC1、IC3的地址范圍為C000H~DFFFH。4片存儲器各自所占的地址空間如表8-9所示。^(1)控制信號及片選信號IC2和IC4占用的地址空間為A00116例8-3采用譯碼器法擴展2片8KBEPROM,2片8KBRAM。EPROM選用2764,RAM選用6264。共擴展4片芯片。擴展接口電路見圖8-21。
圖8-21^例8-3采用譯碼器法擴展2片8KBEPROM,2片8KB117各存儲器地址范圍如下:表8-9可見譯碼法進行地址分配,各芯片地址空間是連續(xù)的。^^1188.5.2外擴存儲器電路的工作原理及軟件設計
1.單片機片外程序區(qū)讀指令過程單片機上電復位后,PC
=
0000H,CPU就從0000H地址開始取指令,執(zhí)行程序。在取指令期間,PC地址低8位送往P0口,經(jīng)鎖存器鎖存輸出作為A0~A7地址線。PC高8位地址送往P2口,直接由P2.0~P2.4鎖存到A8~A12地址線上,P2.5~P2.7輸入給74LS139進行譯碼輸出片選。這樣,根據(jù)P2口、P0口狀態(tài)則選中了第一個程序存儲器芯片IC1(2764)的第一個單元地址00
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣播電視設備用網(wǎng)絡通信模塊考核試卷
- 城市垃圾填埋場規(guī)劃考核試卷
- 文化創(chuàng)意產(chǎn)業(yè)的資本運作與市場發(fā)展動態(tài)考核試卷
- 意外傷害保險在旅游業(yè)的風險管理考核試卷
- 乳飲料的無乳糖配方設計與市場潛力考核試卷
- 文具企業(yè)產(chǎn)品線規(guī)劃考核試卷
- 葡萄加工售賣合同范本
- 旅游門票售賣合同范本
- 土建付款合同范本
- 第四季度營銷工作重點計劃及時間表安排方案
- 2025年幼兒園膳食工作計劃
- 《基于二維激光SLAM的AGV導航系統(tǒng)設計》
- 藥劑學第9版課件:第一章-緒論
- 《下載-綜合布線》課件
- 電化學儲能系統(tǒng)測試操作方法
- (高清版)DB43∕T 1588.28-2019 小吃湘菜 第28部分:武岡空餅
- 第六單元 共同面對的全球性問題 知識清單
- 老年病科重點??平ㄔO
- 工程投標文件范本完整版
- 小學二年級開學家長會課件2024-2025學年
- 語文跨學科合作:語文與數(shù)學的融合
評論
0/150
提交評論