版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
單片機原理與應(yīng)用設(shè)計[張毅剛等編著][電子教案]1/60第8章89C51單片機擴展存放器設(shè)計8.1系統(tǒng)擴展結(jié)構(gòu)
89C51系統(tǒng)擴展結(jié)構(gòu)如圖8-1所表示。
圖8-12/60由圖8-1能夠看出,系統(tǒng)擴展主要包含存放器擴展和I/O接口部件擴展。外部存放器擴展又包含程序存放器擴展和數(shù)據(jù)存放器擴展。89C51采取是哈佛結(jié)構(gòu)。擴展后,系統(tǒng)形成了兩個并行外部存放器空間。89C51單片機采取并行總線結(jié)構(gòu),大大增加了系統(tǒng)靈活性,使擴展易于實現(xiàn),各擴展部件只要符合總線規(guī)范,就能很方便地接入系統(tǒng)。因為系統(tǒng)擴展是以89C51單片機為關(guān)鍵,經(jīng)過總線把89C51與各擴展部件連接起來。所以,要進(jìn)行系統(tǒng)擴展首先要結(jié)構(gòu)系統(tǒng)總線。3/608.2系統(tǒng)總線及總線結(jié)構(gòu)按功效通常把系統(tǒng)總線分為三組,如圖8-1所表示。1.地址總線(AdressBus,AB)地址總線用于傳送單片機發(fā)出地址信號,方便進(jìn)行存放單元和I/O接口芯片中存放器選擇。地址總線是單向傳輸。2.?dāng)?shù)據(jù)總線(DataBus,DB)數(shù)據(jù)總線用于在單片機與存放器之間或與I/O端口之間傳送數(shù)據(jù)。數(shù)據(jù)總線是雙向,能夠進(jìn)行兩個方向傳送。3.控制總線(ControlBus,CB)控制總線實際上就是單片機發(fā)出各種控制信號線。8.2.1結(jié)構(gòu)系統(tǒng)總線
4/60系統(tǒng)擴展首要問題:結(jié)構(gòu)系統(tǒng)總線。系統(tǒng)總線上“掛”存放器芯片或I/O接口芯片,“掛”存放器芯片就是存放器擴展,“掛”I/O接口芯片就是I/O擴展。1.以P0口作為低8位地址/數(shù)據(jù)總線89C51因為受引腳數(shù)目標(biāo)限制,數(shù)據(jù)線和低8位地址線復(fù)用。為了將它們分離出來,需要外加地址鎖存器,從而組成與普通CPU相類似片外三總線,見圖8-2。
5/60圖8-26/602.以P2口口線作為高位地址線P2口全部8位口線用作高位地址線,再加上P0口經(jīng)地址鎖存器提供低8位地址,便形成了完整16位地址總線(見圖8-2),使尋址范圍到達(dá)64KB。3.控制信號線除了地址線和數(shù)據(jù)線之外,還要有系統(tǒng)控制總線。這些信號有就是單片機引腳第一功效信號,有則是P3口第二功效信號。其中包含:(1)PSEN*信號作為外擴程序存放器讀選通控制信號。7/60(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存放器地址空間分配
8/60怎樣把外部各自64KB空間分配給各個程序存放器、數(shù)據(jù)存放器芯片,而且使程序存放器各個芯片之間,數(shù)據(jù)存放器各芯片之間,為防止發(fā)生數(shù)據(jù)沖突,一個存放器單元對應(yīng)一個地址,這就是存放器地址空間分配問題。在外擴多片存放器芯片中,89C51要完成這種功效,必須進(jìn)行兩種選擇:一是必須選中該存放器芯片(或I/O接口芯片),這稱為“片選”,只有被“選中”存放器芯片才能被89C51讀出或?qū)懭霐?shù)據(jù)。為了片選需要,每個存放器芯片都有片選信號引腳,二是在“片選”基礎(chǔ)上再選擇該芯片某一單元,稱為“單元選擇”。9/60慣用存放器地址空間分配方法有兩種:線性選擇法(簡稱線選法)和地址譯碼法(簡稱譯碼法),下面分別介紹。1.線選法直接利用系統(tǒng)高位地址線作為存放器芯片(或I/O接口芯片)“片選”控制信號。為此,只需要把用到高位地址線與存放器芯片“片選”端直接連接即可。線選法優(yōu)點是電路簡單,不需要另外增加地址譯碼器硬件電路,體積小,成本低。缺點是可尋址芯片數(shù)目受到限制。另外,地址空間不連續(xù),每個存放單元地址不唯一,不10/60能充分有效地利用存放空間,這會給程序設(shè)計帶來一些不便,只適合用于外擴芯片數(shù)目不多單片機系統(tǒng)存放器擴展。2.譯碼法使用譯碼器對89C51高位地址進(jìn)行譯碼,將譯碼器譯碼輸出作為存放器芯片片選信號。是最慣用地址空間分配方法,它能有效地利用存放器空間,適合用于多芯片存放器擴展。慣用譯碼器芯片有74LS138(3-8譯碼器)74LS139(雙2-4譯碼器)74LS154(4-16譯碼器)。若全部高位地址線都參加譯碼,稱為全譯碼;若僅部分高位地址線參加譯碼,稱11/60為部分譯碼。部分譯碼存在著部分存放器地址空間相重合情況。兩種慣用譯碼器芯片。(1)74LS13874LS138是3-8譯碼器,有3個數(shù)據(jù)輸入端,經(jīng)譯碼產(chǎn)生8種狀態(tài)。其引腳如圖8-3所表示,真值表如表8-1所表示。由表8-1可見,當(dāng)譯碼器輸入為某一固定編碼時,其輸出僅有一個固定引腳輸出為低電平,其余為高電平。而輸出為低電平引腳就作為某一存放器芯片片選端控制信號。12/60圖8-313/60
表8-174LS138譯碼器真值表
輸入輸出
G1G2A*G2B*CBAY7*Y6*Y5*Y4*Y3*Y2*Y1*Y0*14/60
(2)74LS13974LS139是雙2-4譯碼器。兩個譯碼器完全獨立,分別有各自數(shù)據(jù)輸入端、譯碼狀態(tài)輸出端以及數(shù)據(jù)輸入允許端。其引腳如圖8-4所表示,真值表如表8-2所表示(見P138)。圖8-415/60下面以74LS138為例,介紹怎樣進(jìn)行地址分配。例要擴8片8KBRAM6264,怎樣經(jīng)過74LS138把64KB空間分配給各個芯片?64KB地址空間分配如圖8-5所表示。圖8-516/60采取全地址譯碼方式,單片機發(fā)地址碼時,每次只能選中一個存放單元。同類存放器間不會產(chǎn)生地址重合問題。假如用74LS138把64K空間全部劃分為每塊4KB,怎樣劃分呢?因為4KB空間需要12條地址線進(jìn)行“單元選擇”,而譯碼器輸入有3條地址線(P2.6~P2.4),P2.7沒有參加譯碼,P2.7發(fā)出0或1決定了選擇64KB存放器空間前32KB還是后32KB,因為P2.7沒有參加譯碼,就不是全譯碼方式,這么前后兩個32KB空間就重合了。那么,這32KB空間利用74LS138譯碼器可劃分為8個4KB空間。假如把P2.7經(jīng)過一個非門與74LS138譯碼器G1端連接起來,如圖8-6所表示,就不會發(fā)生兩個32KB空間重合問題了。17/608.2.2外部地址鎖存器地址鎖存器芯片:74LS373、8282、74LS573等。1.鎖存器74LS373帶有三態(tài)門8D鎖存器,其引腳及內(nèi)部結(jié)構(gòu)如圖8-7和圖8-8。89C51與74LS373連接如圖8-9所表示。圖8-618/60引腳說明以下:D7~D0:8位數(shù)據(jù)輸入線。Q7~Q0:8位數(shù)據(jù)輸出線。G: 數(shù)據(jù)輸入鎖存選通信號,
圖8-7圖8-819/60OE*:數(shù)據(jù)輸出允許信號圖8-920/6074LS373功效如表8-3所表示。表8-374LS373功效表OE*
G D Q
0 1 1 1 0 1 0 0 0 0 × 不變 1 × × 高阻態(tài) 21/602.鎖存器74LS573
輸入D端和輸出Q端依次排在芯片兩側(cè),為繪制印刷電路板時布線提供了方便。圖8-1022/6074LS573各引腳說明以下:D7~D0:8位數(shù)據(jù)輸入線。Q7~Q0:8位數(shù)據(jù)輸出線。G
:數(shù)據(jù)輸入鎖存選通信號,該引腳與74LS373G端功效相同。OE*:數(shù)據(jù)輸出允許信號,低電平有效。當(dāng)該信號為低電平時,三態(tài)門打開,鎖存器中數(shù)據(jù)輸出到數(shù)據(jù)輸出線。當(dāng)該信號為高電平時,輸出線為高阻態(tài)。23/608.3程序存放器EPROM擴展
采取只讀存放器,非易失性。(1)掩膜ROM在制造過程中編程。成本較高,所以只適合于大批量生產(chǎn)。(2)可編程ROM(PROM)用獨立編程器寫入。但PROM只能寫入一次,且不能再修改。(3)EPROM電信號編程,紫外線擦除只讀存放器芯片。(4)E2PROM(EEPROM)電信號編程,電信號擦除ROM芯片。讀寫操作與RAM幾乎沒有什么差異,只是寫入速度慢一些。但斷電后能夠保留信息。(5)FlashROM又稱閃爍存放器,簡稱閃存。大有取代E2PROM趨勢。24/60當(dāng)前許多企業(yè)生產(chǎn)以8051為內(nèi)核單片機,在芯片內(nèi)部大多集成了數(shù)量不等FlashROM。比如,美國ATMEL企業(yè)生產(chǎn)與51系列單片機兼容產(chǎn)品89C2051/89C51/89C52/89C55,片內(nèi)分別有2KB/4KB/8KB/20KBFlashROM,來作為EPROM使用。對于這類單片機,在片內(nèi)FlashROM滿足要求情況下,擴展外部程序存放器工作就可省去。25/608.3.1慣用EPROM芯片介紹經(jīng)典芯片是27系列產(chǎn)品,比如,2764(8KB×8)、27128(16KB×8)、27256(32KB×8)、27512(64KB×8)。“27”后面數(shù)字表示其位存放容量。伴隨大規(guī)模集成電路技術(shù)發(fā)展,大容量存放器芯片產(chǎn)量劇增,售價不停下降,其性價比顯著增高,而且因為有些廠家已停頓生產(chǎn)小容量芯片,使市場上一些小容量芯片價格反而比大容量芯片還貴。所以,在擴展程序存放器設(shè)計時,應(yīng)盡可能采取大容量芯片。26/601.慣用EPROM芯片27系列EPROM芯片引腳如圖8-11所表示,參數(shù)見表8-4(P143,略)。圖8-11中引腳功效以下:A0~A15:地址線引腳。數(shù)目決定存放容量來定,用來進(jìn)行單元選擇。D7~D0:數(shù)據(jù)線引腳CE*:片選輸入端OE*:輸出允許控制端PGM*:編程時,加編程脈沖輸入端27/60Vpp:編程時,編程電壓(+12V或+25V)輸入端Vcc:+5V,芯片工作電壓。GND:數(shù)字地。NC:無用端
28/60圖8-1129/602.EPROM芯片工作方式5種工作方式如表8-5所表示。(1)讀出方式片選控制線為低,同時輸出允許控制線為低,Vpp為+5V,指定地址單元內(nèi)容從D7~D0上讀出。(2)未選中方式片選控制線為高電平。(3)編程方式Vpp端加上要求高壓,CE*和OE*端加適當(dāng)電平(不一樣芯片要求不一樣),就能將數(shù)據(jù)線上數(shù)據(jù)寫入到指定地址單元。(4)編程校驗方式
30/60(5)編程禁止方式輸出呈高阻狀態(tài),不寫入程序。8.3.2程序存放器操作時序1.訪問程序存放器控制信號(1)ALE(2)PSEN*(3)EA*假如指令是從片外EPROM中讀取,ALE用于低8位地址鎖存,PSEN*接外擴EPROMOE*腳。P0口:分時低8位地址總線和數(shù)據(jù)總線,P2口:高8位地址線。2.操作時序
31/60(1)應(yīng)用系統(tǒng)中無片外RAM圖8-12(a)32/60(2)應(yīng)用系統(tǒng)中接有片外RAM圖8-12(b)33/60由圖8-12(b)可看出:(1)將ALE用作定時脈沖輸出時,執(zhí)行一次MOVX指令就會丟失一個脈沖。(2)只有在執(zhí)行MOVX指令時第二個機器周期期間,地址總線才由數(shù)據(jù)存放器使用。8.3.389C51與EPROM接口電路設(shè)計
1.硬件接口電路設(shè)計時,因為EPROM在正常使用中只能讀出,不能寫入,故EPROM芯片沒有寫入控制腳,只有讀出控制腳,記為OE*,它與89C51單片機PSEN*相連,地址線、數(shù)據(jù)線分別與89C51地址線、數(shù)據(jù)線相連,片選端控制可采取線選法或譯碼法。圖8-13為外擴一片27128接口電路圖。34/60圖8-1335/603.使用多片EPROM擴展電路89C51擴展4片27128。圖8-1436/60圖8-14中片選控制信號由譯碼器產(chǎn)生。4片27128各自所占地址空間,請讀者自己分析。
8.4靜態(tài)數(shù)據(jù)存放器擴展在單片機應(yīng)用系統(tǒng)中,外擴數(shù)據(jù)存放器都采取靜態(tài)數(shù)據(jù)存放器(SRAM),所以只討論SRAM與89C51接口。所擴展數(shù)據(jù)存放器空間地址由P2口提供高8位地址,P0口分時提供低8位地址和8位雙向數(shù)據(jù)總線。片外數(shù)據(jù)存放器RAM讀和寫由89C51RD*(P3.7)和WR*(P3.6)信號控制,而片外程序存放器EPROM輸出允許端(OE*)由89C51程序存放器讀選通信號PSEN*控制。盡管與EPROM地址空間范圍都是相同,但因為控制信號不一樣,故不會發(fā)生總線沖突。37/608.4.1慣用靜態(tài)RAM(SRAM)芯片經(jīng)典型號有:6116、6264、62128、62256。+5V電源供電,雙列直插封裝,6116為24引腳封裝,6264、62128、62256為28引腳封裝,引腳如圖8-15。各引腳功效:A0~A14:地址輸入線。D0~D7:雙向三態(tài)數(shù)據(jù)線。CE*:片選信號輸入。對于6264芯片,當(dāng)26腳(CS)為高電平時,且CE*為低電平時才選中該片。OE*:讀選通信號輸入線。WE*:寫允許信號輸入線,低電平有效。38/60圖8-1539/60Vcc:工作電源+5VGND:地工作方式有讀出、寫入、維持三種,這些工作方式操作控制如表8-6(P148)。8.4.2外擴數(shù)據(jù)存放器讀寫操作時序1.讀片外RAM操作時序
圖8-1640/602.寫片外RAM操作時序
寫是CPU主動把數(shù)據(jù)送上P0口總線。故在時序上,CPU先向P0口總線上送完8位地址后,在S3狀態(tài)就將數(shù)據(jù)送到P0口總線。
圖8-1741/608.4.389C51與RAM接口電路設(shè)計
圖8-18為線選法擴展外部數(shù)據(jù)存放器電路。
圖8-1842/60地址線為A0~A12,故8031剩下地址線為三根。用線選法可擴展3片6264。3片6264對應(yīng)存放器空間如表8-7。表8-743/60譯碼選通法擴展,如圖8-19所表示。圖8-1944/60各62128芯片地址分配見表8-9。
表8-9各片62128地址分配
P2.6P2.7譯碼輸出選中芯片地址范圍存放容量
00YO*IC10000H-3FFFH16K01Y1*IC24000H-7FFFH16K10Y2*IC38000H-BFFFH16K11Y3*IC4C000H-FFFFH16K
例8-1編寫程序?qū)⑵鈹?shù)據(jù)存放器中5000H~50FFH單元全部清零45/60方法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í)行完成,原地踏步46/60方法2:用DPTR作為數(shù)據(jù)區(qū)地址指針,但不使用字節(jié)計數(shù)器,而是比較特征地址。 MOVDPTR,#5000H CLRALOOP: MOVX@DPTR,A INCDPTR MOVR7,DPL
CJNER7,#0,LOOP;與末地址+1比較HERE: SJMPHERE47/608.6EPROM和RAM綜合擴展8.6.1綜合擴展硬件接口電路例8-2采取線選法擴展2片8KBRAM和2片8KBEPROM。RAM選6264,EPROM選2764。擴展接口電路見圖8-20。圖8-2048/60(1)控制信號及片選信號IC2和IC4占用地址空間為H~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所表示。49/60例8-3采取譯碼器法擴展2片8KBEPROM,2片8KBRAM。EPROM選取2764,RAM選取6264。共擴展4片芯片。擴展接口電路見圖8-21。
圖8-2150/60各存放器地址范圍以下:表8-9可見譯碼法進(jìn)行地址分配,各芯片地址空間是連續(xù)。51/608.5.2外擴存放器電路工作原理及軟件設(shè)計
1.單片機片外程序區(qū)讀指令過程
2.單片機片外數(shù)據(jù)區(qū)讀/寫數(shù)據(jù)過程
比如,把片外6000H單元數(shù)送到片內(nèi)RAM50H單元,程序以下:
MOVDPTR,#6000H
MOVXA,@DPTR MOV50H,A
比如,把片內(nèi)50H單元數(shù)據(jù)送到片外4000H單元中,程序以下:
MOVA,50H
52/60 MOVDPTR,#4000H
MOVX
@DPTR,A89C51單片機讀寫片外數(shù)據(jù)存放器中內(nèi)容,除用MOVXA,@DPTR和MOVX@DPTR,A外,還可使用MOVXA,@Ri和MOVX@Ri,A。這時經(jīng)過P0口輸出Ri中內(nèi)容(低8位地址),而把P2口原有內(nèi)容作為高8位地址輸出。例8-4
將程序存放器中以TAB為首址32個單元內(nèi)容依次傳送到外部RAM以7000H為首地址區(qū)域去。
53/60DPTR指向標(biāo)號TAB首地址。R0既指示外部RAM地址,又表示數(shù)據(jù)標(biāo)號TAB位移量。本程序循環(huán)次數(shù)為32,R0值:0~31,R0值到達(dá)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……54/608.6ATMEL89C51/89C55單片機片內(nèi)閃爍存放器
AT89C51/89C52/89C55是低功耗、高性能片內(nèi)含有4KB/8KB/20KB閃爍可編程/擦除只讀存放器,芯片內(nèi)閃存允許在線編程或采取通用編程器對其重復(fù)編程。8.6.189C51性能及片內(nèi)閃爍存放器89C51主要性能(1)與MCS-51微控制器系列產(chǎn)
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年消防給水工程智能化施工及維護服務(wù)合同3篇
- 2025變頻器代理商銷售合同:產(chǎn)品價格調(diào)整與結(jié)算協(xié)議3篇
- 2025年度紡織行業(yè)新材料研發(fā)與應(yīng)用采購合同2篇
- 2025年度工業(yè)倉儲租賃及倉儲設(shè)施維護保養(yǎng)合同范本3篇
- 二零二五年房地產(chǎn)項目工程造價咨詢合同模板3篇
- 二零二四年員工自愿放棄社保及轉(zhuǎn)移待遇合同3篇
- 2025年度藝術(shù)展布展藝術(shù)品保護與搬運合同3篇
- 二零二五版二手房交易中介服務(wù)合同模板2篇
- 2024虛擬現(xiàn)實內(nèi)容開發(fā)制作合同
- 2025年消防噴淋系統(tǒng)安裝及消防設(shè)施檢測與維保服務(wù)合同3篇
- 《FANUC-Oi數(shù)控銑床加工中心編程技巧與實例》教學(xué)課件(全)
- 微信小程序運營方案課件
- 抖音品牌視覺識別手冊
- 陳皮水溶性總生物堿的升血壓作用量-效關(guān)系及藥動學(xué)研究
- 安全施工專項方案報審表
- 學(xué)習(xí)解讀2022年新制定的《市場主體登記管理條例實施細(xì)則》PPT匯報演示
- 好氧廢水系統(tǒng)調(diào)試、驗收、運行、維護手冊
- 中石化ERP系統(tǒng)操作手冊
- 五年級上冊口算+脫式計算+豎式計算+方程
- 氣體管道安全管理規(guī)程
- 《眼科學(xué)》題庫
評論
0/150
提交評論