ddgw.net
当前位置:首页 >> 调用DElAy函数延时1秒 >>

调用DElAy函数延时1秒

下面是delay 函延迟函数里执行的都是空语句,也就是说通过循环执行空语句来达到延迟的目的.每执行一条语句,即使是空语句都要耗费电脑一些处理时间的,就是因为这个,在延迟函数里写一些无关紧要的东西,用来浪费电脑处理时间,从而达到延迟目的.数原型:原型:void Delay(unsigned int nDelay) { unsigned int i,j,k; for ( i=0;i<nDelay;i++ ) for ( j=0;j<6144;j++ ) k++; } 用法:#include <system.h> 功能:短暂延时 说明:延时msec*4毫秒所以,delay的延迟时间是和你的cpu时钟周期相关的.

Sleep(1000),就是延时1秒,记住Sleep的S要大写,不然报错!

void DELAY(int z)//延时zms { int x,y; for(x = z;x > 0;x--) for(y = 110;y > 0;y--); }DELAY(1000); 就可以延时1S 但是有很小的误差 精确的只能用定时器了

void delayms(unsigned int z) { unsigned int x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } 写delayms(1000)就可延时一秒了 当然 如果要精确一点 就用定时器

单片机延时一秒 程序是不固定的 要根据你的晶振 计算出一次循环执行需要的时间 然后 写循环次数 一般是 void delay_one_second(void) { int i; for(i = 0; i < TIMES; i++); }这样就可以了. TIMES是要计算的.或者 根据示波器 自己尝试.

在Keil里仿真的话,在配置里把晶振调成12MHz,然后在调用delay函数的地方设置一个断点,开始调试程序,运行到断点处,注意程序左边有一个记录当前寄存器和一些状态的窗口,其中,里面有一个是专门记录当前运行了多少时间的变量,记下当前时间T1,然后按F10(不进入子函数)调试,再记录当前时间T2,则延时=T2-T1.多试几个A,差不多调到1s就够了.我一般都这么调.你要想明白其中原理,想自己算的话,你就看看delay的汇编代码段自己算吧.

MS VC++可以用MFC的Sleep函数,参数是毫秒.delay函数要自己写,编译器里没有.#include <time.h> // 头文件 time_t start_time, cur_time; // 变量声明 time(&start_time); do { time(&cur_time); } while((cur_time - start_time) < 3); 上面的 3 是

声明定义:void delaynms(int n) //n: millisecond { int i,j; for(i=0;i<n;i++) for(int j=0;j<500); } 调用:delaynms(500); //delay 0.5 second

void delay(unsigned milliseconds);将程序的执行暂停一段时间(毫秒) (该函数是TC下特有的函数,VC下应使用Sleep()函数)

for循环呀循环1*38*130次,在最后应该有个延时函数吧,比如c++的sleep(100)啥的.

网站首页 | 网站地图
All rights reserved Powered by www.ddgw.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com