單片機原理及應用 第七章_第1頁
單片機原理及應用 第七章_第2頁
單片機原理及應用 第七章_第3頁
單片機原理及應用 第七章_第4頁
單片機原理及應用 第七章_第5頁
已閱讀5頁,還剩85頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第7章 單片機存儲器擴展主 講: 劉 小 英了解數(shù)據(jù)總線、地址總線和控制總線的構(gòu)成;掌握單片機外部程序存儲器和數(shù)據(jù)存儲器的特點;掌握片外擴展程序存儲器和數(shù)據(jù)存儲器的方法。學習重點和難點 總線的構(gòu)成方法和擴展存儲單元地址的分析方法。 本章學習目標7.1 并行擴展概述7.2 存儲器分類與特點 7.3 存儲器的編址方式和譯碼方法 7.4 存儲器與CPU的接口方法與時序第7章 單片機存儲器擴展7.1 并行擴展概述7.1.1 并行口P2的結(jié)構(gòu)7.1.2 總 線7.1.3 總線擴展 MCS51的系統(tǒng)擴展:片內(nèi)的資源不能滿足需要,還需外擴存儲器和I/O功能部件。7.1 并行擴展概述字節(jié)地址為A0H,位地址A

2、0HA7H。7.1.1 并行口P2的結(jié)構(gòu)7.1.1 并行口P2的結(jié)構(gòu)P2口作為通用I/O口,多路轉(zhuǎn)接開關(guān)接向鎖存器Q端。 7.1.1 并行口P2的結(jié)構(gòu)P2口作為通用I/O口,多路轉(zhuǎn)接開關(guān)接向鎖存器Q端。 7.1.1 并行口P2的結(jié)構(gòu) P2口作為輸入口使用時,應先向其鎖存器先寫入 “1”,使輸出驅(qū)動電路的FET截止。P2口是一個準雙向口。7.1.1 并行口P2的結(jié)構(gòu) P2口作為地址總線使用時 控制端1,多路轉(zhuǎn)接開關(guān)接向“地址”端,內(nèi)部地址總線與驅(qū)動器接通。 1107.1.1 并行口P2的結(jié)構(gòu) P2口作為地址總線使用時,控制端1,多路轉(zhuǎn)接開關(guān)接向“地址”端,內(nèi)部地址總線與驅(qū)動器接通。 001總線是

3、單片機應用系統(tǒng)中,各部件之間傳輸信息的通路,為CPU和其他部件之間提供數(shù)據(jù)、地址以及控制信息。總線可分為內(nèi)部總線和外部總線,前者是指CPU系統(tǒng)內(nèi)部各部件之間的通路,后者指CPU系統(tǒng)和其外圍單元之間的通路,通常所說總線是指外部總線。按通路上傳輸?shù)男畔⒖煞郑旱刂房偩€(AB,Address Bus) 、數(shù)據(jù)總線(DB,Data Bus)和控制總線(CB,Control Bus)。 7.1.2 總 線一. 系統(tǒng)總線1. 地址總線地址總線AB用于傳送單片機送出的地址信號,以便進行存儲單元和I/O端口的選擇。地址總線的位數(shù)決定了單片機可擴展存儲容量的大小。如80C51單片機地址總線為16位,其最大可擴展存

4、儲容量為216=64K字節(jié)。地址總線是單向的,因地址信息總是由CPU發(fā)出的。7.1.2 總 線 2. 數(shù)據(jù)總線數(shù)據(jù)總線(DB)用于單片機與存儲器之間或單片機與I/O端口之間傳輸數(shù)據(jù)。數(shù)據(jù)總線的位數(shù)與單片機處理數(shù)據(jù)的字長一致,如80C51單片機是8位字長,數(shù)據(jù)總線的位數(shù)也是8位。從結(jié)構(gòu)上來說數(shù)據(jù)總線是雙向的,即數(shù)據(jù)既可以從單片機送到I/O端口,也可以從I/O端口送到單片機。7.1.2 總 線3. 控制總線 控制總線用來傳輸控制信號,其中包括CPU送往外圍單元的控制信號,如讀信號、寫信號和中斷響應信號等;還包括外圍單元發(fā)給送給CPU的信號,如時鐘信號、中斷請求信號以及準備就緒信號等。7.1.2 總

