51单片机RAM总结.docx

上传人:小飞机 文档编号:3149112 上传时间:2023-03-11 格式:DOCX 页数:4 大小:38KB
返回 下载 相关 举报
51单片机RAM总结.docx_第1页
第1页 / 共4页
51单片机RAM总结.docx_第2页
第2页 / 共4页
51单片机RAM总结.docx_第3页
第3页 / 共4页
51单片机RAM总结.docx_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《51单片机RAM总结.docx》由会员分享,可在线阅读,更多相关《51单片机RAM总结.docx(4页珍藏版)》请在三一办公上搜索。

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

2、1 选择数据存储模式 2.片内数据存储区 (1) 工作寄存器区 工作寄存器区位于片内数据存储器中的00H1FH单元,共32字节( 如此说来每个单元是一个字节了 ),分成四组。每组8个字节,分别记为R0R7. 程序默认在0区工作寄存器组存放中间运算数据。等待中断来时,中断数据工作寄存器组由0区切换到其它区域。 选择四组工作寄存器区的哪一组作为R0R7由位于PSW寄存器的两位RS1,RS0来确定. RS1,RS0称为区开关或组开关,两位就可决定四种状态. (2)位寻址区 用户存储区位于片内数据存储器中的020H02FH单元,共16个字节,共128位,每个字节单元的位都有一个单独的地址,分别为00H

3、-07H,如020H.1表示020H单元的bit1位。020H02FH单元可作为位寻址区。这个范围内的存储单元最大的用处就是能进行位操作,在C语言中,只能用位操作运算符(&、|、)来对字节数据进行位操作运算。如果用汇编指令就可以直接对此片存储单片进行位操作。 如 SETB, 020H.1 就将020H的bit1置为了1. 除了RAM此片能进行位寻址的用户存储区以外,还有一些特殊的功能寄存器( SFR )也能进行位寻址。 (3)数据缓冲区 51系列数据缓冲区地址为30H-7FH,共80字节。只能字节寻址,不能位寻址。由于工作寄存器和位寻址区,数据缓冲区是统一编址的,所以这三者都可以用作数据缓冲区

4、。 (4)堆栈 栈:由系统自动分配释放,存局部值。 堆:一般由程序员分配和释放。 堆栈指针SP:8位寄存器,堆栈最大可达128单元,只可在片内RAM中进行堆栈操作。 堆栈作用:用来保存地址、数据信息、具有先进后出特性,也是一种能存放二进制数据的空间。 MC51堆栈采用满顶法向上生成的软件堆栈。 软件堆栈:借助SP进行控制操作。 堆栈向上生长:新压栈的数据成为堆栈顶。 堆栈向下生长:新压入的数据远离堆栈顶。 地址大小还得看存储方式。 (5)专用寄存器区 专用寄存器区,也称特殊功能寄存器区 SFR SPECIAL FUNCTIONREGISTER 寻址地址离散地分布在80HFFH,共128字节的空

5、间.而实际有用的只有21个字节,即在这一空间里只有18个专用功能寄存器,其中有3个专用功能寄存器占用了两个字节.SFR主要用于片内硬件的管理,通常只能以字节为单位借助于MOV指令直接寻址,但也有一些专用功能寄存器可以位寻址。 包含程序状态字PSW、数据指针寄存器DPTR、端口地址P0-P0、其它专用寄存器(累加器A、B) 3.片外数据存储区 片外RAM区:可寻空间为共64K 0000HFFFFH, 总是使用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 区分是访问内部存储器还是外部存储器地址靠指令来区分。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号