微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 奇怪了为什么LED可以一直闪烁

奇怪了为什么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;
}
我理解的是只闪烁一次就该停了
为什么一直在闪烁没有停呢

单片机这东西,程序完事又会重新跑程序,而不是你想的那样,只要有电,都会一直执行

如果你不想它闪烁,你就得等待。你这样虽然没有循环,但是程序一遍遍执行也和循环一样了

没有等待信号,和加while是一样的

这for循环我也是醉了。

你最后加一句while(1);
应该就只闪一次,如果程序跑到main返回,那么后面是什么情况是不可预料的
正好你看到了,后面是继续回来执行main

你想想,你写的代码执行完之后,单片机会做什么?
main之后,还会再main。

加油加油!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top