流水灯c语言延时程序

流水灯c语言延时程序,第1张

#include <REG52H> // AT89S52标准头文件

#include<intrinsh> // 包含_nop_(); // 大约1us

sbit P20=P2^0;

void Delayus(unsigned int time)//延时时间为 1us x 晶振是110592M

{

unsigned int _y;

for(_y = 0; _y < time; _y++)

_nop_();

}

void main(void)

{

while(1)

{

P20=0; //点亮LED灯

Delayus(50000);

P20=1; //点灭LED灯

Delayus(50000);

}

}

给你个头,按照你给的延时改下就行了

这个是和你机器的运算速度有关的

你要计算出这个函数用了多少时间就要用时间函数,我很久没用了。

#include "stdlibh"

void delay()

{

time_t start,end;

start=time(null);

unchar i;

while(z--)

{

for(i=0;i<121;i++);

}

end=time(null);

printf("%f",difftime(end,start));

}

//time_t是在头文件中定义的,可能是个结构体类型里面的成员定义了一些时间的单位,如年、月、日。在这里调用这个结构体定义2个变量;

//start=time(null);

将其中一个变量赋值。它的值等于当前的系统时间

//end=time(null);

程序结束的时候再给另一个变量赋值,值等于当前的系统时间。

//difftime(end,start)

函数difftime();是double类型,用来计算运行的时间,用第一个参数的时间减去第二个参数的时间,得到的值就是运行用了多少时间。单位为秒

如果是PC平台,用VC开发,实现一毫秒延时可以用以下程序:

#include <stdioh>

#include <windowsh> //Sleep函数对应的库

int main()

{

    int i;

    for (i=0; i<11; i++)

    {

        printf("%d\n", i);

        Sleep(1);// 1 单位是毫秒,实现等待一毫秒

    }

    return 0;

}

如果是嵌入式平台,单片机、dsp等

可以采用芯片的定时器实现精确延时,采用定时器中断,这是就需要根据晶振周期来精确设定定时器初值,然后延时到了就产生中断

可以用以下两种方式

1sleep(n);n是以毫秒为单位的;

2delay(n);n是以毫秒为单位的;

例如延迟一秒是sleep(1)或者是delay(1000);

以上就是关于流水灯c语言延时程序全部的内容,包括:流水灯c语言延时程序、在C语言程序中,延时函数的时间是怎么算的、怎样实现等待一毫秒(用c语言)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9489515.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存