找回密码
 立即注册

QQ登录

只需一步,快速开始

帖子
查看: 1938|回复: 4
收起左侧

有256BYTE内部RAM的51单片机堆栈可以设到80H后吗?

[复制链接]
ID:685652 发表于 2020-1-13 14:10 | 显示全部楼层 |阅读模式
51单片机压栈是用间接寻址还是直接寻址的呢?对于有256BYTE内部RAM的单片机,我把堆栈指针设到大于80H后可以的吗?
回复

举报

ID:275826 发表于 2020-1-13 17:42 | 显示全部楼层
可以设置
回复

举报

ID:401564 发表于 2020-1-13 19:16 | 显示全部楼层
51的堆栈是程序自己去处理的,你不用去动也没有关系的,一般保险的做法就是把SP的值设定成大于07FH的
8051在物理上,080H以上地址的有两种空间:一种是内部的RAM,一种是特殊寄存器,区分两种的办法就是间接寻址和直接寻址
080H以上的RAM是要间接寻址才能操作的,所以,一般不怎么会有指令影响到这一块的地址,所以,堆栈放在080H以上基本上是没有干扰的,直接寻址的MOV指令是影响不到080H以上的空间的
回复

举报

ID:475247 发表于 2020-1-13 19:41 | 显示全部楼层
值得一试,先摸索看看再说
回复

举报

ID:351097 发表于 2020-1-15 11:42 | 显示全部楼层
STC的官方手册里面有建议SP设置为0x80。内部ram中,低128字节采用直接寻址;高128字节采用间接寻址。另外,有一些特殊功能寄存器的地址看起来和高128字节ram有重叠,实际上物理地址是分开的,高128字节采用直接寻址方式就能访问到特殊功能寄存器。
回复

举报

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

本版积分规则

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

Powered by 单片机教程网

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