5、 線 單片機系統(tǒng)擴展的首要問題是構(gòu)造系統(tǒng)總線,然后再通過系統(tǒng)總線擴展存儲器芯片或I/O接口芯片。一. 單片機的三總線結(jié)構(gòu) 7.1.3 總線擴展由P0口做地址/數(shù)據(jù)復用口;P2口做地址線的高八位;P3口的/RD、/WR加上控制線/EA、ALE、/PSEN等組成控制總線。1. 地址總線A0A15地址總線的高8位是由P2口提供的,低8位是由P0口提供的。由地址鎖存信號ALE的下降沿鎖存P0口輸出的低8位地址,P2口提供高8位地址,從而構(gòu)成系統(tǒng)的16位地址總線。實際應用系統(tǒng)中,高位地址線并不固定為8位,需要用幾位就從P2口中引出幾條口線。7.1.3 總線擴展2. 數(shù)據(jù)總線D0D7數(shù)據(jù)總線是由P0口提供

6、的,因為P0口線既用作地址線,又用作數(shù)據(jù)線(分時使用),因此,需要加一個8位鎖存器。在實際應用時,先把低8位地址送鎖存器鎖存,然后再由地址鎖存器給系統(tǒng)提供低8位地址,然后P0口線作為數(shù)據(jù)線使用輸出地址。在讀信號/RD與寫信號/WR有效時,P0口上出現(xiàn)的為數(shù)據(jù)信息。7.1.3 總線擴展3. 控制總線 控制總線由P3口的第二功能再加上RESET、/EA、ALE和/PSEN。常用控制信號如下:ALE作為地址鎖存的選通信號,鎖存低8位地址。/PSEN信號作為擴展程序存儲器的讀選通信號。/EA信號作為內(nèi)、外程序存儲器的選擇信號。/RD和/WR作為擴展數(shù)據(jù)存儲器和I/O端口的讀、寫選通信號。執(zhí)行MOVX指

7、令時,這兩個信號分別自動有效。 7.1.3 總線擴展二. 總線擴展的特性1. 三態(tài)輸出 總線在無數(shù)據(jù)傳送時呈高阻態(tài),可同時擴展多個并行接口器件,因此存在尋址問題。單片機通過控制信號來選通芯片,然后實現(xiàn)一對一的通信。2. 時序交互 單片機并行擴展總線有嚴格的時序要求,該時序由單片機的時鐘系統(tǒng)控制,嚴格按照CPU的時序進行數(shù)據(jù)傳輸。3. 總線協(xié)議的CPU控制 通過并行總線接口的數(shù)據(jù)傳輸,雙方都嚴格按照CPU的時序協(xié)議進行,也不需要指令的協(xié)調(diào)管理。 7.1.3 總線擴展并行總線擴展的主要問題是總線連接電路設(shè)計、器件的選擇以及器件內(nèi)部的尋址等。并行總線擴展時,其所有的外圍擴展設(shè)備的并行總線引腳都連到相

8、同的數(shù)據(jù)總線(DB)、地址總線(AB)以及公共的控制總線/RD、/WR上。其中數(shù)據(jù)總線為三態(tài)口,在不傳送數(shù)據(jù)時為高阻態(tài)。總線分時對不同的外設(shè)進行數(shù)據(jù)傳送??偩€連接方式的重點在于外圍設(shè)備片選信號的產(chǎn)生。7.1.3 總線擴展使單片機能運行的最少器件構(gòu)成的系統(tǒng),就是最小系統(tǒng)。7.1.3 總線擴展三. 單片機最小系統(tǒng) 存儲器:是計算機用來存儲信息的部件??煞譃閮?nèi)部存儲器(簡稱內(nèi)存)和外部存儲器(簡稱外存) 內(nèi)存通過CPU的總線與其直接相連,CPU直接訪問內(nèi)存。內(nèi)存用于存放正在運行的程序和數(shù)據(jù),內(nèi)存的容量受CPU地址總線的限制,容量小、速度快。 外存:CPU通過專門的驅(qū)動設(shè)備才能訪問外存,外存所存放的信

