
你好!
如果你要求是比较准确的延时程序,是一定要用定时器中断的,如果是大约的时间,是要知道你的晶振大小,然后用
while(a)
{
a--;
}
就可以了
如果对你有帮助,望采纳。
这怎么是延时1ms的程序?
k不一样延时也不一样。
而这种靠执行指令延时的程序的延时里昂:
1
可以通过查看她的反汇编代码来分析得到。
2
也可以通过定时计数器的获得。
执行前从0开始计数启动定时器,然后以一定参数k调用delay,在返回后检查定时器的计数值
t。
t
=
tc
+
k
t0,
tc是任何一次调用都具有的调用开销。
t0时k=1时去掉调用开销tc的循环体执行时间。
给两个不同的k得到两个不同的t,就可以确定这两个参数
tc和t0。
从而就可以根据谣言吃的时间和容易的计算出k的值。
#include<dosh>
void
fun()
{
delay(10000);
}
调用系统的延迟函数delay,该函数的延时单位是毫秒,所以括号内写10000毫秒,即延迟10秒
keilc51好像也是用C编程,
一般延迟程序就是增加系统负载比如:
int i,j;
yanchi()
{
for(i=0;i<1000;i++)
for(j=0;j<1000;j++)
;
}
这样就可以达到延迟的目的,具体参数你可以随便设。
延时:
#include<timeh>
void wait ( int seconds )
{
clock_t endwait;
endwait = clock () + seconds CLOCKS_PER_SEC ;
while (clock() < endwait) {}
}
------------
调用:
(void) wait (1); //延时 1 秒
(void) wait (1800); // 延时 1800 秒 就是 30 分钟
先加个 #include<windowsh>
然后延迟一秒就是 Sleep(1000); 就行了
1000代表1000毫秒 也就是一秒
#include<iostreamh>
#include<windowsh>
void main()
{
for(int i=0;i<50;++i)
cout<<"#";
cout<<endl;
Sleep(1000);
for(i=0;i<50;++i)
cout<<"#";
cout<<endl;
}
以上就是关于怎么用c语言定义一个1ms的延时程序;只用while、 for 等,不用定时器和中断全部的内容,包括:怎么用c语言定义一个1ms的延时程序;只用while、 for 等,不用定时器和中断、用C语言编程如何计算延时时间、急需一个延时10秒的C语言程序,求大师帮忙,谢谢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)