|
|
if 括號(hào)內(nèi)表達(dá)式錯(cuò)誤。因?yàn)樵谌魏螘r(shí)間都能滿足 if(0<=i<=99) 的判斷條件,不可能進(jìn)入下一條判斷語(yǔ)句。
正常表達(dá)式應(yīng)該這樣寫 if(0<=i && i<=99),原來(lái) if(0<=i<=99)的寫法相當(dāng)于 if(0<=i || i<=99)。
#include<reg52.h>
void Init_Timer(void) //初始化
{
TMOD|=0x01;
TH0=0x00;
TL0=0x00;
EA=1; //總中斷//
ET0=1; //定時(shí)器0允許//
TR0=1; //T0啟停控制//
}
void display()
{
static unsigned char i;
if(0<=i && i<=99)
{
P1=0xed;
}
else if(100<=i && i<=139)
{
P1=0xf3;
}
else if(140<=i && i<=239)
{
P1=0xde;
}
else if(i>239)
{
i=0;
}
i++;
}
void Timer_isr(void) interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
display();
}
void main()
{
Init_Timer();
while(1);
} |
|