#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灯弱弱的亮一下,不能正常运行。求指点,谢谢!
|