51单片机中,SP是堆栈指针寄存器,存放着当前堆栈地址。堆栈用于存储子程序调用、中断程序调用时程序返回的地址,或者用来临时保存某一寄存器的值。
一般在出现中断时,51单片机会把当前正在处理中的任务的位置(PC值)以及一些过程数据压入堆栈,待处理完中断之后再取出继续进行原先任务。
因此在中断任务中需要指定SP的地址。SP的地址一般取50H左右的位置,后续的程序要注意存储时不要覆盖了SP指针指向位置。
以上是Datasheet說明
单片机刚上电时,SP指向07H,而07H是很常用到的RAM区,必须修改到不影响RAM的地址去。故有修改SP的要求