延時通過按鍵調不上去是怎么回事。按鍵增加延時我這設置的2000以下,最高應該能調到2000的延時,但仿真的時候延時感覺1000都加不到,點了幾次增加延時按鍵,延時固定在那不增加了。達不到預期設定值。
int delaynum=100;
void delayms(int k)
{
int i,y;
for(i=k;i>0;i--)
for(y=120;y>0;y--);
}
void key()
{
if(key1==0)
{delayms(20);
if(key1==0)
{if(delaynum<=2000)
delaynum=delaynum+50; //按鍵增加延時
}
while(!key1);}
if(key2==0)
{ delayms(20);
if(key2==0)
{if(delaynum>1)
delaynum=delaynum-50; //按鍵減少延時
}
}
void main()
{
long p=0x7fffffff;
char i;
for(i=32-delayj;i<32;i++)
{key(); //按鍵掃描
led595(p=p<<1); //位移函數
delayms(delaynum); //延時函數
P0=0xf0; //LED燈
if(num!=3) //外部中斷
{return;}
}
|