导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→单片机延时函数里的参数[wwkww]

 *第42077篇: 单片机延时函数里的参数

  
楼 主:wwkww 2006年7月17日15:00
 单片机延时函数里的参数
#include   <AT89X51.H>  
unsigned char i;
unsigned char temp;
unsigned char a,b;

void delay(void)
{
  unsigned char m,n,s;
  for(m=20;m>  0;m--)
  for(n=20;n>  0;n--)
  for(s=248;s>  0;s--);
}
void main(void)
{
  while(1)
    {
      temp=0xfe;
      P1=temp;
      delay();
      for(i=1;i  <8;i++)
        {
          a=temp  <  <i;
          b=temp>  >  (8-i);
          P0=a|b;
          delay();
        }
      for(i=1;i  <8;i++)
        {
          a=temp>  >  i;
          b=temp  <  <(8-i);
          P0=a|b;
          delay();
        }
    }
}

这个程序是单片机流水灯的程序,我很不明白其中的延时函数里的i,,j ,k各表示什么意思,其中延时的时间又怎么通过设定的i,j,k来算呢,比如我要延时2ms,该怎么设定i,j,k呢

  
2楼:wangxueyou 2006年7月18日20:48
 huifu
楼主 哪里有什么j,k啊   是m,s, n吧 其实延时时间是根据指令执行所需要的时钟数和单片机工作频率决定的 在C语言中,延时并不是很准确 也不好计算 相对来说 汇编中的延时要好计算的多  你可以把程序放在KEIL C中执行一下 KEIL C中有执行时间的显示  需要根据那个显示来调整你的变量.

>>>>>>对该主题发表你的看法

本主题贴数2,分页: [第1页]


[上一篇主题]:供Z2148 ARM7开发板

[下一篇主题]:ARM/DSP/FPGA