在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 單片機存儲系統(tǒng)徹底研究(總結)

            單片機存儲系統(tǒng)徹底研究(總結)

            作者: 時間:2016-11-22 來源:網絡 收藏
            一,單片機基本存儲系統(tǒng)

            MCS-51單片機在物理結構上有四個存儲空間:

            本文引用地址:http://www.biyoush.com/article/201611/319689.htm

            1、片內程序存儲器
            2、片外程序存儲器
            3、片內數(shù)據(jù)存儲器
            4、片外數(shù)據(jù)存儲器

            但在邏輯上,即從用戶的角度上,8051單片機有三個存儲空間:

            1、片內外統(tǒng)一編址的64K的程序存儲器地址空間(MOVC)
            2、256B的片內數(shù)據(jù)存儲器的地址空間(MOV)
            3、以及64K片外數(shù)據(jù)存儲器的地址空間(MOVX)
            在訪問三個不同的邏輯空間時,應采用不同形式的指令,以產生不同的存儲器空間的選通信號。

            下圖是8051單片機存儲器的空間結構圖


            A,程序存儲器

            一個微處理器能夠聰明地執(zhí)行某種任務,除了它們強大的硬件外,還需要它們運行的軟件,其實微處理器并不聰明,它們只是完全按照人們預先編寫的程序而執(zhí)行之。那么設計人員編寫的程序就存放在微處理器的程序存儲器中,俗稱只讀程序存儲器(ROM)。程序相當于給微處理器處理問題的一系列命令。其實程序和數(shù)據(jù)一樣,都是由機器碼組成的代碼串。只是程序代碼則存放于程序存儲器中。
            MCS-51具有64kB程序存儲器尋址空間,它是用于存放用戶程序、數(shù)據(jù)和表格等信息。對于內部無ROM的8031單片機,它的程序存儲器必須外接,空間地址為64kB,此時單片機的端必須接地。強制CPU從外部程序存儲器讀取程序。對于內部有ROM的8051等單片機,正常運行時,則需接高電平,使 CPU先從內部的程序存儲中讀取程序,當PC值超過內部ROM的容量時,才會轉向外部的程序存儲器讀取程序。
            當EA=1時,程序從片內ROM開始執(zhí)行,當PC值超過片內ROM容量時會自動轉向外部ROM空間。
            當EA=0時,程序從外部存儲器開始執(zhí)行,例如前面提到的片內無ROM的8031單片機,在實際應用中就要把8031的引腳接為低電平。
            8051片內有4kB的程序存儲單元,其地址為0000H—0FFFH,單片機啟動復位后,程序計數(shù)器的內容為0000H,所以系統(tǒng)將從0000H單元開始執(zhí)行程序。但在程序存儲中有些特殊的單元,這在使用中應加以注意:
            其中一組特殊是0000H—0002H單元,系統(tǒng)復位后,PC為0000H,單片機從0000H單元開始執(zhí)行程序,如果程序不是從0000H單元開始,則應在這三個單元中存放一條無條件轉移指令,讓CPU直接去執(zhí)行用戶指定的程序。
            另一組特殊單元是0003H—002AH,這40個單元各有用途,它們被均勻地分為五段,它們的定義如下:
            0003H—000AH 外部中斷0中斷地址區(qū)。
            000BH—0012H 定時/計數(shù)器0中斷地址區(qū)。
            0013H—001AH 外部中斷1中斷地址區(qū)。
            001BH—0022H 定時/計數(shù)器1中斷地址區(qū)。
            0023H—002AH 串行中斷地址區(qū)。
            可見以上的40個單元是專門用于存放中斷處理程序的地址單元,中斷響應后,按中斷的類型,自動轉到各自的中斷區(qū)去執(zhí)行程序。從上面可以看出,每個中斷服務程序只有8個字節(jié)單元,用8個字節(jié)來存放一個中斷服務程序顯然是不可能的。因此以上地址單元不能用于存放程序的其他內容,只能存放中斷服務程序。但是通常情況下,我們是在中斷響應的地址區(qū)安放一條無條件轉移指令,指向程序存儲器的其它真正存放中斷服務程序的空間去執(zhí)行,這樣中斷響應后,CPU讀到這條轉移指令,便轉向其他地方去繼續(xù)執(zhí)行中斷服務程序。

            下圖是ROM的地址分配圖:


            從上圖中大家可以看到,0000H-0002H,只有三個存儲單元,3個存儲單元在我們的程序存放時是存放不了實際意義的程序的,通常我們在實際編寫程序時是在這里安排一條ORG指令,通過ORG指令跳轉到從0033H開始的用戶ROM區(qū)域,再來安排我們的程序語言。從0033開始的用戶ROM區(qū)域用戶可以通過ORG指令任意安排,但在應用中應注意,不要超過了實際的存儲空間,不然程序就會找不到。

            B,數(shù)據(jù)存儲器

            數(shù)據(jù)存儲器也稱為隨機存取數(shù)據(jù)存儲器。數(shù)據(jù)存儲器分為內部數(shù)據(jù)存儲和外部數(shù)據(jù)存儲。MCS-51內部RAM有128或256個字節(jié)的用戶數(shù)據(jù)存儲(不同的型號有分別),片外最多可擴展64KB的RAM,構成兩個地址空間,訪問片內RAM用“MOV”指令,訪問片外RAM用“MOVX”指令。它們是用于存放執(zhí)行的中間結果和過程數(shù)據(jù)的。MCS-51的數(shù)據(jù)存儲器均可讀寫,部分單元還可以位尋址。
            MCS-51單片機的內部數(shù)據(jù)存儲器在物理上和邏輯上都分為兩個地址空間,即:
            數(shù)據(jù)存儲器空間(低128單元);
            特殊功能寄存器空間(高128單元);
            這兩個空間是相連的,從用戶角度而言,低128單元才是真正的數(shù)據(jù)存儲器。下面我們就來詳細的與大家講解一下:

            低128單元:
            片內數(shù)據(jù)存儲器為8位地址,所以最大可尋址的范圍為256個單元地址,對片外數(shù)據(jù)存儲器采用間接尋址方式,R0、R1和DPTR都可以做為間接尋址寄存器,R0、R1是8位的寄存器,即R0、R1的尋址范圍最大為256個單元,而DPTR是16位地址指針,尋址范圍就可達到64KB。也就是說在尋址片外數(shù)據(jù)存儲器時,尋址范圍超過了256B,就不能用R0、R1做為間接尋址寄存器,而必須用DPTR寄存器做為間接尋址寄存器。

            8051單片機片內RAM共有256個單元(00H-FFH),這256個單元共分為兩部分。其一是地址從00H—7FH單元(共128個字節(jié))為用戶數(shù)據(jù)RAM。從80H—FFH地址單元(也是128個字節(jié))為特殊寄存器(SFR)單元。從圖1中可清楚地看出它們的結構分布。

            (1)、通用寄存器區(qū)(00H-1FH)
            在00H—1FH共32個單元中被均勻地分為四塊,每塊包含八個8位寄存器,均以R0—R7來命名,我們常稱這些寄存器為通用寄存器。這四塊中的寄存器都稱為R0—R7,那么在程序中怎么區(qū)分和使用它們呢?聰明的INTEL工程師們又安排了一個寄存器——程序狀態(tài)字寄存器(PSW)來管理它們,CPU只要定義這個寄存的PSW的D3和D4位(RS0和RS1),即可選中這四組通用寄存器。對應的編碼關系如下表所示。惹程序中并不需要用4組,那么其余的可用做一般的數(shù)據(jù)緩沖器,CPU在復位后,選中第0組工作寄存器。

            (2)、位尋址區(qū)(20H-2FH)
            片內RAM的20H—2FH單元為位尋址區(qū),既可作為一般單元用字節(jié)尋址,也可對它們的位進行尋址。位尋址區(qū)共有16個字節(jié),128個位,位地址為00H—7FH。位地址分配如下表所示:

            CPU能直接尋址這些位,執(zhí)行例如置“1”、清“0”、求“反”、轉移,傳送和邏輯等操作。我們常稱MCS-51具有布爾處理功能,布爾處理的存儲空間指的就是這些為尋址區(qū)。

            (3)、用戶RAM區(qū)(30H-7FH)
            在片內RAM低128單元中,通用寄存器占去32個單元,位尋址區(qū)占去16個單元,剩下的80個單元就是供用戶使用的一般RAM區(qū)了,地址單元為30H-7FH。對這部份區(qū)域的使用不作任何規(guī)定和限制,但應說明的是,堆棧一般開辟在這個區(qū)域。

            高128單元:(80H-FFH)
            前面提到,在片內的RAM中,高128位是專用寄存器區(qū),因這節(jié)比較重要,下面我們就重點介紹51單片機片內RAM的高128位,即專用寄存器區(qū)。



            關鍵詞: 單片機存儲系

            評論


            技術專區(qū)

            關閉