c51写一个1ms的延时函数
时间: 2024-05-01 10:22:01 浏览: 92
51单片机1ms延时程序
以下是使用C51实现1ms延时函数的示例代码:
```c
void delay_ms(unsigned int n) // n为要延时的毫秒数
{
unsigned int i, j;
for (i = 0; i < n; i++)
for (j = 0; j < 114; j++); // 114是根据晶振频率和机器周期计算得出的,具体数值需要根据实际情况调整
}
```
在上面的代码中,我们使用了两个for循环来实现延时,其中内层循环的次数需要根据实际情况进行调整。在这个例子中,我们假设使用的晶振频率为11.0592MHz,因此每个机器周期的时间为1/12MHz=0.083us,那么经过计算可以得到114个机器周期大约等于1ms,因此内层循环的次数就是114。当然,这个数值会因为实际的晶振频率和机器周期而有所不同,需要根据实际情况进行调整。
阅读全文