用C51在keil上面开发单片机程序时发现1.程序执行完main函数后会自动跳转到main函数开始重新执行。2.在程序

发现用判断语句条件在满足之后程序并不跳转(对于判断语句或者循环语句有什么注意事项,烦请各位大虾指导一下)。
先行谢过各位了。我有看汇编出来的程序,main函数结束确实是RET,为什么不是END语句呢

1. 正式产品的C51程序应该是一个死循环。如果不是死循环,执行完main后,执行RET,将会将堆栈里的数据当做地址压入PC,程序跑错。最后会回到地址0000H,重新开始,进入main。你仿真在00H做中断,就会发现他回去了。
2. 你说的不清楚,跳转还是会跳转的。程序运行结果正确就说明没有错。除非你程序错误。如果你是在仿真时看到没有跳转,还是在那一行,那是他还有数据要处理,看汇编就知道了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-12-21
以前我也有类似的情况,但是原因不一定都一样,一般是延时函数有问题,再去调试下吧!时间改改,不行再说!
第2个回答  2010-12-21
二楼说的很明白了我就不说了,抱歉 ,我是来打酱油的路过
相似回答