9、息調(diào)入內(nèi)存后才能被CPU使用。外存用于存放等待運行的程序和數(shù)據(jù)。外存容量大、速度慢。常見的外存有軟磁盤、硬磁盤、盒式磁帶等。7.2 存儲器分類與特點一. 半導體存儲器的分類 隨機存取存儲器(Random Access Memory),簡稱RAM;只讀存儲器(Read Only Memory),簡稱ROM。掩膜ROM 可編程ROM(PROM)可擦除PROM(EPROM)電可擦除PROM(EEPROM)半導體存儲器 隨機存取存儲器(RAM)只讀存儲器(ROM)雙極型(RAM) 動態(tài)RAM(DRAM)MOS型RAM 靜態(tài)RAM(SRAM) 非易失性RAM(NVRAM)7.2 存儲器分類與特點 RAM

10、:可以對任意存儲單元進行讀出和寫入操作的存儲器,因此也叫讀/寫存儲器,分為三類:(1) 動態(tài)RAM,即DRAM:存儲單元以電容為基礎(chǔ),電路簡單、集成度高,由于存在漏電,需要定時刷新,控制復雜。 (2) 靜態(tài)RAM,即SRAM:存儲電路以雙穩(wěn)態(tài)觸發(fā)器為基礎(chǔ),狀態(tài)穩(wěn)定,控制信號簡單、工作速度快,但集成度低,存儲容量不大。(3) 非易失性RAM,即NVRAM,掉電自保護RAM。由SRAM和EEPROM 組成,斷電后信息不丟失,存儲容量小。1. 隨機存取存儲器(RAM)7.2 存儲器分類與特點 ROM:只能讀出不能寫入,掉電信息不丟失,可分為:(1)掩膜ROM(簡稱ROM)。其中的信息由廠家寫入的,一

11、旦寫入就不能更改,信息只能讀出。(2)可編程ROM(簡稱PROM)。需要采用一定的設(shè)備將程序和數(shù)據(jù)寫入PROM中,寫入后不能更改,適用于批量。(3)可擦PORM(簡稱)。用戶可以用設(shè)備對其編程??捎米贤夤庹丈涫⒋翱诓脸行畔ⅰP酒啥啻螌懭牒筒脸?,適用于研制和開發(fā)。2. 只讀存儲器(ROM)7.2 存儲器分類與特點 (4)電可擦除PROM(簡稱EEPROM)??稍谟脩粝到y(tǒng)中用電改寫某個存儲單元,對于存放程序的EEPROM,一般用編程器寫入。(5)FLASH Memory (閃存)。是EPROM和EEPROM技術(shù)的有機結(jié)合。不但具備RAM的高速性,同時它還具有可以整塊芯片電擦除、耗電低、集成

12、度高、體積小、可靠性高、無需后備電池支持、可重新改寫、重復使用性好等優(yōu)點。平均寫入速度低于0.1秒。能保證有極高的讀出速度。 Flash Memory芯片抗干擾能力很強。 7.2 存儲器分類與特點1. 存儲容量 存儲器芯片容量=存儲單元數(shù)X數(shù)據(jù)線位數(shù)2. 存取速度 是指存儲器從接收CPU發(fā)來的有效地址信號到存儲器給出的數(shù)據(jù)穩(wěn)定地出現(xiàn)在數(shù)據(jù)總線上所需要的時間。3. 成本:以每位價格表示。4. 供電電壓:5V,3.3V,3V,2.7V,1.8V二. 半導體存儲器的主要性能指標7.2 存儲器分類與特點 典型存儲器芯片RAM芯片:6116:CMOS SRAM 2Kx8Bit6264:CMOS SRAM

