新聞中心

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

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

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

1. keil C語言編程

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

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

1.jpg

在keil中可以用“TargetOptions”來配置這一項:

2.jpg

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

2.片內(nèi)

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

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

3.jpg

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

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

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

4.jpg

(2)位尋址區(qū)

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

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


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



上一頁 1 2 下一頁

評論


相關(guān)推薦

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

關(guān)閉