怎样写for循环程序

本人刚学C51单片机,呵呵完全是自学,没有人指导,刚刚开始学,刚写了个程序就是一个LED等循环200次然后让常亮。程序应该怎么写,谢谢了!我写了程序不知道怎么循环,然后跳... 本人刚学C51单片机,呵呵完全是自学,没有人指导,刚刚开始学,刚写了个程序就是一个LED等循环200次然后让常亮。程序应该怎么写,谢谢了!我写了程序不知道怎么循环,然后跳出循环!
#include <reg52.h>//定义头文件
#include <intrins.h>
#define uint unsigned int//宏定义
#define uchar unsigned char
uchar a,num,i;
sbit led1=P1^0;//定义输出口
void delay(uint z);//延时函数定义
void main()//主函数
{
while(1)
for(num=0;num<200;num++)
{

led1=1;
delay(50);
led1=0;
delay(50);
break;

}

led1=0;
}
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=100;y>0;y--);
}
还是不能跳出循环,LED一直在闪烁!
展开
 我来答
百度网友e591bcd
2010-08-03 · TA获得超过988个赞
知道小有建树答主
回答量:518
采纳率:0%
帮助的人:405万
展开全部
#include <reg52.h>//定义头文件
#include <intrins.h>
#define uint unsigned int//宏定义
#define uchar unsigned char
uchar a,num,i;
sbit led1=P1^0;//定义输出口
void delay(uint z);//延时函数定义
void main(void)//主函数
{
//这里应该定义P1^0是输出 还是输入吧??
//方向向量的设置

while(1)
{ //注意这个大括号
for(num=0;num<200;num++)
{

led1=1;
delay(50);
led1=0;
delay(50);
break;

}
};//注意这里的大括号 分号

led1=0;
}
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=100;y>0;y--);
}

/*这是单片机。懂不???
//因为有
while(1)
{
//.......

};

这是一个死循环。不是没有跳出for 循环,而是没跳出while(1);这个循环。
这是必须的。这就像是你电脑的操作系统不能跳出循环,除非你关机。如果你跳出循环了,你还能用它所提供的服务么?你的操作系统都不运行了。你还想在电脑上玩游戏???这是在做梦。

如果你想它闪一段时间后就停止,你可以在 里面加两句:
while(1)
{
//.....
delay(x);//你自己定义x
break;
}
ncpbest
2010-08-17
知道答主
回答量:7
采纳率:0%
帮助的人:0
展开全部
我改了一下,这要是你没改清楚while(1)是一直执行这个程序,可以用break,和goto跳出,你看一下,有问题还可以再交流。
#include <reg52.h>//定义头文件
#include <intrins.h>
#define uint unsigned int//宏定义
#define uchar unsigned char
uchar a,num,i;
sbit led1=P1^0;//定义输出口
void delay(uint z);//延时函数定义
void main()//主函数
{
while(1) //这里少了大括号
{
for(num=0;num<200;num++)
{

led1=1;
delay(50);
led1=0;
delay(50);
//break;//这里错了,没有循环200次,就一次就出来了,去掉break。

}

led1=0;
break;//这里跳出while,也可以在这里写死循环,让程序等在这里。
}
while(1);//wait here
}
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=100;y>0;y--);
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kuan997
2010-08-04
知道答主
回答量:6
采纳率:0%
帮助的人:0
展开全部
如果你想它闪一段时间后就停止,你可以在 里面加两句:
while(1)
{
//.....
delay(x);//你自己定义x
break;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式