天天看點

單片機:延時

1.實作延時通常有兩種方法:一種是硬體延時,要用到定時器/計數器,這種方法可以提高CPU的工作效率,也能做到精确延時;另一種是軟體延時,這種方法主要采用循環體進行。

2.在電子技術中,脈沖信号是一個按一定電壓幅度,一定時間間隔連續發出的脈沖信号。脈沖信号之間的時間間隔稱為周期;而将在機關時間(如1秒)内所産生的脈沖個數稱為頻率。頻率是描述周期性循環信号(包括脈沖信号)在機關時間内所出現的脈沖數量多少的計量名稱;頻率的标準計量機關是Hz(赫)。電腦中的系統時鐘就是一個典型的頻率相當精确和穩定的脈沖信号發生器。

3.時鐘周期:也稱為振蕩周期,一個時鐘周期 = 晶振的倒數。對于單片機時鐘周期,時鐘周期是單片機的基本時間機關,兩個振蕩周期(時鐘周期)組成一個狀态周期。

4.機器周期:單片機的基本操作周期,在一個操作周期内,單片機完成一項基本操作,如取指令、存儲器讀/寫等。

5.機器周期=6個狀态周期=12個時鐘周期。

6.51單片機的指令有單位元組、雙位元組和三位元組的,它們的指令周期不盡相同,一個單周期指令包含一個機器周期,即12個時鐘周期,是以一條單周期指令被執行所占時間為12*(1/ 晶振頻率)= x μs。常用單片機的晶振為11.0592MHz,12MHz,24MHz。其中11.0592MHz的晶振更容易産生各種标準的波特率,後兩種的一個機器周期分别為1 μs和0.5 μs,便于精确延時。

void delay(uint x) //延時X毫秒

  {

  uint y,z;

  for(z=x;z》0;z--)

  for(y=110;y》0;y--);

  }      
void delay_ms(uint n) //延時n毫秒

  {

  uchar i;

  while(n--)

  {

  for(i=0;i《120;i++);

  }

  }      
上一篇: 單片機實戰
下一篇: 單片機:ISP

繼續閱讀