13、 8Kx8Bit62256:CMOS SRAM 32Kx8BitROM芯片:2716:NMOS EPROM 2Kx8Bit2764:NMOS EPROM 8Kx8Bit27256:NMOS EPROM 32Kx8Bit7.2 存儲器分類與特點 存儲器選擇原則類型: ROM、RAMROM用于固化程序,對于產(chǎn)品開發(fā)宜于選用EPROM;RAM有SRAM和DRAM之分。SRAM不需刷新操作,電路連接簡單,擴充靈活,可靠性高,因此在存儲器容量較小的系統(tǒng)中廣泛選用SRAM。存儲容量:8KB、32KB、64KB 一般根據(jù)系統(tǒng)和用戶程序的規(guī)模確定整個存儲器的容量。由于單片存儲器芯片容量有限,往往需要多片組成。

14、7.2 存儲器分類與特點 存儲器的速度:7ns、8ns、10ns、70ns存儲器的速度必須和CPU的讀寫速度相匹配。一般應盡量根據(jù)CPU的速度來選定存儲器芯片的速度,一方面使電路連接簡單,另一方面同時也可充分發(fā)揮CPU的高速功能。存儲器的功耗一般對功耗要求高的場合,應選用CMOS型器件。 價格:32KB SRAM¥107.2 存儲器分類與特點三. 半導體存儲器芯片的結(jié)構(gòu) 半導體存儲器芯片由存儲矩陣、地址譯碼器、控制邏輯和三態(tài)數(shù)據(jù)緩沖寄存器組成,存儲元件則是由能存儲一位二進制代碼的物理器件構(gòu)成。由芯片內(nèi)部的地址譯碼器給出對應存儲單元的地址。當片選信號/CS、讀控制信號/RD或?qū)懣刂菩盘?WR有效

15、時,打開三態(tài)緩沖器,對該存儲單元中的代碼進行讀或?qū)懖僮?。在不進行讀或?qū)懖僮鲿r,片選信號/CS無效,控制邏輯使三態(tài)緩沖器處于高阻組態(tài),存儲矩陣與數(shù)據(jù)線脫開。 7.2 存儲器分類與特點容量為2n個存儲單元的存儲矩陣,必須有n條地址線選通對應的存儲單元,若每個存儲單元有N位(字長為N),則有N條數(shù)據(jù)線,該存儲體由2nN個存儲bit元件組成。7.2 存儲器分類與特點 1. 6116芯片的結(jié)構(gòu) CMOS型SRAM,其容量為2KB由存儲器矩陣、地址譯碼和讀/寫控制組成。四. 隨機存取存儲器(RAM)7.2 存儲器分類與特點存儲矩陣6116芯片的容量為2Kx8位,即它有2048個存儲單元,每個存儲單元字長為

16、8位,故6116芯片內(nèi)有16384個基本存儲電路。為了節(jié)省內(nèi)部譯碼電路,將它們排列成128 X 128的矩陣形式,它是存儲器存儲信息的載體7.2 存儲器分類與特點地址譯碼由于存儲體是矩陣式的結(jié)構(gòu),所以地址譯碼電路分成行地址譯碼和列地址譯碼。由A4-A10譯碼產(chǎn)生128根行選擇線Xi (i=0,127);由A0-A3經(jīng)譯碼產(chǎn)生16根列選擇線Yj(j=0,15),每條列選擇線同時控制8位。根據(jù)外部地址輸入,存儲器內(nèi)部通過譯碼電路選中被訪問的存儲單元,以便進行“讀”或“寫”。7.2 存儲器分類與特點讀/寫控制RAM的輸入/輸出與計算機的數(shù)據(jù)總線相連。CPU對RAM進行讀操作時,被訪問的存儲單元中的信

