日本高清不卡中文字幕-一起草草视频在线观看-亚洲精品一区二区三区色-国产亚洲精品免费视频

你好!歡迎來到深圳市穎特新科技有限公司!
語言
當(dāng)前位置:首頁 >> 技術(shù)中心 >> 單片機入門 >> 單片機地址空間堆棧的理解

單片機地址空間堆棧的理解

作者:admin 來源:不詳 發(fā)布時間:2018-05-08  瀏覽:5
    data –可尋址片內(nèi)ram 0x00-0x7f
    bdata—可位尋址片內(nèi)ram
    idata—可尋址片內(nèi)ram,允許訪問全部內(nèi)部ram 0x00-0xff
    padata—分頁尋址訪問片外ram
    xdata—可尋址片外ram 0x0000- 0xffff
    code--程序存儲區(qū)單片機存儲器分ROM跟RAM之分,RAM存放中間結(jié)果,數(shù)據(jù)和經(jīng)常變換的代碼,ROM存放code。51單片機采用的是哈弗結(jié)構(gòu),即數(shù)據(jù)跟代碼擁有單獨的地址空間。存儲器可以分為程序存儲器(eerom,flash之類),內(nèi)部數(shù)據(jù)存儲器(ram),SFR,位地址空間和外部數(shù)據(jù)存儲器。內(nèi)部數(shù)據(jù)存儲器在物理上分為內(nèi)部SRAM和特殊功能寄存器,而內(nèi)部分為低(0x00-0x7f)和(0x80-0xff),高128字節(jié)地址重復(fù),需要不同的訪問方式。SFR用直接尋址方式,SRAM需要間接。這里SFR是寄存器,硬件上是中央處理器的內(nèi)部組成部分,訪問速度很快。在低128B的SRAM,0x00-0x1f是4個通用工作寄存器,每組有R0-R7。使用哪一組,可以通過PSW中的RS1,RS0來配置。位尋址是在0x20-0x2f
    程序內(nèi)存可以分為幾個區(qū),棧區(qū)(stack),堆區(qū)(Heap),全局區(qū)(static),文字常亮區(qū),程序代碼區(qū)。程序編譯之后,全局變量,靜態(tài)變量已經(jīng)分配好內(nèi)存空間,在函數(shù)運行時,程序需要為局部變量分配?臻g,當(dāng)中斷來時,也需要將函數(shù)指針入棧,保護現(xiàn)場,以便于中斷處理完之后再回到之前執(zhí)行的函數(shù)。棧是從高到低分配,堆是從低到高分配。我們一般說的堆棧指的棧。堆棧又分硬堆棧和軟堆棧,硬堆棧即SP,從片內(nèi)RAM的頂部向下生長。軟堆棧在硬堆棧跟全局變量區(qū)之間的空間,C51函數(shù)調(diào)用通過R0-R7和棧來實現(xiàn)。
    為什么單片機啟動時,不需要用bootloader將代碼從ROM搬移到RAM,而ARM則需要。這里我們可以先看看單片機程序執(zhí)行的過程,單片機執(zhí)行分三個步驟,取執(zhí)行---分析指令----執(zhí)行指令。取指令的任務(wù)是:根據(jù)PC的值從程序存儲器讀出指令,送到指令寄存器。然后分析執(zhí)行執(zhí)行。這樣單片機就從內(nèi)部程序存儲器去代碼指令,從RAM存取相關(guān)數(shù)據(jù)。要知道RAM取數(shù)的速度是遠高于ROM的,但是單片機因為本身運行頻率不高,所以從ROM取指令慢并不影響。而ARM不同,cpu運行的頻率高,遠大于從ROM讀寫的速度,所以一般有操作系統(tǒng),都需要將代碼部分拷貝到RAM中再執(zhí)行?赐耆牧藛幔肯矚g就一起來點個 贊 吧!

編輯:admin  最后修改時間:2018-05-08

聯(lián)系方式

0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬眾潤豐創(chuàng)業(yè)園A棟2樓A08

Copyright © 2014-2023 穎特新科技有限公司 All Rights Reserved.  粵ICP備14043402號-4

淅川县| 延津县| 景德镇市| 辽宁省| 裕民县| 分宜县| 姜堰市| 通化县| 阿合奇县| 西吉县| 章丘市| 邹城市| 临猗县| 中山市| 阿尔山市| 浪卡子县| 十堰市| 阜宁县| 陇川县| 金平| 襄城县| 神木县| 神池县| 靖江市| 汨罗市| 大关县| 西和县| 泸水县| 建始县| 崇左市| 普宁市| 泰顺县| 佳木斯市| 莱芜市| 长阳| 泽库县| 恩施市| 建德市| 黎平县| 邛崃市| 博白县|