新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 關于單片機RAM的作用

        關于單片機RAM的作用

        作者: 時間:2016-11-22 來源:網絡 收藏
        一、內部RAM:共256個單元,用戶使用前128個單元,用于存放可讀寫數據,后128個單元被專用寄存器占用。

        前128單元具體分為:

        本文引用地址:http://www.104case.com/article/201611/319886.htm

        1.工作寄存器區:共4個組,每組為8個存儲單元,即00H-07H,08H-0FH,10H-17H,18H-1FH,具體選擇哪一個由程序狀態字(PSW)中的RS1和RS0的組合決定(在此我就不展開了,呵呵……)

        2.位尋址區:20H-2FH,共16個單元,每一位可以進行位尋址(16*8=128個位地址),就是每一個觸發位,就是bit可以尋址

        3.便箋區:從30H-7FH,共80個單元,用于存放用戶數據或作堆棧區使用。

        4.從80H-FFH為專用寄存器占用,其中還離散的分布SFR(21個特殊功能寄存器)

        二、256B

        其中00H~7FH

        可分為3個區域:

        00H~1FH 是通用寄存器區

        20H~2FH 是位尋址區

        30H~7FH 是用戶RAM區

        80H~FFH是特殊功能寄存器區

        三、AT89S51單片機的ram,只有128字節,地址范圍:00H~7FH。

        SFR不是RAM,是特殊功能寄存器,地址范圍:80H~FFH,SFR在其中離散分布著。

        AT89S52單片機的ram,就有256字節,地址范圍:00H~FFH。

        SFR,特殊功能寄存器,仍然在地址范圍:80H~FFH。

        兩者的地址重疊了,區別方法如下:

        對80H~FFH直接尋址,就是讀寫SFR,特殊功能寄存器;

        對80H~FFH間接尋址,就是讀寫RAM。

        先說說這幾個詞是什么意思:

        1,DATA,51的內部RAM,只有128B(字節)大小,不管是最新的什么增強型單片機;

        2,XDATA,外部RAM,只能使用MOVX尋址

        3,CODE,代碼區,即是你的代碼的大小,AT89C51為4K,C52為8K等,增強型的有更多的選擇。

        然后說明一下,幾種RAM的區別:

        1,DATA,也是上面1提到的DATA RAM,占51的128B;

        2,IDATA,大小也為128B,與DATA構成256字節的內存(如AT89C52)

        3,PDATA,外部RAM的前256B(就是一個頁的大小),是XDATA的一部分;

        4,XDATA,外部RAM

        所以你的那個單片機的1280B,其實組成為:

        DATA :128B

        IDATA:128B

        XDATA:1024B

        所以你的問題,“使用片內RAM”打勾只是軟件仿真用的;你的XDATA用了758B,說明你特意用XDATA關鍵字定了這么大的內存,比如大數組或者內存模式時,使用了lager模式,那么編譯器會自動把超出的部分放到XDATA里,我猜你應該是這里選擇了lager模式,不過你的內容這么大,也只能選擇lager模式。



        關鍵詞: 單片機RA

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 伽师县| 临颍县| 营山县| 法库县| 集安市| 汽车| 吉安县| 安陆市| 青州市| 阿拉尔市| 布拖县| 保康县| 云南省| 武隆县| 甘孜县| 肥城市| 古丈县| 双柏县| 申扎县| 革吉县| 胶州市| 呼玛县| 古浪县| 正阳县| 沧州市| 宣汉县| 七台河市| 台北县| 安义县| 腾冲县| 江城| 扎兰屯市| 万山特区| 安吉县| 康乐县| 碌曲县| 化隆| 财经| 千阳县| 三台县| 九龙县|