17、息應讀出(輸出)到外部數(shù)據(jù)總線上來;CPU對RAM進行寫操作時,數(shù)據(jù)總線上的內(nèi)容應寫入(輸入)到被訪問的存儲單元中。當/CE=0,/OE=0,/WE=1時,為讀出操作;當/CE= 0,/OE=1,/WE=0時,為寫入操作;其他情況下,輸入/輸出的三態(tài)門呈高阻態(tài)。7.2 存儲器分類與特點2. 6116的引腳A0A10:地址引腳;I/O0I/O7:數(shù)據(jù)引腳;VCC、GND:電源引腳;/CE:chip enable片選信號引腳;/WE:寫入有效信號引腳;/OE:output enable 讀出有效信 號引腳;7.2 存儲器分類與特點3. 6116芯片的工作方式:寫入方式。其條件是:/CE =0, /

18、WE=0, /OE=1。操作結(jié)果是D0-D7上的內(nèi)容輸入到A0-A10所指定的存儲單元中。讀出方式。其條件是:/CE= 0, /WE=1,/OE=0。操作結(jié)果是A0-A10所指定的存儲單元內(nèi)容輸出到D0-D7上。低功耗維持方式,這是一種非工作方式,當/CE=1時,芯片處于這一方式。此時,器件電流僅為20uA左右,為系統(tǒng)斷電時用電池保持RAM的內(nèi)容提供了可能性。7.2 存儲器分類與特點 其它SRAM: 與6116芯片相似,容量8K以上的SRAM,包括6264、62128、62256都是28個引腳的雙列直插式芯片。6264 前兩位數(shù)62, 表示SRAM 后兩位648=8k字節(jié)容量62128 有12

19、88=16k 字節(jié)容量62256 有2568=32k 字節(jié)容量6264的工作方式:6264讀操作:/CE1=0 , CE2=1 ; /OE=0, /WE=1 6264寫操作:/CE1=0 , CE2=1 ; /WE=0 , /OE=17.2 存儲器分類與特點62647.2 存儲器分類與特點622567.2 存儲器分類與特點典型EPROM芯片介紹EPROM芯片有多種型號: 如 2716(2KX8)、2732(4KX8) 2764(8KX8)、27128(16KX8) 27256(32KX8)五. 只讀存儲器(ROM)7.2 存儲器分類與特點 1. EPROM 27162716是典型的NMOS型2

20、KB的EPROM;其內(nèi)部結(jié)構(gòu)同樣分為存儲矩陣、地址譯碼和讀/寫控制三部分;其工作方式與 SRAM6116非常 類似,只是工作 狀態(tài)較復雜。7.2 存儲器分類與特點2. 2716的引腳VCC、VSS、VPP:電源引腳;A0-A10:地址引腳;D0-D7:數(shù)據(jù)引腳;/OE:輸出有效信號引腳;/CE/PGM:片選有效/編程脈沖信號引腳;7.2 存儲器分類與特點3. 2716的工作狀態(tài)讀方式這是2716芯片通常使用的方式,此時兩個電源引腳VCC和VPP都接至+5V。當從2716芯片的某個單元中讀數(shù)據(jù)時,先通過A0-A10接收來自CPU的地址信號,然后使/CE和/OE都有效,于是經(jīng)過一段延遲時間,D0-

21、D7便送出該地址所指定的存儲單元的內(nèi)容。7.2 存儲器分類與特點未選中 在/OE=1時,不論/CE狀態(tài)如何,2716芯片均未選中,因此D0-D7呈高阻狀態(tài)。等待 在/CE=1時,2716芯片處于等待狀態(tài)。此時,2716芯片的功耗由525mW下降到132mW,只有讀狀態(tài)的四分之一。在此狀態(tài)下,D0-D7呈高阻態(tài)。編程 VPP=+25V,/CE=1,把要寫入數(shù)據(jù)的單元地址和數(shù)據(jù)分別送到地址總線和數(shù)據(jù)總線上,向/OE端送一個52ms寬的正脈沖,就可以將數(shù)據(jù)寫入指定的單元中。全部2K字節(jié)的編程時間約100s。7.2 存儲器分類與特點編程檢查 為了檢查編程時寫入的數(shù)據(jù)是否正確,通常在編程過程中包含檢查操

