当前位置:文档之家› 单片机中空间和堆栈的意义

单片机中空间和堆栈的意义

单片机中空间和堆栈的意义
关于单片机的知识,体积庞大且结构复杂。

初学者很容易陷入困境,最终
失去对单片机的兴趣。

因此在学习单片机时一定要对基础知识进行特别的巩固。

在本文中,小编将为大家介绍单片机地址空间以及堆栈的相关知识,下面大家
就随小编来一起看一看吧。

Data:可寻址片内ram0x00-0x7f
Bdata:可位寻址片内ram
Idata:可寻址片内ram,允许访问全部内部ram0x00-0xff
Padata:分页寻址访问片外ram
Xdata:可寻址片外ram0x0000-0xffff
code--程序存储区单片机存储器分ROM跟RAM之分,RAM存放中间结果,数据和经常变换的代码,ROM存放code。

51单片机采用的是哈弗结构,即数
据跟代码拥有单独的地址空间。

存储器可以分为程序存储器(eerom,flash之类),内部数据存储器(ram),SFR,位地址空间和外部数据存储器。

内部数据存储器
在物理上分为内部SRAM和特殊功能寄存器,而内部分为低(0x00-0x7f)和
(0x80-0xff),高128字节地址重复,需要不同的访问方式。

SFR用直接寻址方式,SRAM需要间接。

这里SFR是寄存器,硬件上是中央处理器的内部组成部分,访问速度很快。

在低128B的SRAM,0x00-0x1f是4个通用工作寄存器,
每组有R0-R7。

使用哪一组,可以通过PSW中的RS1,RS0来配置。

位寻址是在0x20-0x2f。

程序内存可以分为几个区,栈区(stack)、堆区(Heap)、全局区(static)、文字常亮区、程序代码区。

程序编译之后,全局变量,静态变量已经分配好内存空间,在函数运行时,程序需要为局部变量分配栈空间,当中断来时,也需要将函数。

相关主题