本帖最后由 tanfeng 于 2010-2-8 11:33 编辑
小弟写了一个静态显示程序,不知为什么在for循环中加入if(i=17)i=0;这一句会造成程序一直判断i是否等于17?
#include<reg52.h>
#define unit unsigned int
unit code table[]={ 0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F, 0x77, 0x7C, 0x39, 0x5E, 0x79, 0x71, 0x40, 0x80 };
unit i,b,x,y,z;
void delay(unit b) ;
void main()
{ i=0;
while(1)
{ for(i==0;i<=17;i++)
{ P2=0x3c;
P0=table;
delay(1000) ;
//if(i=17)
// i=0;
//放在for中造成死循环?
}
if(i=17)
i=0;
}
}
void delay(unit b)
{ unit x,y;
for(x=b;x>0;x--)
for(y=110;y>0;y--);
} |