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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 51單片機(jī)RAM 數(shù)據(jù)存儲(chǔ)區(qū)學(xué)習(xí)筆記

          51單片機(jī)RAM 數(shù)據(jù)存儲(chǔ)區(qū)學(xué)習(xí)筆記

          作者: 時(shí)間:2013-12-02 來(lái)源:網(wǎng)絡(luò) 收藏

          1. keil C語(yǔ)言編程

          是程序運(yùn)行中存放隨機(jī)變量的數(shù)據(jù)空間。在keil中編寫(xiě)程序,如果當(dāng)前模式為small模式,如果總的變量大小未超過(guò)128B,則未初始化的變量的初值默認(rèn)為0.如果所有的變量超過(guò)單片機(jī)small模式下的128B大小,則必須對(duì)變量進(jìn)行初始化,否則超過(guò)大小變量的值是不確定的,在small模式下超過(guò)128B大小的變量也必須在編譯器中重新設(shè)定存儲(chǔ)器的存儲(chǔ)模式。

          在keil中,可選擇small,compact,large三種方式存儲(chǔ)數(shù)據(jù)變量:

          1.jpg

          在keil中可以用“TargetOptions”來(lái)配置這一項(xiàng):

          2.jpg

          圖1 選擇數(shù)據(jù)存儲(chǔ)模式

          2.片內(nèi)

          (1) 工作寄存器區(qū)

          工作寄存器區(qū)位于片內(nèi)數(shù)據(jù)存儲(chǔ)器中的00H~1FH單元,共32字節(jié)( 如此說(shuō)來(lái)每個(gè)單元是一個(gè)字節(jié)了 ),分成四組。每組8個(gè)字節(jié),分別記為R0~R7.

          3.jpg

          程序默認(rèn)在0區(qū)工作寄存器組存放中間運(yùn)算數(shù)據(jù)。等待中斷來(lái)時(shí),中斷數(shù)據(jù)工作寄存器組由0區(qū)切換到其它區(qū)域。

          選擇四組工作寄存器區(qū)的哪一組作為R0~R7由位于PSW寄存器的兩位RS1,RS0來(lái)確定.

          RS1,RS0稱(chēng)為區(qū)開(kāi)關(guān)或組開(kāi)關(guān),兩位就可決定四種狀態(tài).

          4.jpg

          (2)位尋址區(qū)

          用戶存儲(chǔ)區(qū)位于片內(nèi)數(shù)據(jù)存儲(chǔ)器中的020H~02FH單元,共16個(gè)字節(jié),共128位,每個(gè)字節(jié)單元的位都有一個(gè)單獨(dú)的地址,分別為00H-07H,如020H.1表示020H單元的bit[1]位。020H~02FH單元可作為位尋址區(qū)。這個(gè)范圍內(nèi)的存儲(chǔ)單元最大的用處就是能進(jìn)行位操作,在C語(yǔ)言中,只能用位操作運(yùn)算符(、|、^、~、、>>)來(lái)對(duì)字節(jié)數(shù)據(jù)進(jìn)行位操作運(yùn)算。如果用匯編指令就可以直接對(duì)此片存儲(chǔ)單片進(jìn)行位操作。

          51單片機(jī)相關(guān)文章:51單片機(jī)教程


          c語(yǔ)言相關(guān)文章:c語(yǔ)言教程



          上一頁(yè) 1 2 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(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); })();