#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
uchar aa,num;
void main()
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
while(aa<3)
{
if(num%6==0)
{
if(num/6%2==1)
P0=0xaa;
else
{
P0=0x55;
aa++;
}
}
/*
if(num==6)
{
P0=0xaa;
}
if(num==12)
{
num=0;
P0=0x55;
aa++;
}
*/
// 注释里的写法是可以正常运行的。
}
P0=0xff;
while(1);
}
void timer0() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
num++;
}
程序:间隔300ms先奇数亮再偶数亮,循环三次。 P0控制LED。
while(aa<3)语句这样写有问题吗?LED灯弱弱的亮一下,不能正常运行。求指点,谢谢!