找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3878|回复: 5
打印 上一主题 下一主题
收起左侧

[求助]延时程序参数修改,发现有两个参数,改哪个?

[复制链接]
跳转到指定楼层
楼主
ID:34602 发表于 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这个参数吗? 谢谢

 

 

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:27916 发表于 2012-5-5 08:36 | 只看该作者
都有效吧
回复

使用道具 举报

板凳
ID:34099 发表于 2012-5-5 11:31 | 只看该作者
都有效的   只是你改的600不明显 1000改为2000效果明显一点
回复

使用道具 举报

地板
ID:34602 发表于 2012-5-5 13:28 | 只看该作者

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

回复

使用道具 举报

5#
ID:34602 发表于 2012-5-5 13:30 | 只看该作者
以下是引用志在四方在2012-5-5 11:31:39的发言:
都有效的   只是你改的600不明显 1000改为2000效果明显一点

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

回复

使用道具 举报

6#
ID:41067 发表于 2012-5-30 15:31 | 只看该作者

打个比方:

假如600那个内循环定时5ms,你600改成1000也不过是改成了5*(1000/600)ms,相差不过是几毫秒,话说不是孙悟空的火眼金睛是无法分辨出几毫秒的差别的

而你1000改成2000,那就是1000*5ms=5s,从5秒延时修改到了10秒延时,这个当然很明显了

 

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表