标题: [求助]延时程序参数修改,发现有两个参数,改哪个? [打印本页]

作者: longzhiming    时间: 2012-5-4 22:50
标题: [求助]延时程序参数修改,发现有两个参数,改哪个?

#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这个参数吗? 谢谢

 

 


作者: 青苹果    时间: 2012-5-5 08:36
都有效吧
作者: 志在四方    时间: 2012-5-5 11:31
都有效的   只是你改的600不明显 1000改为2000效果明显一点
作者: longzhiming    时间: 2012-5-5 13:28

谢谢,改600确实不明显,  但还没弄懂它们之间关系,知道600是判断和计算600次,那1000就不知道跟这个有什么关系了.


作者: longzhiming    时间: 2012-5-5 13:30
以下是引用志在四方在2012-5-5 11:31:39的发言:
都有效的   只是你改的600不明显 1000改为2000效果明显一点

谢谢,改600确实不明显,  但还没弄懂它们之间关系,知道600是判断和计算600次,那1000就不知道跟这个有什么关系了.


作者: dallas48    时间: 2012-5-30 15:31

打个比方:

假如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