写一个单片机延时循环函数50MS
时间: 2024-05-05 15:22:11 浏览: 112
假设使用的是51系列单片机,可以用以下代码实现50ms的延时循环函数:
```c
void delay_50ms() {
unsigned int i, j;
for (i = 0; i < 33; ++i) {
for (j = 0; j < 500; ++j) {
// 1us 的延时
}
}
}
```
其中,循环的次数是通过试验得出的,具体的值可能因单片机型号和频率而异。这个函数的实现原理是在内部通过循环消耗一定的时间,从而实现延时的效果。
相关问题
写一个51单片机延时循环函数
以下是一个简单的51单片机延时循环函数:
```c
void delay(unsigned int ms)
{
unsigned int i, j;
for(i = 0; i < ms; i++)
for(j = 0; j < 1141; j++);
}
```
该函数接受一个无符号整数参数 `ms`,表示需要延时的毫秒数。函数中使用了两个嵌套的循环,第一个循环控制延时的次数,第二个循环执行空操作来消耗时间。根据实际情况,可以调整第二个循环中的常数值来控制延时的精度。
写一个51单片机延时1ms函数
以下是一个简单的51单片机延时1ms函数的代码:
```
void delay_ms(unsigned int ms)
{
unsigned int i, j;
for(i = 0; i < ms; i++)
for(j = 0; j < 1141; j++);
}
```
这个函数使用了一个简单的循环来实现延时,每个循环大约需要1us的时间,因此循环1141次可以实现1ms的延时。
阅读全文