22、作。在一個字節(jié)的編程完成后,電源的接法不變,/CE、/OE均為低電平,則同一單元的數(shù)據(jù)就在數(shù)據(jù)線上輸出,以便與輸入數(shù)據(jù)進行比較,檢查編程的結(jié)果是否正確。編程禁止在編程過程中,只要使該芯片的/CE=0,編程就立即禁止。7.2 存儲器分類與特點2764、27256 (zf)7.2 存儲器分類與特點小結(jié): ABUS,DBUS,CBUS /CE (chip enable):片選線 /OE (output enable):輸出允許 6264 讀操作:/CE1=0,CE2=1,/OE=0,/WE=1 6264 寫操作:/CE1=0, CE2=1,/WE=0,/OE=1 2764 讀操作:/CE=0 且 /

23、OE=07.2 存儲器分類與特點一、存儲器與總線連接時應考慮的問題 1. CPU總線的帶負載能力 過載時,應考慮加總線驅(qū)動器或緩沖器。 2. CPU時序與存儲器速度之間的配合 根據(jù)CPU的速度選擇存儲器芯片 3. 存儲器的地址分配和片選信號的產(chǎn)生4. 控制信號連接 讀、寫信號的連接二、存儲器芯片的選擇 類型、容量、速度、功耗7.3 存儲器的編址方式和譯碼方法三. 存儲器連接常用芯片及接口電路1. 總線緩沖器(74LS244、74LS245, 三態(tài)緩沖器)用于CPU總線的緩沖,以增加總線的負載能力。7.3 存儲器的編址方式和譯碼方法74LS244 一片74LS244分為兩組,每組4位,輸入分別為

24、1A1-1A4和2A1-2A4,對應輸出分別為1Y1-1Y4和2Y1-2Y4;/G1和/G2分別是兩組的三態(tài)使能控制端,低電平有效。若把/G1和/G2相連接,則一片244即為一個8位的單向緩沖器。常用于地址或控制信號的緩沖。7.3 存儲器的編址方式和譯碼方法74LS245 一個8位雙向緩沖器;/G為使能控制端,低電平有效;DIR為方向控制端。當/G=0、DIR=0時,數(shù)據(jù)由B到A,當/G=0, DIR=1時,則數(shù)據(jù)由A到B。當/G=1時,A和B均處于高阻態(tài)。245常用作數(shù)據(jù)緩沖器,也可用作單向緩沖器,用于地址或控制信號的緩沖。7.3 存儲器的編址方式和譯碼方法2. 鎖存器 由于MCS-51的P

25、0口是分時復用的地址/數(shù)據(jù)線,因此必須利用鎖存器將地址信號從地址/數(shù)據(jù)總線中分離出來,得到低8位地址A0-A7。也可作為數(shù)據(jù)鎖存器,鎖存CPU輸出的數(shù)據(jù)。常用鎖存芯片有74LS373、74LS273等。74LS37374LS2737.3 存儲器的編址方式和譯碼方法 74LS373數(shù)據(jù)鎖存(電平觸發(fā)型,透明式鎖存器)/OC:輸出有效G(C):輸入有效7.3 存儲器的編址方式和譯碼方法7.3 存儲器的編址方式和譯碼方法 74LS273上升沿觸發(fā)型鎖存/CLR:清零信號CLK:上升沿觸發(fā)信號7.3 存儲器的編址方式和譯碼方法 373與273的區(qū)別373是電平觸發(fā),即在 G (LE) 為高電平時觸發(fā)D

26、觸發(fā)器;273是上升沿觸發(fā),在CLK的上升沿處觸發(fā)D觸發(fā)器;373輸出有三態(tài)門作為緩沖,即存在高阻態(tài);而273則沒有;7.3 存儲器的編址方式和譯碼方法采用74LS373的地址總線的擴展電路如下。7.3 存儲器的編址方式和譯碼方法3. 地址譯碼器 作用:產(chǎn)生片選信號。 3-8線譯碼器芯片:74LS1387.3 存儲器的編址方式和譯碼方法雙2-4線譯碼器74LS1397.3 存儲器的編址方式和譯碼方法 片內(nèi)的資源不能滿足需要,還需外擴存儲器和I/O功能部件,MCS-51系統(tǒng)擴展結(jié)構(gòu)如下圖。按其功能通常把系統(tǒng)總線分為三組:四. 存儲器的擴展地址總線: P0低8位, P2高8位數(shù)據(jù)總線: P0控制總

