hytzgroup / blog

write & read & though
0 stars 0 forks source link

单片机存储结构 #12

Open hytzgroup opened 4 years ago

hytzgroup commented 4 years ago

单片机存储结构

1.分类

程序存储器和数据存储器,特点是独立编址

2.程序存储器

作用:存放用户程序、数据和表格。

分类:Flash(4KB)、[外部程序存储器(64KB)]

Flash结构示意图:

1574476816877

1574477168843电平的高低决定访问的程序Flash存储还是外部程序存储空间,若超出3FFFH程序会自动指向外部程序存储

电平 存储地址
000H~3FFFH
4000H~

:中断服务的入口地址也在Flash中存储,每个中断地址相差8。

3.数据存储器

作用:存放程序执行的中间结果和过程数据。

分类:内部RAM(256字节)、[内部扩展(1024字节,即1KB)]、[片外扩展数据存储器(64KB)]

内部RAM结构图:

1574477649609

低128字节RAM(与传统的8051兼容)、高128字节RAM(INTEL在8052中扩展了高128字节RAM)、特殊功能存储器区。特殊功能存储器区与高128字节RAM地址冲突,但是物理上是独立的。特殊功能存储器区采用直接寻址的方式访问、高128字节RAM间接寻址

低128字节通用RAM区结构示意图:

1574477881575

低级128字节分为:工作寄存器组区、可位寻址区、用户RAM和堆栈区。

工作寄存器组:工作寄存器组共有四组(地址:00H~1FH),每组有8个8位的工作寄存器,编号R0~R7;程序状态字PSW寄存器的RS0和RS1组合决定使用哪组工作寄存器组

可位寻址区:地址从20H~2FH,共16个字节单元,128位。可位寻址区既可以按照字节寻址也可以对某个具体的字节单元中一位进行存取(地址:00~7FH)。注意:对位选址区按照字节操作和按照字节操作的汇编命令是不一样的。

用户RAM和堆栈区:8位的堆栈指针SP,指向堆栈区。单片机复位以后SP指针的地址为07H,工作寄存器组选址第0组,程序初始化时需要设置SP地址为30H。