永发信息网

有一延时子程序,void delay(unsigned int k) ,後面调用时有 delay(1);delay(85); 等,请问分别延时多少

答案:3  悬赏:30  手机版
解决时间 2021-03-31 12:40
/****************************延时子程序*********************************
入口参数:k
出口参数:
/***********************************************************************
void delay(unsigned int k) //一个延时函数,具体延长时间和使用的晶体相关
{
unsigned int n; //定义整数变量n
n=0;
while(n {n++;}
return;
}
最佳答案
你使用的是单片机程序吗?具体延长时间和使用的晶体相关。51单片机执行一次加法,需要一个机械周期,即12个时钟脉冲,设延迟时间是T,那么T=K*(晶体频率)/12us,其中,晶体频率单位为Mhz。
如:晶体频率为12MHz,delay(1)延迟1us,delay(85)延迟85us.
Ps:c语言写单片机延时程序,精确度极低,不如用汇编语言写。
全部回答
这是一个函数的声明,末尾应该加上 ; void 是这个函数的返回值,为空,就是没有返回值. unsigned int k 是这个函数的参数 unsigned int 是参数k的类型,无符号整数类型. 不知道这么说可以理解么?
延时时间跟运行速度有关 k次循环,while(n
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