27、線: ALE:低8位地址的鎖存控制信號。 /PSEN:擴展程序存儲器的讀選通信號。/EA:內(nèi)外程序存儲器的選擇控制信號。/RD和/WR:擴展數(shù)據(jù)存儲器和I/O口的 讀選通、寫選通信號。 7.3 存儲器的編址方式和譯碼方法空間類型對象控制信號訪問指令代碼空間ROM ,E2PROM/PSENMOVC數(shù)據(jù)空間RAM/RD , /WRMOVXI/O 空間A/D D/A并行口等/RD , /WRMOVX7.3 存儲器的編址方式和譯碼方法四、存儲器的擴展 存儲器擴展的讀寫控制 RAM芯片:讀寫控制引腳,記為/OE和/WE ,與MCS- 51的/RD和/WR相連。 EPROM芯片:只能讀出,讀出引腳為/OE

28、 ,與MCS-51的/PSEN相連。7.3 存儲器的編址方式和譯碼方法五. 存儲器的編址方式和譯碼方法 存儲器地址空間分配 MCS-51發(fā)出的地址是用來選擇某個存儲器單元,要完成這種功能,必須進行兩種選擇: “片選”,某一“單元選擇”。 常用的存儲器地址分配的方法有兩種:線性選擇法(簡稱線選法)和地址譯碼法(簡稱譯碼法)。線選法 直接利用系統(tǒng)的高位地址線作為存儲器芯片(或I/O接口芯片)的片選信號。 優(yōu)點:電路簡單,不需要地址譯碼器硬件,體積小,成本低。 缺點:可尋址的器件數(shù)目受到限制,地址空間不連續(xù),地址不唯一。 只適于外擴芯片不多,規(guī)模不大的單片機系統(tǒng)。 例:線選法擴展16K數(shù)據(jù)存儲器和1

29、6K程序存儲器,電路如下圖。 7.3 存儲器的編址方式和譯碼方法1. 線選法 直接利用單根地址線作為片選信號。例:采用線選法擴展兩片8KBROM以及8KBRAM6264和2764都是8KX8的存儲器,它們都有13根地址線A0-A12;用剩余3根地址線A13-A15分別作片選信號;A13(P2. 5)連2764(1)和6264 (1)的片選端;A14(P2.6)連2764(2)和6264(2)的片選端。7.3 存儲器的編址方式和譯碼方法P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0A1

30、5 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A00 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0100 0000 0000 00000101 1111 1111 1111 =4000H5FFFH,2764(1)6264(1)0010 0000 0000 00000011 1111 1111 1111 =2000H3FFFH,2764

31、(2)6264(2)P2.5為0,P2.6為1,選通2764(1)6264(1)P2.5為1,P2.6為0,選通2764(2)6264(2)7.3 存儲器的編址方式和譯碼方法P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A01 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 0 0 0

32、0 0 0 0 0 0 0 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1100 0000 0000 00001101 1111 1111 1111 =C000HDFFFH,2764(1)6264(1)1010 0000 0000 00001011 1111 1111 1111 =A000HBFFFH,2764(2)6264(2)注意: C000HDFFFH 與 4000H5FFFH重疊 A000HBFFFH 與2000H3FFFH重疊7.3 存儲器的編址方式和譯碼方法P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 P0.7 P0.6 P

