单片机C语言延时100毫秒实现方法 - 51系列示例代码
在单片机(如51系列)中,没有提供直接的延时函数。但我们可以通过循环来实现延时。下面是一个简单的实现延时100毫秒的示例代码:
void Delay_100ms() // 延时100毫秒
{
unsigned char i, j;
for (i = 0; i < 20; i++) // 外循环延时约1毫秒
{
for (j = 0; j < 115; j++) // 内循环延时约5微秒
{
// 空操作
}
}
}
int main()
{
// 程序的其他部分
while (1)
{
// 循环执行的代码
Delay_100ms(); // 延时100毫秒
}
return 0;
}
上述代码中,Delay_100ms() 函数通过嵌套的循环来实现延时。外层循环执行20次,每次循环大约延时1毫秒;内层循环执行115次,每次循环大约延时5微秒。这样,20次外层循环的总延时约为100毫秒。在 main() 函数中,我们可以通过调用 Delay_100ms() 函数来实现需要的延时。
需要注意的是,延时函数的延时时间是近似的,因为实际的延时时间会受到单片机的主频和其他因素的影响。如果需要更精确的延时,可以使用定时器来实现。
原文地址: https://www.cveoy.top/t/topic/pgTE 著作权归作者所有。请勿转载和采集!