第三章MCS-51系列單片機存儲器_第1頁
第三章MCS-51系列單片機存儲器_第2頁
第三章MCS-51系列單片機存儲器_第3頁
第三章MCS-51系列單片機存儲器_第4頁
第三章MCS-51系列單片機存儲器_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第三章MCS-51系列單片機存儲器,3.1MCS-51系列單片機系統(tǒng)的存儲器配置,8051的存儲器有4個不同的邏輯空間,即內(nèi)部程序存儲器、內(nèi)部數(shù)據(jù)存儲器、外部程序存儲器、外部數(shù)據(jù)存儲器。它們分別由不同的指令和尋址方式訪問,對外部的兩個邏輯空間還使用不同的讀控制信號。MCS-51系列單片機8051的存儲器配置圖見下頁,3.2內(nèi)部存儲器和特殊功能寄存器,3.2.1內(nèi)部程序存儲器,8051/8751內(nèi)部有4KBROM/EPROM程序存儲器,地址為0000H0FFFH。當接高電平時,使程序從內(nèi)部ROM/EPROM開始運行,當PC值超過OFFFH時,自動轉(zhuǎn)到外部程序存儲區(qū)1000HFFFFH去執(zhí)行程序。,3.2.2內(nèi)部數(shù)據(jù)存儲器,8031/8051/8751單片機內(nèi)有128字節(jié)的數(shù)據(jù)存儲區(qū),字節(jié)地址為00H7FH,與外部數(shù)據(jù)存儲器低端128字節(jié)地址相同,但訪問它們的指令不同,訪問內(nèi)部數(shù)據(jù)存儲器用MOV指令,訪問外部數(shù)據(jù)存儲器用MOVX指令。內(nèi)部這128個字節(jié)的SRAM又分為三個區(qū)域,即工作寄存器區(qū)、位尋址區(qū)和數(shù)據(jù)緩存區(qū)。內(nèi)部數(shù)據(jù)存儲器見下頁。,(1)工作寄存器區(qū):00H1FH為4個工作寄存器區(qū),每區(qū)8個單元,分別稱為R0、R1、R2、R3、R4、R5、R6、R7,且4個區(qū)的工作寄存器同名。實際上,它們都是通用的數(shù)據(jù)寄存器,可用于寄存器地址和數(shù)據(jù),其中R0、R1還可作為間接尋址寄存器使用。當程序中需使用工作寄存器時,必須先指出它們是哪一個區(qū)的,這是由特殊功能寄存器PSW中的RS1和RS0兩位來選擇的。(2)位尋址區(qū):20H2FH這16個字節(jié)的每一位都可以單獨進行操作,每一位有一個地址,稱為位地址,例如20H單元的位地址為00H07H。共有128個位地址。(3)數(shù)據(jù)緩沖區(qū):30H3FH這80個字節(jié)為一般的數(shù)據(jù)緩沖區(qū),但通常將堆棧區(qū)放在這個空間。由于復(fù)位后堆棧指針自動指向07H(即工作寄存器區(qū)),故在程序開始需要用指令將SP設(shè)置在30H以后。,8051單片機內(nèi)部地址80HFFH空間有21個專用寄存器,見表3-1所示(書上25頁),也稱為特殊功能寄存器SFR。其中有11個可以位尋址,如圖3-3所示(書上26頁)。圖中有7個控制寄存器,各位功能見表3-2所示(書上27頁)。表中PCON、TMOD不可位尋址。1程序計數(shù)器PC程序計數(shù)器PC用于存放下一條要執(zhí)行指令的地址(PC總是指向程序存儲器地址),是一16位專用寄存器,尋址范圍64K字節(jié),PC在物理結(jié)構(gòu)上是獨立的,不屬于特殊功能寄存器SFR塊。,3.2.3特殊功能寄存器,2累加器A累加器A是一個最常用的專用寄存器,系統(tǒng)運轉(zhuǎn)時工作最頻繁,大部分單操作數(shù)指令的操作數(shù)取自累加器A,很多雙操作數(shù)指令的一個操作數(shù)取自A;加、減、乘、除算術(shù)運算以及邏輯操作指令的結(jié)果都存放在累加器A或AB寄存器中;輸入/輸出大多數(shù)指令都以累加器A為核心操作。指令系統(tǒng)中采用A作累加器的助記符。3寄存器B它是一個8位寄存器。一般用于乘除法指令,與累加器A配合使用。寄存器B存放第二操作數(shù)、乘積的高位字節(jié)或除法的余數(shù)部分。在其他指令中,可作為中間結(jié)果的暫存器使用,相當于RAM中的一個特殊單元。,程序狀態(tài)字是一個8位寄存器,用來存放程序的狀態(tài)信息,表征指令的執(zhí)行狀態(tài),供程序查詢和辨別之用。其PSW格式如下:,(1)CY:(PSW.7)進/借位標志在執(zhí)行加/減法指令時,如果操作結(jié)果D7位有進/借位,CY置“1”,否則清“0”。在布爾處理機中被定義為布爾(位)累加器(或稱位累加器)。(2)AC:(PSW.6)輔助進位標志或稱為半進位標志當進行加法操作而產(chǎn)生由低4位數(shù)(十進數(shù)的1位數(shù))向高4位數(shù)進位時,AC將被硬件置“1”,否則被清“0”。AC被用于BCD碼加法調(diào)整,詳見DA指令。,4程序狀態(tài)字PSW,(3)F0:(PSW.5)用戶標志0由用戶定義的一個狀態(tài)標志。可以用軟件來使它置“1”或清“0”,也可以由軟件測試F0來控制程序流向。(4)RS1、RS0:(PSW.4、PSW.3)工作寄存器區(qū)選擇控制位可由軟件來改變RS1和RS0的組合以確定當前工作寄存器區(qū),詳見表3-3所示。(5)P:(PSW.0)奇偶標志每個指令周期都由硬件來置位或清零,以表示累加器A中值為“1”的位數(shù)的奇偶性。若P=1,則A中“1”的位數(shù)為奇數(shù),否則P=0。,(6)OV:(PSW.2)溢出標志用于補碼運算,以指示溢出狀態(tài)。當執(zhí)行加法指令時,若以Ci表示i位向位i+1有進位,則OV=C6C7即當位6向位7有進位,而位7不向CY進位時;或位6不向位7進位,而位7向CY進位時,溢出標志OV被置“1”,否則被清“0”。同樣,若以Ci表示減法運算時,位i向位i+1有借位,則執(zhí)行減法指令SUBB時,OV=C6C7無符號數(shù)乘法指令MUL的執(zhí)行結(jié)果也會影響溢出標志;除法指令DIV也會影響溢出標志,當除數(shù)為0時,OV=1,否則OV=0。,5堆棧指針SP它是一個8位寄存器,用來存放棧頂?shù)刂贰CS-51堆棧設(shè)在內(nèi)部RAM中,是一個按“先進后出”順序,受SP管理的存儲區(qū)域。在程序中斷,子程序調(diào)用等情況下,用于存放一些特殊信息(亦可作數(shù)據(jù)傳送的中轉(zhuǎn)站)。當數(shù)據(jù)壓入堆棧時,SP就自動加“1”;當數(shù)據(jù)從堆棧中彈出時,SP就自動減“1”。因而SP指針始終指向棧頂。MCS-51堆棧最大深度為128個字節(jié),系統(tǒng)復(fù)位時硬件使SP=07H。,6數(shù)據(jù)指針DPTR是一16位專用寄存器,其高字節(jié)寄存器用DPH表示,低字節(jié)寄存器用DPL表示。既可作為16位寄存器(DPTR)使用,又可作為兩個獨立的8位寄存器(DPH、DPL)來使用。DPTR主要用來保持16位地址,當對64KB外部數(shù)據(jù)存儲器RAM(或I/O口)空間尋址時,作間址寄存器用,指向外部數(shù)據(jù)存儲器地址。7I/O端口P0P3專用寄存器P0、P1、P2和P3分別是I/O端口P0P3的鎖存器。8串行數(shù)據(jù)緩沖器SBUF串行數(shù)據(jù)緩沖器SBUF用于存放欲發(fā)送或已接受的數(shù)據(jù)。它由兩個獨立的寄存器組成,一個是發(fā)送緩沖器,一個是接受緩沖器(兩個緩沖器共用一個地址)。,9定時器/計數(shù)器MCS-51子系列中有兩個16位定時器/計數(shù)器T0和T1,MCS-52子系列增加了一個16位定時器/計數(shù)器T2。它們各由兩個獨立的8位寄存器組成,共分為6個獨立的寄存器;TH0、TL0,TH1、TL1,TH2和TL2??梢詫@6個寄存器尋址,但不可把T0、T1和T2當作一個16位寄存器來對待。10其他控制寄存器IP、IE、TMOD、TCON、T2CON、SCON和PCON寄存器分別包括有中斷系統(tǒng)、定時器/計數(shù)器、串行口和供電方式的控制和狀態(tài)位,這些寄存器將在有關(guān)章節(jié)中一一介紹。,3.3MCS-51系列單片機外部存儲器及其擴展,1半導(dǎo)體存儲器的分類半導(dǎo)體存儲器可分為只讀存儲器和讀寫存儲器兩大類,3.3.1常用半導(dǎo)體存儲器芯片,2單片機系統(tǒng)中常用的典型半導(dǎo)體存儲器芯片介紹,(1)EPROM芯片:EPROM芯片有許多系列,這里介紹一種常用的系列27。這個系列的EPROM存儲器芯片有2716、2732、2764、27128、27256、27512、27010、27020、27040,它們的存儲器容量分別是2K8、4K8、8K8、32K8、64K8、128K8、256K8、512K8。它們的引腳功能列于表3-4。圖3-5給出了2764的引腳圖,(2)SRAM芯片:HM6116是存儲容量為2K8的高速靜態(tài)CMOS可讀寫半導(dǎo)體存儲器集成電路。其引腳圖如圖所示:,(3)E2PROM芯片:電可擦除可編程只讀存儲器E2PROM,E2PROM是電可擦除可編程的半導(dǎo)體存儲器,比EPROM在使用上要方便得多,它具有RAM的在線隨機讀寫性能,掉電后信息不丟失。+5V供電下即可進行編程,而且對編程脈沖寬度一般沒有特殊要求,不需專門的編程器和擦除器,是一種特殊的可讀寫存儲器。E2PROM2864的引腳圖如圖,3.3.2MCS-51系列單片機外部存儲器擴展設(shè)計,1程序存儲器擴展設(shè)計,(1)單片程序存儲器擴展數(shù)據(jù)線的連接:2764的數(shù)據(jù)線直接與單片機的數(shù)據(jù)線對應(yīng)相接??刂凭€的連接:由于是單片存儲器擴展,所以其CE可直接接地。特別要注意的是,MCS-51系列單片機讀外部程序存儲器的控制信號為專用信號PSEN,所以一定要將程序存儲器的讀信號OE接PSEN引腳,而不能接RD。電源線等的連接:在讀方式下,編程電壓VPP和編程脈沖PGM以及空腳都與工作電源引腳VCC一起接至“+5V”。,地址線的連接:由于MCS-51系列單片機的數(shù)據(jù)線與低8位地址線分時復(fù)用,所以P0口輸出的信息經(jīng)74LS373鎖存后才是低8位地址線,與2764的低8位地址線對應(yīng)相接,高5位地址與單片機P2口輸出的地址線A8A12(P2.0P2.4)對應(yīng)相接。,圖3-92764與8031的連接圖,(2)多片程序存儲器擴展設(shè)計書上39頁圖3-10是8031系統(tǒng)中擴展3片2764的連接圖,圖中對3片2764的選址采用完全譯碼法。除片選信號CE外,其他引腳的連接與單片存儲器擴展時相同。3片2764的片選信號CE分別連接譯碼器74LS138的Y0、Y1和Y2,圖3-10中同時給出了74LS138的引腳圖及功能表。由連接方式計算出它們的尋址空間分別為:0000H1FFFH、2000H3FFFH和4000H5FFFH,并且尋址空間唯一確定。,2數(shù)據(jù)存儲器擴展設(shè)計(單片數(shù)據(jù)存儲器擴展設(shè)計),書上40頁圖3-11所示為8051系統(tǒng)中使用1片HM6116的硬件連接。,2數(shù)據(jù)存儲器擴展設(shè)計(單片數(shù)據(jù)存儲器擴展設(shè)計),片選信號CE接單片機P2.7,即最高位地址A15,這在存儲器選址方式中屬于線選法。而地址線A14、A13、A12、A11未使用,因此HM6116的尋址空間不能唯一確定,而是占用64K數(shù)據(jù)存儲空間的前32K。也就是說將前32K空間分成了16個2K的空間,這32K中的任意一個地址都對應(yīng)HM6116的某一個單元。計算出16個2K的空間分別為:0000H07FFH、0800H0FFFH、1000H17FFH、1800H1FFFH2000H27FFH、2800H2FFFH、3000H37FFH、3800H3FFFH4000H47FFH、4800H4FFFH、5000H57FFH、5800H5FFFH6000H67FFH、6800H6FFFH、7000H77FFH、7800H7FFFH讀信號OE接RD單片機。在MCS-51系列單片機中外部程序存儲器的讀信號用PSEN,外部數(shù)據(jù)存儲器和擴展的I/O接口的讀信號用RD。寫信號WE接WR單片機。,多片數(shù)據(jù)存儲器擴展設(shè)計,3程序/數(shù)據(jù)存儲器擴展設(shè)計有時我們希望系統(tǒng)中只擴展1片存儲器,但它既能用作程序存儲器,又能用作數(shù)據(jù)存

溫馨提示

  • 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

提交評論