Ⅰ c语言delay延时时间怎么算
DelayMS(300)表示希望系统delay 300毫秒,系统有自己的RTC,根据硬件的晶振(Hz)可以计算出一次振荡大约多少耗时,这样就能大约算出1ms需要多少次振荡;
简单比喻一次振荡需要1us,那1ms就是1000次振荡,300ms就是300x1000次振荡,这样就能大概的计算出300ms delay;
这得看你的CPU运行一条指令得多久,像单片机89C51一般一条1us。
Ⅱ c语言延时语句
#include<windows.h>
里面有一个Sleep()函数(注意首字母大写)。
还有别的方法,个人觉得这个最简单了,下面是我从MSDN给你找的关于这个函数的详细资料
函数原形:
VOID Sleep( DWORD dwMilliseconds // sleep time
);
ParametersdwMilliseconds [in] Specifies the time, in milliseconds, for which to suspend execution. A value of zero causes the thread to relinquish the remainder of its time slice to any other thread of equal priority that is ready to run. If there are no other threads of equal priority ready to run, the function returns immediately, and the thread continues execution. A value of INFINITE causes an infinite delay. Return ValuesThis function does not return a value. ==========================================================
调用的话,你懂的,呵呵,希望能帮到你。
Ⅲ C语言延时函数
C语言的延迟函数一般是利用无意义程序运行来控制时间从而达到延时的目的
举个例子:
for(i=0;i<x;i++)
for(j=0;j<120;j++);
这是延时x毫秒的for循环语句。
值得注意的是记得最后的;一定得记得写。
Ⅳ c语言延时程序
这个延时程序是用在单片机上吗? 如果是用在单片机上的,
算应该是算不准的,而且不同的晶振延时也不一样,
可以通过开发软件的调试功能来查看延时程序的精确延时。
Ⅳ c语言延时1秒怎么写
#include <windows.h> Sleep(1000)
简介
C语言是一门面向过程的计算机编程语言,与C++、C#、Java等面向对象编程语言有所不同。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
C语言描述问题比汇编语言迅速、工作量小、可读性好、易于调试、修改和移植,而代码质量与汇编语言相当。C语言一般只比汇编语言代码生成的目标程序效率低10%-20%。因此,C语言可以编写系统软件。
当前阶段,在编程领域中,C语言的运用非常之多,它兼顾了高级语言和汇编语言的优点,相较于其它编程语言具有较大优势。计算机系统设计以及应用程序编写是C语言应用的两大领域。同时,C语言的普适较强,在许多计算机操作系统中都能够得到适用,且效率显着。
C语言拥有经过了漫长发展历史的完整的理论体系,在编程语言中具有举足轻重的地位。
。
Ⅵ c语言 延时程序
这是一个延时程序,c是延时的相对长短
有两层for循环执行空语句达到延时目的。
c只是延时的相对大小,c大了,外层循环就多,
时间就长一些。反之亦然。
Ⅶ 如何计算C语言中的延时函数
你
的程序有问题额。
void
daly()
{unsigned
char
j;
for(j=60;j〈=0;j--)
}
你可去看看单片机的时钟信号产生电路中的有关
节拍:指振荡脉冲周期
状态:振荡脉冲尽过2分频后,就是单片机时钟信号的周期,定义为状态,一个状态等于两个节拍
机器周期:单片机采用定时控制方式,有固定的机器周期,一个机器周期等于6个状态,
机器周期=6个状态=12个节拍
当振荡脉冲频率为12mhz时,一个机器周期为1微秒,振荡脉冲频率为6mhz,一个机器周期为2微秒
数据类型中unsigned
char为无符号字符型值域是在0~~~255范围里
在上面我设的是60次的循环,且晶振是约在12mhz,那么可以看出我们的算值是用60x1微秒,即可得到我们所要的延时值啊
Ⅷ 用C语言编程如何计算延时时间
那样子你的调用系统的API来获得调用此函数之前的系统时间,还有调用此函数返回之后的系统时间进行比较。
#include <windows.h>
#include <stdio.h>
voidmain()
{
SYSTEMTIME sys;
GetLocalTime( &sys );
int start=sys.wMilliseconds;//获取开始时的毫秒数
//下面调用你的函数
delay(uint型变量);//这里面的参数你必须自己看着办
GetLocalTime( &sys );
int end=sys.wMilliseconds;//获取调用delay函数之后的秒数
printf("调用delay函数消耗了%d毫秒!\n",end-start);
printf("注意:此程序只能处理1秒以内的延迟毫秒数!");
}
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=125;y>0;y--);
}
Ⅸ c语言有个可以使程序延时的语句是什么
Sleep函数:功 能: 执行挂起一段时间 用 法: unsigned sleep(unsigned seconds); 注意: 在VC中使用带上头文件#include <windows.h>在VC中,Sleep中的第一个英文字符为大写的"S" ,在标准C中是sleep, 不要大写,简单的说VC用Sleep, 别的一律使用sleep 在VC中,Sleep()里面的单位,是以毫秒为单位,所以如果想让函数滞留1秒的话,应该是Sleep(1000); 在Linux下,sleep()里面的单位是秒,而不是毫秒。 示例: #include <windows.h> int main() { int a; a=1000; Sleep(a); return 0; } usleep函数:功能:usleep功能把进程挂起一段时间, 单位是微秒us(百万分之一秒)。 delay函数:功 能: 将程序的执行暂停一段时间,单位是毫秒ms(千分之一秒) 用 法: void delay(unsigned milliseconds); 示例: #include<dos.h> int main(void) { sound(440); delay(500); nosound(); return 0; }delay()是循环等待,该进程还在运行,占用处理器。sleep()不同,它会被挂起,把处理器让给其他的进程。
Ⅹ C语言delay的延时函数怎么写
回答这个问题前提需要搞清楚:
1.你的执行文件在那里运行?
2.你要延时是否“死等”,还是可以切换到其他任务?
-----------------------------------------------
如果你只是学习c语言,写个小函数玩玩,可以如下:
void delay(int time)
{
for(;time>0;time--)
{
nop;//可写任何无意义的操作
}
}
死等型的延时,时间根据指令执行速度不同而不同!!!!