为什么单片机复位后SP的值写为60H(应该说30-7F都是可以的啊)

如题所述

单片机复位后SP的值一般要用一条指令赋值为60H,这只是个别人写程序的爱好与习惯罢了,没有任何规定必须是赋值60H,更没有任何原因必须选60H。
就单片机复位后,SP=07H,不用重新赋值也是可以的,否则,为什么当初设计者会这么设计呢。由于51单片机的堆栈是向上增长的,所以,为了避免堆栈区与用户数据区互相影响,才将SP设置在60H以后,比较合理的是赋值为6FH,这样堆栈区可用70H~7FH,预留有16个单元足够,也不浪费。
温馨提示:内容为网友见解,仅供参考
无其他回答

为什么单片机复位后SP的值写为60H(应该说30-7F都是可以的啊)
单片机复位后SP的值一般要用一条指令赋值为60H,这只是个别人写程序的爱好与习惯罢了,没有任何规定必须是赋值60H,更没有任何原因必须选60H。就单片机复位后,SP=07H,不用重新赋值也是可以的,否则,为什么当初设计者会这么设计呢。由于51单片机的堆栈是向上增长的,所以,为了避免堆栈区与用户数据区互...

单片机-堆栈有何作用?复位时SP=07H吗?为什么要设SP...
无法恢复了。一般我们都要重新设置SP,一般SP=70H就够用了。堆栈区间就是70H到7FH,这样你就不会冲突了。

80C51单片机片内RAM低128个存储单元划分为哪4个主要部分?各部分主要功 ...
30-7FH有80个字节单元,可以采用字节字节寻址的方法访问堆栈区及堆栈指示区 堆栈是在片内RAM中数据先进后出的一个存储区域。堆栈指针SP是存放当前堆栈栈顶所对应的存储单元地址的一个8位寄存器。系统复位后SP为07H,而07H一般是寄存器区,所以,一般可以通过对SP赋值,可以使堆栈区设定在RAM中的某一区域,但堆栈的深度...

为什么我的单片机程序没有加while(1)这个循环,它确能自己循环?怎么才能...
其实这个事没什么很神秘,你觉着不可思议是因为你不熟悉CPU内部的原理。你可以自己试一下这个事情,在你的开发环境里软件调试状态,把程序调进出单步运行,最好是在反汇编状态下运行,看程序在进行main循环之前做了什么,在你的while循环结束之后它又做了什么。如果你试过之后还不明白,可以追问。

跪求~8051单片机工程实践任务键定义思路!懂单片机的来~~~
任务是:利用键盘(单片机键盘,不是电脑键盘)输入-19999到+19999任意五套数~可是只有4个键(K1--K4)可以利用,要输入0--9十个数、要有确认键、复位键、还有小数点的输入、位选控制。但前... 任务是:利用键盘(单片机键盘,不是电脑键盘)输入-19999到+19999任意五套数~可是只有4个键(K1--K4)可以利用,要输入0...

求汇编中可以互换的指令,高分!满意再加分!
执行本指令后,进位位(C)及溢出位(OV)被清除为0 24.DA A 1 1 将累加器A作十进制调整,若(A) 3-0>9或(AC)=1,则(A) 3-0←(A)3-0+6 若(A) 7-4>9或 (C)=1,则(A) 7-4←(A)7-4+6 逻辑运算指令 25.ANL A,Rn 1 1 将累加器的值与寄存器的值做AND的逻辑判断,结果存回累加器26....

基于单片机的数字时钟设计开题报告
void timer1() interrupt 1 using 0 { TH0=0xd8; \/\/重新赋值 TL0=0xf0;count++;xianshi();if (count==99) \/\/100x10ms=1S,大致延时时间 { count=0;second++; \/\/秒加1 if(second==60)minute++;{ if(second==60)

求单片机控制温度传感器,LCD显示温度值,温度达到30度时,蜂鸣器报警的报 ...
这个有现成的,楼主可以省很多力气了,请在网上下一个proteusv7.8,里边程序,仿真电路都有。程序所在路径:C:\\Program Files\\Labcenter Electronics\\Proteus 7 Professional\\SAMPLES\\VSM for 8051\\8051 with a DS18B20 Temperture Sensor 源程序:ds18b20.asm 要代码,追问哈。没仔细看楼主要求,1602也有哈...

单片机 通过DS18B20测试当前环境温度, 并通过数码管显示当前温度值
bit readBit() 这个函数应该就是判断是不是可以读去数据了,因为18B20读写时序都很复杂。unsigned char readByte() :读一个字节,单片机接收一个18B20向它的字节。一般用于读取温度值。void writeByte(unsigned char dat),int getTmpValue():单片机向18B20写一个字节,一般用于发送命令。

怎样用51单片机实现累加计时和倒计时,并用六个共阴极数码管显示出来。用...
2764:EPROM,为单片机提供外部的程序存储区。开关K0、K1、K2分别调整秒、分、时。按键RESET:在复位电路中,起到程序复位的作用。按键PULSE:提供单脉冲,从而实现单片机对外部脉冲的计数功能,利用单脉冲实现相应位加1。(2)地址分配和连接P2.7:和写信号一起组成字位口的片选信号,字位口的对应地址位8000HP2.6:和写...

相似回答