C语言delay的延时函数怎么写
1、delay函数是一般自己定义的一个延时函数。
2、C语言定义延时函数主要通过无意义指令的执行来达到延时的目的。
// 定义一个延时xms毫秒的延时函数
void delay(unsigned int xms) // xms代表需要延时的毫秒数
{
unsigned int x,y;
for(x=xms;x>0;x--)
for(y=110;y>0;y--);
}
C语言的延迟函数一般是利用无意义程序运行来控制时间从而达到延时的目的
举个例子:
for(i=0;i<x;i++)
for(j=0;j<120;j++);
这是延时x毫秒的for循环语句。
值得注意的是记得最后的;一定得记得写。
C语言delay能延时几分钟用吗
可以啊虽然有的平台,限制了delay的最大值但你可以循环用啊。 比如delay单位是毫秒的。 可以写这样的照这个思路,还可以delay分钟,delay小时,delay若干天。。。当然 随着越来越久,误差会有一些不过影响不大。延时10秒钟,实际延时10.01秒 一样没事的。 延时10分钟,多延时两三秒也不会成为问题的。
c语言延时函数delay,怎么算延时
就是用晶振频率算cpu指令周期,再算Delay循环中有几条代码,需要多少个指令周期。除一下可以算个大概。具体你可以结合硬件资料来算。但是用Delay函数来延迟不止和CPU指令周期有关,还和你是否使用了操作系统用了哪种操作系统有关。总之受影响的因素很多,做不到特别精确的。
c语言三重循环延时程序
不可能的,是不是你的编译有错的啊我改的晶振12M,在KEIL 4.0 里面编译的,为你得出的结果最大也就是40ms,这是软件的原因,不可能出现100ms那么大的差距,是你的软件的原因。不信你实际编写一个秒钟,利用原理计算编写一个烧进单片机和利用软件测试的秒程序烧进单片机,你会发现原理计算的程序是正确的
单片机c语言的延时程序500ms
51单片机执行一个语句相当于24个晶振周期,for(j=110;j>0;j--);这个语句每次执行相当于执行4个语句,也就是96个晶振周期,执行110次,你用的单片机应该是11.0592Mhz的,因此 for(j=110;j>0;j--);所用时间为:96*110/11059200,约等于1ms,所以执行这个语句110约等于1ms,500此就是500ms
还没有评论,来说两句吧...