当前课程知识点:单片机原理及应用 > 2 单片机的硬件结构 > 2.4 内部数据存储器RAM > 内部数据存储器RAM
同学
你好
今天让我们学习一下单片机的存储器
单片机的存储器
分为数据存储器RAM
和程序存储器若ROM
RAM是可读可写的
主要用来存放
CPU在执行指令过程中
所需暂存的各种数据信息
ROM只能够读不能够写
用来存放
需要CPU执行的程序指令
所以根据ROM和RAM的功能
我们把ROM就叫做程序存储器
RAM又叫做数据存储器
下面先让我们来看一看51单片机
内部存储器RAM的结构
51单片机的内部RAM
总共有256个单元
注意一个单元叫一个字节
可以存放一个8位的二进制的数据
我们的RAM
51单片机RAM容量
是有256个Byte
就是256个单元
其中第128个单元
为其真正的RAM存储单元
该128个单元
每一个单元都有唯一的一个单元地址
我们可以看到这个图中每一个单元
都编写了一个唯一的地址
与这个单元相对应
这个地址就是从00H到7FH
总共就是128个地址
注意一下
我们这个地址是用二进制来进行编写
从00H到7FH
每一个单元
都可以存放一个8位的二进制数
这些单元在功能上又分成了三个区域
哪三个区域呢
首先我们看从地址的00H
到1FH的这32个单元
我们叫做工作寄存器区
该区又分成了
四组寄存器区
即四个工作寄存器区
零区 一区 二区和三区
总共就是四个区
每个区都有八个存储单元
每一个单元
可以存放8位的二进制的数据
那么四个区中的八个寄存器
我们也分别取了名字
名字叫做R0 R1 R2
一直到R7共有8个寄存器的名字
注意一下
这四个区中的
8个寄存器的名字是相同的
都叫做R0到R7
那么这些寄存器区功能就是暂时存放
运算数据和中间结果
在指令中我们可以用单元地址
也可以用R0到R7的名字
来找到这些寄存器的单元
进行相应的读写操作
但是我们前面也说过了
这四组寄存器区的单元名字是相同的
比如说R0,指令中你用了一个R0
你R0是对0区的R0
还是对一区二区或者三区的R0单元
来进行读写操作
怎么区分
这就需要我们在程序状态字寄存器
PSW的第四位和第三位
来进行设定说明
当这两位的设定为00时
那么这个指令中的名字
R0就表示的是0区的R0
如果说我们把PSW中的
第四位第三位我们设定为是01的话
这个时候
在指令中如果出现了R0
R0就表示是对一区的R0
来进行读写操作
类似的
如果PSW中的第四位第三位
如果设定为10
就表示是二区的R0
11时就表示的是三区的R0
其他的R1到R7
和这个是类似
这是第一个部分
RAM的第一个部分是工作寄存器区
RAM的第二个部分对应的是
从图中的单元地址的20H
到2FH的总共是16个单元
我们称作是位寻址区
这16个单元既可以按单元
来整体的进行读写操作
也可以对单元里的每一个位
来进行单独的读写操作
16个单元总共就有128个位
每一个位我们也编了一个唯一的地址
和位相对应
总共地址也是从00H到7FH
在指令中通过位地址
我们就可以找到对应的位
对该位进行单独的读写操作
这个是RAM中的位寻址区
从RAM单元地址的
30H到7FH
共有80个单元
我们称作用户RAM区
这个区域没有做特别的说明
用户可以灵活的使用
一般我们常用作堆栈
至于什么是堆栈
我们在后面的课程中
会进行详细的讲解
这里面同学们要特别注意
就是这个程序状态寄存器PSW的
第四位和第三位我们刚说了
可以用来设定工作寄存器区的选择的
这两位也有相应的名字
一个叫做RS1和RS0
这里我们用这个表格的形式
详细地展示了工作寄存器区的
选择方式和它所对应的地址表
好
以上是我们对RAM
低128个单元进行的详细介绍
后面我们会对
RAM的高128个单元
这也叫做专用寄存器区
再来进行详细介绍
好的
今天的课就到这里
同学们 再见
-1.1 单片机的名称
--单片机的名称
-1.2 单片机的相关概念
--单片机的相关概念
-1.3 单片机的设计语言及软件
-1.4 单片机的发展
--单片机的发展
-1.5单片机的应用
--单片机的应用
-1.6 第一单元作业
-2.1 单片机的结构框图
--单片机的结构框图
-2.2 80C51内部结构
-2.3 信号引脚
--信号引脚
-2.4 内部数据存储器RAM
-2.5 特殊功能寄存器
--特殊功能寄存器
-2.6 堆栈
--堆栈
-2.7 内部程序存储器ROM
-2.8 存储器的结构特点
--存储器的结构特点
-2.9 并行输入输出接口电路
-2.10 并口功能与时序
--并口功能与时序
-2.11 工作方式
--工作方式
-2.12 最小应用系统
-- 最小应用系统
-2.13 第二单元作业
-3.1 指令格式
--指令格式
-3.2 立即寻址与直接寻址
-3.3 寄存器寻址与寄存器间接寻址
-3.4 变址间接寻址与位寻址
-3.5 内部RAM传送指令
-3.6 外部RAM传送指令
-3.7 ROM传送指令
--ROM传送指令
-3.8 交换指令
--交换指令
-3.9 堆栈操作指令
--堆栈操作指令
-3.10 传送类指令习题讲解
-3.11 算术运算类指令特点
-3.12 加法指令
--加法指令
-3.13 加法习题、减法和乘除指令
-3.14 逻辑运算指令
--逻辑运算指令
-3.15 布尔变量操作指令
--布尔变量操作指令
-3.16 无条件转移指令
--无条件转移指令
-3.17 条件转移指令
--条件转移指令
-3.18 循环转移指令
--循环转移指令
-3.19 子程序相关指令
--子程序相关指令
-3.20 并口访问指令及指令小结
-3.21 第三单元作业
-4.1 汇编程序约定
--汇编程序约定
-4.2 宏指令
--宏指令
-4.3 汇编控制指令
--汇编控制指令
-4.4 汇编语言程序设计步骤
-4.5 顺序程序举例
-- 顺序程序举例
-4.6 单重分支结构
--单重分支结构
-4.7 多重分支结构
--多重分支结构
-4.8 单重循环结构
--单重循环结构
-4.9 计数控制循环程序
--计数控制循环程序
-4.10 特征控制循环程序
-- 特征控制循环程序
-4.11 多重循环程序
--多重循环程序
-4.12 子程序的概念
--子程序的概念
-4.13 子程序设计注意事项
-4.14 子程序举例
--子程序举例
-4.15 第四单元作业
-5.1 系统扩展
--系统扩展
-5.2 51单片机扩展方法
-5.3 存储器单元位数扩充方法
-5.4 存储器容量单元扩充方法
-5.5 译码线选法
--译码线选法
-5.6 程序存储器的类型
--程序存储器的类型
-5.7 程序存储器的扩展
--程序存储器的扩展
-5.8 数据存储器的扩展
--数据存储器的扩展
-5.9 存储器综合扩展
--存储器综合扩展
-5.10 单片机存储器系统的特点
-- 单片机存储器系统的特点
-5.11 第五单元作业
-6.1 中断技术
--中断技术
-6.2 中断优先级及中断系统内部结构
-6.3 中断控制寄存器及中断响应过程
-6.4 中断请求的撤消
--中断请求的撤消
-6.5 外部中断举例
--外部中断举例
-6.6 定时器/计数器
--定时器/计数器
-6.7 定时计数器工作方式及程序编写
-6.8 定时器举例
--定时器举例
-6.9 第六单元作业
-7.1 并行接口
-- 并行接口
-7.2 并口举例
--并口举例
-7.3 并口扩展芯片
--并口扩展芯片
-7.4 8155连接方式及编程
-7.5 键盘接口技术
--键盘接口技术
-7.6 按键处理程序及举例
-7.7 键盘扫描子程序
-- 键盘扫描子程序
-7.8 显示接口技术
--显示接口技术
-7.9 多位字符静态显示
--多位字符静态显示
-7.10 多位字符动态显示
--多位字符动态显示
-7.11 第七单元作业
-8.1 流水灯控制系统设计
--html
-8.2 数码管显示系统设计
--html
-8.3 按键控制系统设计
--html
-8.4 中断控制系统设计
--html
-8.5 定时计数器系统设计
--html
-8.6 串口通信系统设计
--html
-8.7 汉字显示系统设计
--html
-8.8 单片机烧录方法
--单片机烧录方法
-8.9 第八章作业-作业