#include <reg51.h>
sbit P1_0=P1^0;
void Delay(unsigned int a)
{ unsigned int i;
while(--a != 0)
{for(i=0; i <600; i++);}
}
void main(void)
{ while (1)
{ P1_0 = 0;
Delay(1000);
P1_0 = 1;
Delay(1000); }
}
600 和1000,我試了,改600無效,改1000成2000馬上見效,疑惑這兩個數有什么關系? 改延時時間只需改1000這個參數嗎? 謝謝
謝謝,改600確實不明顯, 但還沒弄懂它們之間關系,知道600是判斷和計算600次,那1000就不知道跟這個有什么關系了.
謝謝,改600確實不明顯, 但還沒弄懂它們之間關系,知道600是判斷和計算600次,那1000就不知道跟這個有什么關系了.
打個比方:
假如600那個內循環定時5ms,你600改成1000也不過是改成了5*(1000/600)ms,相差不過是幾毫秒,話說不是孫悟空的火眼金睛是無法分辨出幾毫秒的差別的
而你1000改成2000,那就是1000*5ms=5s,從5秒延時修改到了10秒延時,這個當然很明顯了
| 歡迎光臨 (http://m.raoushi.com/bbs/) | Powered by Discuz! X3.1 |