#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://www.51hei.com/bbs/) | Powered by Discuz! X3.1 |