郭天祥 单片机第二讲疑问

来源:百度知道 编辑:UC知道 时间:2024/06/28 20:01:16
刚开始测试的时候~他输入的代码为

#include<reg52.h>
sbit p1_1=P1^0
unsigned int a
void main()
{
a=50000;
p1_1=0;
while(a--);
a=50000;
p1_1=1;
}

为什么实验班上看到发光二极管是一会亮一会儿暗的?应该亮一下然后灭呀。

单片机复位了。程序反复的从开始执行到结束,运行的时间不长,看起来当然是一会亮一会儿暗的。估计是郭天翔跟你开了个玩笑,要么是排版错误。一般main()是不应该结束的,结束后单片机会复位重新运行代码

a=50000;//设置时间
p1_1=0;//灯亮
while(a--);//每次减一个数,直到a为0 ,如果a=0,则跳出这while语句,
//运行下面语句,否则一直在这while里执行减一,在12M时钟时,每微秒减一次
a=50000;//重新设置时间
p1_1=1;灯灭

下面应该还有一条:
while(a--);