keil中while的使用是怎么回事

GTC TX-1C 51单片机
#include<reg52.h>
sbit p3=P1^2;
sbit p2=P1^1;
unsigned int a;
void main()
{
a=20000;
p3=0;
while(a--);
p3=1;

while(a--);
p2=0;

while(a--);
p2=1;

}
我想让p3,p2俩个二极管交替的亮,发现a越大,p3亮度越大,亮的时间越长,但仍然比p2短,p2没变化。这是怎么回事
while函数这是怎么回事的,从20000减到0后单片机会停止么。

延时用的,执行完P3=0之后单片机就开始从20000减到0再执行P3=1
你每个while(a--)之后你应该添一句 a=20000,不然这个时候的a等于0,没有延时作用。追问

从20000减到0的时间大概是多少,
a=0会怎么样,下一句不执行了么呃?

追答

多少时间看你单片机执行一次减法要多久了。
a=0就不执行while(a--)

温馨提示:答案为网友推荐,仅供参考
相似回答