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

          新聞中心

          80c51內(nèi)部RAM空間分配

          作者: 時(shí)間:2016-11-09 來(lái)源:網(wǎng)絡(luò) 收藏
          keil編譯的時(shí)候,在開(kāi)始時(shí)候會(huì)清零所有內(nèi)存.在main之前,所以,只要復(fù)位,內(nèi)存肯定是0


          MCS-51單片機(jī)的內(nèi)部數(shù)據(jù)存儲(chǔ)器在物理上和邏輯上都分為兩個(gè)地址空間,即:
          數(shù)據(jù)存儲(chǔ)器空間(低128單元),“用戶可用的”;
          特殊功能寄存器空間(高128單元);
          這兩個(gè)空間是相連的,從用戶角度而言,低128單元才是真正的數(shù)據(jù)存儲(chǔ)器。下面我們就來(lái)詳細(xì)的與大家講解一下:
          低128單元:
          片內(nèi)數(shù)據(jù)存儲(chǔ)器為8位地址,所以最大可尋址的范圍為256個(gè)單元地址,對(duì)片外數(shù)據(jù)存儲(chǔ)器采用間接尋址方式,R0、R1和DPTR都可以做為間接尋址寄存器,R0、R1是8位的寄存器,即R0、R1的尋址范圍最大為256個(gè)單元,而DPTR是16位地址指針,尋址范圍就可達(dá)到64KB。也就是說(shuō)在尋址片外數(shù)據(jù)存儲(chǔ)器時(shí),尋址范圍超過(guò)了256B,就不能用R0、R1做為間接尋址寄存器,而必須用DPTR寄存器做為間接尋址寄存器。
          1、通用寄存器區(qū)(00H-1FH)
          在00H—1FH共32個(gè)單元中被均勻地分為四塊,每塊包含八個(gè)8位寄存器,均以R0—R7來(lái)命名,我們常稱這些寄存器為通用寄存器。這四塊中的寄存器都稱為R0—R7,那么在程序中怎么區(qū)分和使用它們呢?聰明的INTEL工程師們又安排了一個(gè)寄存器——程序狀態(tài)字寄存器(PSW)來(lái)管理它們,CPU只要定義這個(gè)寄存的PSW的D3和D4位(RS0和RS1),即可選中這四組通用寄存器。程序中并不需要用4組,那么其余的可用做一般的數(shù)據(jù)緩沖器,CPU在復(fù)位后,選中第0組工作寄存器。
          2、位尋址區(qū)(20H-2FH)
          片內(nèi)RAM的20H—2FH單元為位尋址區(qū),既可作單元用字節(jié)尋址,也可對(duì)它們的位進(jìn)行尋址。位尋址區(qū)共有16個(gè)字節(jié),128個(gè)位,位地址為00H—7FH。

          CPU能直接尋址這些位,執(zhí)行例如置“1”、清“0”、求“反”、轉(zhuǎn)移,傳送和邏輯等操作。我們常稱MCS-51具有布爾處理功能,布爾處理的存儲(chǔ)空間指的就是這些為尋址區(qū)。
          3、用戶RAM區(qū)(30H-7FH)
          在片內(nèi)RAM低128單元中,通用寄存器占去32個(gè)單元,位尋址區(qū)占去16個(gè)單元,剩下的80個(gè)單元就是供用戶使用的一般RAM區(qū)了,地址單元為30H-7FH。對(duì)這部份區(qū)域的使用不作任何規(guī)定和限制,但應(yīng)說(shuō)明的是,堆棧一般開(kāi)辟在這個(gè)區(qū)域。
          高128單元:(80H-FFH)
          前面提到,在片內(nèi)的RAM中,高128位是專用寄存器區(qū),因這節(jié)比較重要,所以我們單獨(dú)的安排一節(jié)課跟大家介紹。下節(jié)課我們就重點(diǎn)介紹51單片機(jī)片內(nèi)RAM的高128位,即專用寄存器區(qū)



          data:固定指前面0x00-0x7f的128個(gè)RAM,可以用acc直接讀寫的,速度最快,生成的代碼也最小。

          idata:固定指前面0x00-0xff的256個(gè)RAM,其中前128和data的128完全相同,只是因?yàn)樵L問(wèn)的方式不同。idata是用類似C中的指針?lè)绞皆L問(wèn)的。匯編中的語(yǔ)句為:mox ACC,@Rx.(不重要的補(bǔ)充:c中idata做指針式的訪問(wèn)效果很好)
          bdata:它只是說(shuō)明你定義的變量?jī)?chǔ)存在可位尋址區(qū)域

          xdata:外部擴(kuò)展RAM,一般指外部0x0000-0xffff空間,用DPTR訪問(wèn)。

          pdata:外部擴(kuò)展RAM的低256個(gè)字節(jié)

          bit和sbit都是C51擴(kuò)展的變量類型
          bit位標(biāo)量是C51編譯器一種擴(kuò)充數(shù)據(jù)類型,它的值是一個(gè)二進(jìn)制位,不是0就是1
          sbit 可定義可位尋址對(duì)象.如訪問(wèn)特殊功能寄存器中的某位


          關(guān)鍵詞: 80c51內(nèi)部RAM空間分

          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁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); })();