33、0.5 P0.4 P0.3 P0.2 P0.1 P0.0A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0000 0000 0000 00000001 1111 1111 1111 =0000H1FFFH,2764(1)6264(1) 2764(2)6264(2)(注意:同時選通27

34、64(1) 2764 (2), 6264(1) 6264(2)地址重疊,不采用 )7.3 存儲器的編址方式和譯碼方法1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1000 0000 0000 00001001 1111 1111 1111 =8000H9FFFH,2764(1)6264(1) 2764(2)6264(2)(注意:同時選通2764(1) 2764 (2), 6264(1) 6264(2)地址重疊,不采用 ) 0000H1FFFH與8000H9FFFH地址重疊7.3 存儲器的編址方式和譯碼方法2.

35、譯碼法 多根地址線經(jīng)過譯碼器、簡單邏輯電路、可編程邏輯陣列處理后產(chǎn)生片選信號。 地址譯碼法又有部分譯碼和全譯碼兩種方式。 全譯碼:全部高位地址線都參加譯碼; 部分譯碼:僅部分高位地址線參加譯碼。 最常用的譯碼器芯片:74LS138(3-8譯碼器)74LS139(雙2-4譯碼器)74LS154(4-16譯碼器)。7.3 存儲器的編址方式和譯碼方法全譯碼 除存儲器芯片所用地址線與CPU的地址線對應相連外,未用的地址線全部參加譯碼,通過地址譯碼器產(chǎn)生存儲器的片選信號。7.3 存儲器的編址方式和譯碼方法訪問6264(1)2764(1)的地址約束條件為:/CE= /Y0A15 (P2.7) A14 (P

36、2.6) A13 (P2.5) /CE/G B A /Y00 0 0 06264(1),2764(1)的地址范圍為0000H1FFFH7.3 存儲器的編址方式和譯碼方法訪問2764(2), 6264(2)的地址約束條件為:/CE= /Y1A15 (P2.7) A14 (P2.6) A13 (P2.5) /CE /G B A /Y10 0 1 0 6264(2),2764(2)的地址范圍為2000H3FFFH6264(1)和6264(2)的地址空間都是唯一的,不存在重復地址。7.3 存儲器的編址方式和譯碼方法寫出各存儲器芯片的存儲空間:2764(1)程序存儲空間0000H1FFFH(/Y0)27

37、64(2)程序存儲空間2000H3FFFH(/Y1)6264(1)數(shù)據(jù)存儲空間0000H1FFFH(/Y0)6264(2)數(shù)據(jù)存儲空間2000H3FFFH(/Y1)7.3 存儲器的編址方式和譯碼方法* 以74LS138為例, 介紹如何進行地址分配。例 要擴8片8KB的RAM 6264,如何通過74LS138把64KB空間分配給各個芯片? 采用的是全地址譯碼方式,MCS-51單片機發(fā)地址碼時,每次只能選中一個存儲單元。這樣,同類存儲器之間根本不會產(chǎn)生地址重疊的問題。7.3 存儲器的編址方式和譯碼方法7.3 存儲器的編址方式和譯碼方法 單片機片外程序區(qū)讀指令過程 單片機片外數(shù)據(jù)區(qū)讀寫數(shù)據(jù)過程 例:

38、把片外1000H單元的數(shù)送到片內(nèi)RAM 50H單元,程序如下:MOV DPTR,#1000HMOVX A,DPTRMOV 50H,A 例:把片內(nèi)50H單元的數(shù)據(jù)送到片外1000H單元中,程序如下:MOV A,50HMOV DPTR,#1000HMOVX DPTR,A3. 外擴存儲器電路的軟件設(shè)計7.3 存儲器的編址方式和譯碼方法MCS-51單片機讀寫片外數(shù)據(jù)存儲器中的內(nèi)容,除用MOVX A,DPTR和MOVX DPTR,A外,還可使用MOVX A,Ri和MOVX Ri,A。這時通過P0口輸出Ri中的內(nèi)容(低8位地址),而把P2口原有的內(nèi)容作為高8位地址輸出。7.3 存儲器的編址方式和譯碼方法例:將程序存儲器中以TAB為首址的32個單元的內(nèi)容依次傳送到外部RAM以7000H為首地址的區(qū)域去。DPTR指向標號TAB的首地址。R0既指示外部RAM的地址,又表示數(shù)據(jù)標號TAB的位移量。本

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論