51單片機RAM 數(shù)據(jù)存儲區(qū)學(xué)習(xí)筆記
如 SETB, 020H.1 就將020H的bit[1]置為了1.
除了RAM此片能進行位尋址的用戶存儲區(qū)以外,還有一些特殊的功能寄存器( SFR )也能進行位尋址。
(3)數(shù)據(jù)緩沖區(qū)
51系列數(shù)據(jù)緩沖區(qū)地址為30H-7FH,共80字節(jié)。只能字節(jié)尋址,不能位尋址。由于工作寄存器和位尋址區(qū),數(shù)據(jù)緩沖區(qū)是統(tǒng)一編址的,所以這三者都可以用作數(shù)據(jù)緩沖區(qū)。
(4)堆棧
棧:由系統(tǒng)自動分配釋放,存局部值。
堆:一般由程序員分配和釋放。
堆棧指針SP:8位寄存器,堆棧最大可達128單元,只可在片內(nèi)RAM中進行堆棧操作。
堆棧作用:用來保存地址、數(shù)據(jù)信息、具有先進后出特性,也是一種能存放二進制數(shù)據(jù)的空間。
MC51堆棧采用滿頂法向上生成的軟件堆棧。
軟件堆棧:借助SP進行控制操作。
堆棧向上生長:新壓棧的數(shù)據(jù)成為堆棧頂。
堆棧向下生長:新壓入的數(shù)據(jù)遠離堆棧頂。
地址大小還得看存儲方式。
(5)專用寄存器區(qū)
專用寄存器區(qū),也稱特殊功能寄存器區(qū) SFR
SPECIAL FUNCTIONREGISTER
尋址地址離散地分布在80H~FFH,共128字節(jié)的空間.而實際有用的只有21個字節(jié),即在這一空間里只有18個專用功能寄存器,其中有3個專用功能寄存器占用了兩個字節(jié).SFR主要用于片內(nèi)硬件的管理,通常只能以字節(jié)為單位借助于MOV指令直接尋址,但也有一些專用功能寄存器可以位尋址。
包含程序狀態(tài)字PSW、數(shù)據(jù)指針寄存器DPTR、端口地址P0-P0、其它專用寄存器(累加器A、B)
片外RAM區(qū):可尋空間為共64K 0000H~FFFFH,
總是使用MOVX類指令尋址
借助于工作寄存器R0或R1間接尋址時,可尋256字節(jié)
從片外RAM區(qū)取數(shù)據(jù): MOVX A,@Ri i=0-1
向片外RAM區(qū)存數(shù)據(jù): MOVX @Ri,A
借助16位的數(shù)據(jù)指針DPTR間接尋址,可尋64K字節(jié):
從片外RAM區(qū)取數(shù)據(jù): MOVX A,@DPTR
向片外RAM區(qū)存數(shù)據(jù): MOVX @DPTR,A
此段摘抄,防后會使用>
區(qū)分是訪問內(nèi)部存儲器還是外部存儲器地址靠指令來區(qū)分。
51單片機相關(guān)文章:51單片機教程
c語言相關(guān)文章:c語言教程
評論