找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 939|回复: 2
打印 上一主题 下一主题
收起左侧

AT89S52单片机特殊功能寄存器中的堆栈指针SP的复位值为什么是07H?

[复制链接]
跳转到指定楼层
楼主
ID:1095207 发表于 2023-10-6 18:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本人是一名在校大学生,本学期开始了单片机原理及应用课程的学习,教学刚开始无多久,在课堂上对这个特殊寄存器SP的复位值为什么是07H有些疑惑。教材上说:“考虑到08H~1FH单元属于工作寄存器区,而在程序设计中有可能会用到这些工作寄存器区,所以在SP复位后将其修改为60H或者其他值,以避免堆栈区和工作寄存器区发生冲突。” 这样不是很麻烦么,为什么SP复位不直接到工作寄存器区以外呢?是和它的制造工艺有关系吗?希望各位能不吝赐教,小生初来乍到贵平台,如有唐突冒犯还望勿怪,先行谢过诸君。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:883242 发表于 2023-10-6 20:24 | 只看该作者
就算是高级语言来编程MCS-51也很难利用到除了Bank0以外的其他Register Bank,复位值是07是放开Bank0让你用,其他RAM区都默认是Stack,这是一种很朴素的想法,你觉得不合适就改SP的值,一条指令的事情用得着这么操心吗?
回复

使用道具 举报

板凳
ID:108361 发表于 2023-10-26 18:53 | 只看该作者
Hephaestus 发表于 2023-10-6 20:24
就算是高级语言来编程MCS-51也很难利用到除了Bank0以外的其他Register Bank,复位值是07是放开Bank0让你用 ...

这就是一些技术开发的教学课程脱离实际的地方,理解这些内容确实对提高有帮助,但不是意味着学好这门课就得掌握这些细枝末节的东西,但是教材和学校都只会照本宣科
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表