51单片机循环延迟函数,外循环和内循环讲解
时间: 2023-11-29 18:59:44 浏览: 240
51单片机循环延迟函数通常使用两个循环,一个外循环和一个内循环。
外循环是用来控制延迟的时间,内循环是用来控制延迟的次数。
具体来说,外循环的计数器通常是一个较大的数值,比如1000或者2000,用来控制整个延迟的总时间。内循环的计数器通常是一个较小的数值,比如10或者20,用来控制每个小时间段内延迟的次数。
在程序中,循环延迟函数的代码通常类似于下面的样子:
```c
void delay(unsigned int xms) //延时函数
{
unsigned int i,j;
for(i=0;i<xms;i++)
for(j=0;j<20;j++);
}
```
其中,外循环的计数器 i 控制总的延迟时间,内循环的计数器 j 控制每个小时间段内的延迟次数。这个函数的作用是延迟 xms 毫秒。
需要注意的是,循环延迟函数的精度不是很高,因为它的延迟时间是由 CPU 的执行速度决定的,而 CPU 的执行速度受到很多因素的影响,比如主频、工作温度等等。因此,如果需要更高精度的延迟,可以考虑使用定时器或者外部晶振来实现。
阅读全文