找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3893|回复: 2
打印 上一主题 下一主题
收起左侧

如果单片机程序中没有while(1)

[复制链接]
跳转到指定楼层
楼主
ID:262 发表于 2014-6-18 00:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如果程序中没有死循环,而是一个开路。那么单片机顺序执行完所有语句后,应该执行什么?
我们没有给单片机指示做什么,这里容易会出错。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();
}

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:9542 发表于 2014-6-18 11:53 | 只看该作者
main 有返回类型值,那就不可估计了,正常main函数返回为空所以会重新执行,所以正常单片机要有个循环为结束方式。
回复

使用道具 举报

板凳
ID:63641 发表于 2014-7-5 20:38 | 只看该作者
谢谢分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表