• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > pic單片機教程之數據存儲器的直接間接尋址方式

    pic單片機教程之數據存儲器的直接間接尋址方式

    作者: 時間:2016-09-12 來源:網絡 收藏

    構成

    本文引用地址:http://www.czjhyjcfj.com/article/201609/303284.htm

    由特殊功能寄存器(SFR)和通用寄存器(GPR)組成。SFR控制器件的操作,而GPR則是數據存儲和改寫的通用區域。

    SFR和GPR數據存儲區分成不同的存儲區。GPR區分成不同的存儲區,以實現對超過96字節的通用RAM的尋址。SFR是用來控制外設和內核功能的寄存器。STATUS寄存器的存儲區選擇控制位(STATUS7:5>)用于選擇存儲區。圖6-5是的構成映射,這個映射與器件型號有關。

    從一個寄存器向另一個寄存器傳送數據時,必須通過W寄存器。這意味著所有寄存器之間的數據傳送,都需要兩個指令周期。

    整個數據存儲器可以采用直接尋址或間接尋址來存取。直接尋址可能需要使用RP1、RP0位,間接尋址需要用到指針寄存器(FSR)。間接尋址數據存儲器的存儲區0/存儲區1或存儲區2/存儲區3時,要使用狀態寄存器的間接寄存器指針(IRP)位。

    通用寄存器(GPR)

    某些中檔單片機的GPR區分成不同的存儲區,上電復位并不能初始化GPR,其它的復位也不能改變GPR的值。

    寄存器既可以直接尋址,也可以使用指針寄存器FSR間接尋址。某些器件具有各數據存儲區共享的公用數據存儲區,對公用數據存儲區的讀寫不必考慮當前所在存儲區,可使用同一個地址單元(值),我們稱這個區域為公用RAM。

    特殊功能寄存器(SFR)

    特殊功能寄存器由CPU和外設使用,用于控制器件的操作,這類寄存器實現為靜態RAM形式。特殊功能寄存器可分為兩類,一類與內核功能有關,另一類與外設功能有關。本章將講述與內核功能有關的特殊功能寄存器,另一類與外設功能操作有關的特殊功能寄存器將在相應的外設功能模塊章節中講述。

    所有中檔單片機的SFR寄存器區也分成不同的存儲區。在這些存儲區間切換時,需要設置狀態(STATUS )寄存器的RP0、RP1位來選擇所需存儲區。某些SFR寄存器會被上電復位和其它復位初始化,而有些一些SFR寄存器在復位時不會被初始化。

    *注: 可能有通用寄存器映射到特殊功能寄存器區。

    寄存器既可以直接尋址,也可以通過指針寄存器間接尋址。

    存儲區劃分

    數據存儲器分為4個存儲區,每個存儲區包括特殊功能寄存器和通用寄存器。使用直接尋址時,為在這些存儲區之間切換,需要設置狀態寄存器的RP0、RP1位以選擇需要的存儲區。狀態寄存器的IRP位用于間接尋址。

    1.jpg

    每個存儲區最多可有128字節(7FH)。特殊功能寄存器安排在存儲區的低地址單元;通用寄存器安排在高地址單元。所有數據存儲器都是用靜態RAM。所有存儲區都包括特殊功能寄存器。為了減少程序代碼和提高存取速度,存儲區0中某些使用率高的特殊功能寄存器映射在其它存儲區中。

    隨著產品的發展,其數據存儲器的設計布局有一些變化。對于所有新器件來說,標準的數據存儲器構成如圖6-5所示。在這個存儲器映射中,所有存儲區的最后16字節都映射到存儲區0中,這可以降低用于現場切換的軟件開銷。用粗體表示的寄存器存在于每種單片機中,其它寄存器的有無與外設模塊有關。圖中沒有示出所有的外設寄存器,因為針對不同的器件,在某些文件地址處的寄存器定義與這里所顯示的不同。除了使用本手冊所提供的所有圖、表和說明外,也應參閱特定器件的數據手冊來核實細節。

    2.jpg

    3.jpg



    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 竹山县| 清远市| 甘德县| 正安县| 乌兰浩特市| 普陀区| 怀化市| 时尚| 贵溪市| 衡南县| 贺州市| 确山县| 锦州市| 武功县| 民权县| 石楼县| 东方市| 墨江| 通许县| 东光县| 汕头市| 忻城县| 自贡市| 辽阳市| 社旗县| 尚志市| 庐江县| 马鞍山市| 始兴县| 肥城市| 昌黎县| 普格县| 区。| 沭阳县| 禄丰县| 姚安县| 香港 | 平谷区| 包头市| 凤翔县| 东方市|