存储器
简介
8051 在系统结构上采用 哈佛结构
哈佛结构:
哈佛结构是一种将程序存储和数据存储分开存放的结构
冯·诺伊曼结构:
也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。
1、片外、片内程序存储器(ROM)
2、片外、片内数据存储器(RAM)
1、片内、片外 统一编址的程序存储器地址空间
2、片内数据存储器地址空间
3、片外数据存储器地址空间
程序存储器 用来存放用户程序和常用的表格、常数,采用只读存储器(ROM)作为程序存储器。
数据存储器 用来存放程序运行中的数据、中间计算结果等,采用随机访问存储器(RAM)作为数据存储器
程序存储器
单片机的PC是指程序计数器(Program Counter)。程序计数器PC用于存放下一条将要执行的指令地址,是一个16位专用寄存器,不能通过MOV指令来操作,对用户来说是不可见的。当执行一条指令时,首先需要根据PC中存放的指令地址,将指令取出送到指令寄存器中,此过程称为“取指令”。与此同时,PC中的地址编制的程序进行自动加1跳转操作,得到下一条指今的地址。当前一条指令执行完毕,CPU再根据PC取出下一条指令的地址,并再得到再下条指令地址,依次执行每一条指令。
片内数据存储器
片内RAM 最大可寻址256个字节,分为低128字节单元、高128字节单元
低128单元也分为三个区域
1、工作寄存器区域 00H - 1FH
最低32个单元(地址为00H~1FH)为4个通用工作寄存器组。 每个寄存器组含有8个8位寄存器,编号为R0 ~R7。 程序状态字寄存器(PSW)来管理中的2位RS0、RS1用来确定当前采用哪一个工作寄存器组 在某一时刻只能选用其中的一组寄存器工作,系统复位后,指向工作寄存器组0 如果用户程序不需要4个工作寄存器区,则不用工作寄存器单元可以作一般的RAM使用
2、位寻址区 20H - 2FH
20H - 2FH 这16个单元,每个单元( 20H - 2FH)都有 8位的位地址,每个单元都可以作为一般的RAM单元使用
3、用户RAM区、数据缓冲区 30H - 7HF
RAM区又称为数据缓存区,8051单片机的用户RAM区有80个存储单元(字节) 地址编号为30H~7FH,用户RAM区一般用来存储随机数据和运算中间结果等。
对特殊寄存器只能使用直接寻址模式,高128字节中,除了 程序计数器 PC以外,有21个特殊功能的寄存器,又称专用寄存器SFR,离散的分布在空间内。
21个特殊寄存器中,有11个可以位寻址
片外数据存储器
片外RAM 可以由特殊寄存器——数据指针寄存器DPTR寻址 是16位,所以可以寻址64K
空间
空间名称 | 地址范围 | 说明 |
---|
DATA | 00H~7FH | 片内RAM直接寻址区 | IDATA | 00H~FFH | 片内RAM间接寻址区 | XDATA | 0000H~FFFFH | 片外RAM数据区 | CODE | 0000H~FFFFH | 片内外ROM代码区 |
|