标题:
有256BYTE内部RAM的51单片机堆栈可以设到80H后吗?
[打印本页]
作者:
wuzesheng
时间:
2020-1-13 14:10
标题:
有256BYTE内部RAM的51单片机堆栈可以设到80H后吗?
51单片机压栈是用间接寻址还是直接寻址的呢?对于有256BYTE内部RAM的单片机,我把堆栈指针设到大于80H后可以的吗?
作者:
tyrl800
时间:
2020-1-13 17:42
可以设置
作者:
Y_G_G
时间:
2020-1-13 19:16
51的堆栈是程序自己去处理的,你不用去动也没有关系的,一般保险的做法就是把SP的值设定成大于07FH的
8051在物理上,080H以上地址的有两种空间:一种是内部的RAM,一种是特殊寄存器,区分两种的办法就是间接寻址和直接寻址
080H以上的RAM是要间接寻址才能操作的,所以,一般不怎么会有指令影响到这一块的地址,所以,堆栈放在080H以上基本上是没有干扰的,直接寻址的MOV指令是影响不到080H以上的空间的
作者:
还有谁?
时间:
2020-1-13 19:41
值得一试,先摸索看看再说
作者:
没有你
时间:
2020-1-15 11:42
STC的官方手册里面有建议SP设置为0x80。内部ram中,低128字节采用直接寻址;高128字节采用间接寻址。另外,有一些特殊功能寄存器的地址看起来和高128字节ram有重叠,实际上物理地址是分开的,高128字节采用直接寻址方式就能访问到特殊功能寄存器。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1