
51单片机RAM 数据存储区学习笔记
1.ram keil c语言编程
ram是程序运行中存放随机变量的数据空间。在keil中编写程序,如果当前模式为small模式,如果总的变量大小未超过128b,则未初始化的变量的初值默认为0.如果所有的变量超过单片机small模式下的128b大小,则必须对变量进行初始化,否则超过ram大小变量的值是不确定的,在small模式下超过128b大小的变量也必须在编译器中重新设定存储器的存储模式。
在keil中,可选择small,compact,large三种方式存储数据变量:

在keil中可以用“targetoptions”来配置这一项:

图1 选择数据存储模式
2.片内数据存储区
(1) 工作寄存器区
工作寄存器区位于片内数据存储器中的00h~1fh单元,共32字节( 如此说来每个单元是一个字节了 ),分成四组。每组8个字节,分别记为r0~r7.

程序默认在0区工作寄存器组存放中间运算数据。等待中断来时,中断数据工作寄存器组由0区切换到其它区域。
选择四组工作寄存器区的哪一组作为r0~r7由位于psw寄存器的两位rs1,rs0来确定.
rs1,rs0称为区开关或组开关,两位就可决定四种状态.

(2)位寻址区
用户存储区位于片内数据存储器中的020h~02fh单元,共16个字节,共128位,每个字节单元的位都有一个单独的地址,分别为00h-07h,如020h.1表示020h单元的bit[1]位。020h~02fh单元可作为位寻址区。这个范围内的存储单元最大的用处就是能进行位操作,在c语言中,只能用位操作运算符(&、|、^、~、<<、>>)来对字节数据进行位操作运算。如果用汇编指令就可以直接对此片存储单片进行位操作。
如 setb, 020h.1 就将020h的bit[1]置为了1.
除了ram此片能进行位寻址的用户存储区以外,还有一些特殊的功能寄存器( sfr )也能进行位寻址。
(3)数据缓冲区
51系列数据缓冲区地址为30h-7fh,共80字节。只能字节寻址,不能位寻址。由于工作寄存器和位寻址区,数据缓冲区是统一编址的,所以这三者都可以用作数据缓冲区。
(4)堆栈
栈:由系统自动分配释放,存局部值。
堆:一般由程序员分配和释放。
堆栈指针sp:8位寄存器,堆栈最大可达128单元,只可在片内ram中进行堆栈操作。
堆栈作用:用来保存地址、数据信息、具有先进后出特性,也是一种能存放二进制数据的空间。
mc51堆栈采用满顶法向上生成的软件堆栈。
软件堆栈:借助sp进行控制操作。
堆栈向上生长:新压栈的数据成为堆栈顶。
堆栈向下生长:新压入的数据远离堆栈顶。
地址大小还得看存储方式。
(5)专用寄存器区
专用寄存器区,也称特殊功能寄存器区 sfr
special functionregister
寻址地址离散地分布在80h~ffh,共128字节的空间.而实际有用的只有21个字节,即在这一空间里只有18个专用功能寄存器,其中有3个专用功能寄存器占用了两个字节.sfr主要用于片内硬件的管理,通常只能以字节为单位借助于mov指令直接寻址,但也有一些专用功能寄存器可以位寻址。
包含程序状态字psw、数据指针寄存器dptr、端口地址p0-p0、其它专用寄存器(累加器a、b)
3.片外数据存储区
片外ram区:可寻空间为共64k 0000h~ffffh,
总是使用movx类指令寻址
借助于工作寄存器r0或r1间接寻址时,可寻256字节
从片外ram区取数据: movx a,@ri i=0-1
向片外ram区存数据: movx @ri,a
借助16位的数据指针dptr间接寻址,可寻64k字节:
从片外ram区取数据: movx a,@dptr
向片外ram区存数据: movx @dptr,a
区分是访问内部存储器还是外部存储器地址靠指令来区分。
温馨提示:湖南阳光电子学校常年面向全国招生(不限年龄)。由湖南阳光电子学校实战一线首席技术专家授课,天天实操,全程实战,手把手教,。我们是正规技术学校,我们有自己的校园,我们是行业正规军!我们有自己的教学楼、学员公寓楼、篮球场(2个)、有校内花园、有专业实操车间。我们会为您提供海量的51单片机RAM 数据存储区学习笔记的信息,如果您想了解有关51单片机RAM 数据存储区学习笔记方面的更多资讯,请经常关注我校网站:www.85579057.com,我们将给你最详细的与51单片机RAM 数据存储区学习笔记相关的解答。 如果您对湖南阳光电子学校发布的51单片机RAM 数据存储区学习笔记这条信息有什么好的建议,请告诉我们。您的宝贵建议对我们逐步完善51单片机RAM 数据存储区学习笔记的内容有重要的参考作用!
-
“相信品牌的力量”是掷地有声且亘久不变的品牌标语。湖南阳光电子技术学校教育的品牌经住了时间和社会的考证,一直在电子维修技术培训行业的洪流中奔流不息。湖南阳光电子技术学校教育采用模块…
-
湖南阳光电工焊工技术培训学校(湖南电工焊工培训领导品牌)是经湖南省劳动和社会保障厅批准成立的电工焊工专业技术培训学校,是焊工学校、焊工培训、电焊技校、电焊培训学校、电工培训、电工技…
-
联系方式●网站:http://www.hnygpx.net
-
学习时间:3个月教学目标:培养中级“电工+焊工”全能技术人员。半天理论,半天实践,深入浅出,通俗易懂,从零开始,手把手教,,使学生成为真正意义上的、全能的电工焊工技术人才。教…
-
教学目标:培养中级电工技术人员。半天理论,半天实践,深入浅出,通俗易懂,从零开始,手把手教,,使学生成为真正意义上的、全能的电工技术人才。学习时间:2个月(采用我校十五年经典…
-
中级焊工培训学习时间:2个月(采用我校十五年经典教学方法:模块教学法授课,彻底破解焊工技术的神奇密码!)教学目标:培养中级焊工技术人员。理论课2...