<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

          單片機關于RAM的作用

          作者: 時間:2016-11-23 來源:網(wǎng)絡 收藏
          1、內部RAM:共256個單元,用戶使用前128個單元,用于存放可讀寫數(shù)據(jù),后128個單元被專用寄存器占用。
          前128單元具體分為:
          1.工作寄存器區(qū):共4個組,每組為8個存儲單元,即00H-07H,08H-0FH,10H-17H,18H-1FH,具體選擇哪一個由程序狀態(tài)字(PSW)中的RS1和RS0的組合決定
          2.位尋址區(qū):20H-2FH,共16個單元,每一位可以進行位尋址(16*8=128個位地址),就是每一個觸發(fā)位,就是bit可以尋址
          3.便箋區(qū):從30H-7FH,共80個單元,用于存放用戶數(shù)據(jù)或作堆棧區(qū)使用。

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

          本文引用地址:http://www.ex-cimer.com/article/201611/320528.htm

          2、256B
          其中00H~7FH
          可分為3個區(qū)域:
          00H~1FH 是通用寄存器區(qū)
          20H~2FH 是位尋址區(qū)
          30H~7FH 是用戶RAM區(qū)

          80H~FFH是特殊功能寄存器區(qū)

          3、AT89S51單片機的ram,只有128字節(jié),地址范圍:00H~7FH。
          SFR不是RAM,是特殊功能寄存器,地址范圍:80H~FFH,SFR在其中離散分布著。

          AT89S52單片機的ram,就有256字節(jié),地址范圍:00H~FFH。
          SFR,特殊功能寄存器,仍然在地址范圍:80H~FFH。
          兩者的地址重疊了,區(qū)別方法如下:
          對80H~FFH直接尋址,就是讀寫SFR,特殊功能寄存器;
          對80H~FFH間接尋址,就是讀寫RAM。

          4、先說說這幾個詞是什么意思:
          1,DATA,51的內部RAM,只有128B(字節(jié))大小,不管是最新的什么增強型單片機;

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

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

          然后說明一下,幾種RAM的區(qū)別:
          1,DATA,也是上面1提到的DATA RAM,占51的128B;
          2,IDATA,大小也為128B,與DATA構成256字節(jié)的內存(如AT89C52)
          3,PDATA,外部RAM的前256B(就是一個頁的大?。?,是XDATA的一部分;
          4,XDATA,外部RAM

          所以你的那個單片機的1280B,其實組成為:
          DATA :128B
          IDATA:128B
          XDATA:1024B

          單片機C語言unsigned char code table[] code 是什么作用?

          code的作用是告訴單片機,我定義的數(shù)據(jù)要放在ROM(程序存儲區(qū))里面,寫入后就不能再更改,其實是相當與匯編里面的尋址MOVC(好像是),因為C語言中沒辦法詳細描述存入的是ROM還是RAM(寄存器),所以在軟件中添加了這一個語句起到代替匯編指令的作用,對應的還有data是存入RAM的意思。

          程序可以簡單的分為code(程序)區(qū),和data (數(shù)據(jù))區(qū),code區(qū)在運行的時候是不可以更改的,data區(qū)放全局變量和臨時變量,是要不斷的改變的,cpu從code區(qū)讀取指令,對data區(qū)的數(shù)據(jù)進行運算處理,因此code區(qū)存儲在什么介質上并不重要,象以前的計算機程序存儲在卡片上,code區(qū)也可以放在rom里面,也可以放在ram里面,也可以放在flash里面(但是運行速度要慢很多,主要讀flash比讀ram要費時間),因此一般的做法是要將程序放到flash里面,然后load到 ram里面運行的;DATA區(qū)就沒有什么選擇了,肯定要放在RAM里面,放到rom里面改動不了。



          關鍵詞: 單片機RA

          評論


          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();