delay+void+on+variable
作者&投稿:苦哗 (若有异议请与网页底部的电邮联系)
void ddelay(uint k) { uint i,j; for(i=0;i<k;i++) { for(j=0;j<6...
void ddelay(uint k){ uint i, j;for(i=0;i<k;i++){ for(j = 0; j < 60; j++){;} } } 你看这个for循环什么都没做,叫做空循环,这时CPU在空跑而没有处理其他事。这种使用方法就叫做软件延时,一般都是几微秒到几十毫秒,这个函数延时的时间是60*k 个指令周期。
c语言程序 帮我把没一句注释写上,越清楚奖分越多。最好按格式写(第一句...
define unit unsigned int \/*定义数据类型uint为无符号整形*\/ void delay1ms(uint t) \/*声明并且实现函数,函数命为d elay1ms1ms 参数为 uint ,返回值为void*\/ { uint i,j; \/*声明i和t两个uint类型的变量*\/ for(i=0;i<t;i++) \/*根据输入的参数 t,决定循环执行的次数*\/ for(j=0;j...
南华县瑞芝回答: 这是一个延时函数,函数名是delay02,没有参数传递.也没有返回参数.
俟香13031815821问: 有一延时子程序,void delay(unsigned int k) ,后面调用时有 delay(1);delay(85); 等,请问分别延时多少 - ?
南华县瑞芝回答: 你使用的是单片机程序吗?具体延长时间和使用的晶体相关.51单片机执行一次加法,需要一个机械周期,即12个时钟脉冲,设延迟时间是T,那么T=K*(晶体频率)/12us,其中,晶体频率单位为Mhz. 如:晶体频率为12MHz,delay(1)延迟1us,delay(85)延迟85us. Ps:c语言写单片机延时程序,精确度极低,不如用汇编语言写.
俟香13031815821问: void delay(unsigned int i) {while(i -- );}与void - ?
南华县瑞芝回答: 前者语法上是正确的.后者语法上有错误. 假定 for(k=0;k<120;k++)后面漏写了一个分号,纠正为: void delay(unsigned int i) {unsigned char k;while(i--);for(k=0;k<120;k++); } 那么当参数i相同时, 2者 滞后时间 不同,后者 要多花 for(k=0;k<120;k++); 的执行时间. 也就是第一个 滞后时间短, 第2个 滞后时间长一点点.
俟香13031815821问: c语言 delay函数 - ?
南华县瑞芝回答: delay函数功 能: 将程序的执行暂停一段时间(毫秒)(该函数是TC下特有的函数,VC下应使用Sleep()函数)用 法: void delay(unsigned milliseconds);程序例:/* Emits a 440-Hz tone for 500 milliseconds */#include<dos.h>int main(void){sound(440);delay(500);nosound();return 0;}
俟香13031815821问: 52单片机C语言中Delay是什么意思?怎么用? - ?
南华县瑞芝回答: 一般延时1ms的程序是: void Delay(uint x) {uchar i;while(x--){for(i=120;i>0;i--);} }那么当你在别的函数中用到Delay(10000);就是延时10000ms,也就是10S
俟香13031815821问: void delay(uint z) { uint x, y; for(x=z;x>0;x - ?
南华县瑞芝回答: 假设执行一条代码时间为T, 则函数功能:实现延迟100z*T. eg:T=1ms,delay(10)则为延迟1s. void delay(uint z)//延迟函数 { uint x, y; for(x=z;x>0;x--)//外部循环z次 for(y=100;y>0;y--);//内部循环100次 } ps:一般cpu一条命令时间us级,在单片机中可以根据晶振频率设定,达到软件延迟.
俟香13031815821问: while已经是无限循环了,那下面的void delay有限循环起什么作用? - ?
南华县瑞芝回答: 就是个延时函数啊,程序里面的while(1)无限循环是为了让信号灯实现无限次的亮-灭-亮-灭,Delay()函数是给灯的亮-灭之间加一个延时,否则按照单片机的速度你根本看不出来灯在闪
俟香13031815821问: 分析一下该程序如何实现延时的? void delay(uchar i) //短暂延时 { while(i -- ); } - ?
南华县瑞芝回答: 每执行一条语句总会占用一定的指令时间,若i--不为0,则while循环会一直执行空操作,就能达到延时的目的,延时的长短就看i的大小了
俟香13031815821问: c语言 delay()的用法??
南华县瑞芝回答: void delay(int ms); ms为延时的毫秒数 如delay(1000);延时1秒
俟香13031815821问: d延时程序void delay(unsigned int i) { unsigned char j; for(i; i > 0; i -- ) for(j = 255; j > 0; j--); - ?
南华县瑞芝回答: 程序写的好像不怎么标准啊,大概的意思就是i从600递减到0,每递减一次,j就从255递减到0,也就是delay(600)要重复操作 600*255=153000次才能跳出,12MHZ晶振的周期是1/12M,单位是秒,循环时间应该是153000*(1/12M),大概就是这个样子