有一延时子程序,void delay(unsigned int k) ,後面调用时有 delay(1);delay(85); 等,请问分别延时多少
解决时间 2021-03-31 12:40
- 提问者网友:缘字诀
- 2021-03-30 14:22
/****************************延时子程序*********************************
入口参数:k
出口参数:
/***********************************************************************
void delay(unsigned int k) //一个延时函数,具体延长时间和使用的晶体相关
{
unsigned int n; //定义整数变量n
n=0;
while(n {n++;}
return;
}
最佳答案
- 五星知识达人网友:轮獄道
- 2020-01-23 22:10
你使用的是单片机程序吗?具体延长时间和使用的晶体相关。51单片机执行一次加法,需要一个机械周期,即12个时钟脉冲,设延迟时间是T,那么T=K*(晶体频率)/12us,其中,晶体频率单位为Mhz。
如:晶体频率为12MHz,delay(1)延迟1us,delay(85)延迟85us.
Ps:c语言写单片机延时程序,精确度极低,不如用汇编语言写。
全部回答
- 1楼网友:话散在刀尖上
- 2021-01-15 12:58
这是一个函数的声明,末尾应该加上 ;
void 是这个函数的返回值,为空,就是没有返回值.
unsigned int k 是这个函数的参数
unsigned int 是参数k的类型,无符号整数类型.
不知道这么说可以理解么?
- 2楼网友:行路难
- 2019-10-23 13:45
延时时间跟运行速度有关
k次循环,while(n
我要举报
大家都在看
推荐资讯