奇怪了为什么LED可以一直闪烁
时间:10-02
整理:3721RD
点击:
大家好,我是新手,下面是我用STC89C52编的程序
为何这样也能实现闪烁
#include<reg52.h>
sbit D1=P1^0;
long i;
void main()
{
D1=0;
for(i=0;i<0xffff;i++)
D1=1;
for(i=0;i<0xffff;i++)
D1=0;
}
我理解的是只闪烁一次就该停了
为什么一直在闪烁没有停呢
为何这样也能实现闪烁
#include<reg52.h>
sbit D1=P1^0;
long i;
void main()
{
D1=0;
for(i=0;i<0xffff;i++)
D1=1;
for(i=0;i<0xffff;i++)
D1=0;
}
我理解的是只闪烁一次就该停了
为什么一直在闪烁没有停呢
单片机这东西,程序完事又会重新跑程序,而不是你想的那样,只要有电,都会一直执行
如果你不想它闪烁,你就得等待。你这样虽然没有循环,但是程序一遍遍执行也和循环一样了
没有等待信号,和加while是一样的
这for循环我也是醉了。
你最后加一句while(1);
应该就只闪一次,如果程序跑到main返回,那么后面是什么情况是不可预料的
正好你看到了,后面是继续回来执行main
你想想,你写的代码执行完之后,单片机会做什么?
main之后,还会再main。
加油加油!