标题: 如果单片机程序中没有while(1) [打印本页]

作者: heicad    时间: 2014-6-18 00:52
标题: 如果单片机程序中没有while(1)
如果程序中没有死循环,而是一个开路。那么单片机顺序执行完所有语句后,应该执行什么?
我们没有给单片机指示做什么,这里容易会出错。KEIL C51编辑器遇到这种情况时,会自动从主函数开始处执行。
示例代码如下,在keil中生成hex文件,实验结果是LED灯在不同的闪烁,表明KEIL编辑器不断重复的从main函数开头处执行程序。

#include
void delay(void)
{
int i,j;
   for(i=0;i<250;i++)
   for(j=0;j<100;j++);
}
void main()
{
P0=0Xaa;
delay();
P0=55;
delay();
}


作者: dongmaowan    时间: 2014-6-18 11:53
main 有返回类型值,那就不可估计了,正常main函数返回为空所以会重新执行,所以正常单片机要有个循环为结束方式。
作者: openpppp2008    时间: 2014-7-5 20:38
谢谢分享




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1