51单片机的堆栈区在那里?低128还是高128字节单元?

 我来答
l502n4fha
2011-03-19 · TA获得超过1748个赞
知道小有建树答主
回答量:1452
采纳率:0%
帮助的人:913万
展开全部
寻址区
30H~7FH:一般数据区,堆栈区

寄存器组就是R0-R7,一共是8*4是32字节
位寻址就是对每一位寻址,一个字节可以有8位,位地址可以从0-7F,一共是16个字节
30-7FH有80个字节单元,可以采用字节字节寻址的方法访问
堆栈区及堆栈指示区 堆栈是在片内RAM中数据先进后出的一个存储区域。堆栈指针SP是存放当前堆栈栈顶所对应的存储单元地址的一个8位寄存器。系统复位后SP为07H,而07H一般是寄存器区,所以,一般可以通过对SP赋值,可以使堆栈区设定在RAM中的某一区域,但堆栈的深度以不超过片内RAM区空间为限
一剑出血
高粉答主

2011-03-19 · 醉心答题,欢迎关注
知道大有可为答主
回答量:5.7万
采纳率:78%
帮助的人:1.7亿
展开全部
1. 51单片机的栈可以是内部间接寻址区的任意位置,因此理论上是从I:00H~FFH的任意位置。
2. 因SP指针的特殊性,栈自动向上生长且必须连续。因此一般在分配完内部RAM后将SP指向未分配的首个单元。
3. 堆是堆,栈是栈,不要混为一谈。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
never715
2011-03-18 · TA获得超过942个赞
知道小有建树答主
回答量:1010
采纳率:84%
帮助的人:465万
展开全部
一般堆栈区由你设置SP的值来定的,所以理论上你的整个51内存区域里面的任何地方都可以作为堆栈区使用,一般是低128字节!我问过我的老师...
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
DxcLvKL5
2023-04-05
知道答主
回答量:2
采纳率:0%
帮助的人:376
展开全部
一般是低128位 高128位被很多特殊功能寄存器区占用了
低128位也不是随便用的 00H-1FH被通用寄存器占用了
20H-2FH是可以位寻址的区域 也不好用
51可以用在30H-7FH的一般RAM区 这段连续 适合堆栈生长
52可以用在30H-FFH
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友874e2ff
2012-05-06
知道答主
回答量:20
采纳率:0%
帮助的人:9.3万
展开全部
允许的最大范围是08H~7FH,是在低128字节,高的一般不能用。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式