单片机执行完main主程序之后,会一遍接一遍的反复再执行吗?

那单片机执行完程序后,各引脚的状态是怎样的呢?会保持在程序刚要结束时的吗?... 那单片机执行完程序后,各引脚的状态是怎样的呢?会保持在程序刚要结束时的吗? 展开
 我来答
47okey
2010-11-28 · TA获得超过1.2万个赞
知道大有可为答主
回答量:5900
采纳率:75%
帮助的人:2374万
展开全部
不会。要在主程序结束前加一条返回指令。
C的可以main前面加一条while(1),汇编的可以在主程序结束后面加一条LJMP MAIN
不亦心
推荐于2017-11-28 · TA获得超过1442个赞
知道小有建树答主
回答量:587
采纳率:0%
帮助的人:457万
展开全部
对于C语言,一般建议结构为:
void main
{
while(1)//确保主程序循环执行
{主程序内容}
}

汇编结构:
ORG ****H
start:主程序内容
LJMP start//循环执行主程序
END

或者你让主程序只执行一次,就用如下结构:
void main
{
主程序内容;
while(1);//程序停止在这
}

汇编就是:
ORG ****H
start:主程序内容;
SJMP $;停止
END

以上是建议写法。
下面是不建议的,危险写法,只是补充一下:
void main
{
主程序内容;
}
这样写,在keil里编译后,单片机也是重复执行主函数的,这一点具体你可以试验,自己写段代码,然后反汇编,看起汇编代码便可知道。虽然在keil里面是这样,但是不建议这样写,其他编译器这样写,有可能就会导致程序跑飞不可控。要注意养成好的编程习惯。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
汝德焮0Ir
2010-12-01
知道答主
回答量:6
采纳率:0%
帮助的人:0
展开全部
不会,你可以吧你的程序放到一个循环循环指令里,如上说的,while,for,这样就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
syond
2010-11-28
知道答主
回答量:24
采纳率:0%
帮助的人:16.6万
展开全部
是的,main的} 点状态保持。
单片机的程序是没有结束的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
流星508
2010-11-28
知道答主
回答量:19
采纳率:0%
帮助的人:0
展开全部
void main
{
---------;
while(1);//程序停止在这
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式