void Delay (unsigned int a){
unsigned int i;
while( --a != 0){
for(i = 0; i < 600; i++);
}
}
这一句delay后面的()内和{}内的表达式和语法是什么关系啊?初学者,见笑哈
定义一个延时xms毫秒的延时函数
void delay(unsigned int xms) // xms代表需要延时的毫秒数
{
unsigned int x,y;
for(x=xms;x》0;x--)
for(y=110;y》0;y--);
}
使用:
void Delay10us(uchar Ms)
{
uchar data i;
for(;Ms》0;Ms--)
for(i=26;i》0;i--);
}
i=[(延时值-1.75)*12/Ms-15]/4
1、在C51中进行精确的延时子程序设计时,尽量不要或少在延时子程序中定义局部变量,所有的延时子程序中变量通过有参函数传递。
2、在延时子程序设计时,采用do…while,结构做循环体要比for结构做循环体好。
3、在延时子程序设计时,要进行循环体嵌套时,采用先内循环,再减减比先减减,再内循环要好。
delay函数是一般自己定义的一个延时函数。
C语言定义延时函数主要通过无意义指令的执行来达到延时的目的。下面给出一个经典的延时函数。
// 定义一个延时xms毫秒的延时函数51单片机C语言中delay函数是怎么定义和使用的?
定义一个延时xms毫秒的延时函数 void delay(unsigned int xms) \/\/ xms代表需要延时的毫秒数 { unsigned int x,y;for(x=xms;x》0;x--)for(y=110;y》0;y--);} 使用:void Delay10us(uchar Ms){ uchar data i;for(;Ms》0;Ms--)for(i=26;i》0;i--);} i=[(延时值...
51单片机中delay.h是怎么来的
从函数中得出来的51单片机C语言中delay函数是怎么定义和使用的,delay函数是一般自己定义的一个延时函数。c语言定义延时函数主要通过无意义指令的执行来达到延时的目的。下面给出一个经典的延时函数。\/\/定义一个延时xms毫秒的延时函数voiddelay(unsignedintxms)\/\/xms代表需要延时的毫秒数{unsignedintx,y;for...
单片机c语言中delay()函数的头文件是什么?
delay函数是一个自己定义的延时函数,C语言定义延时函数主要通过无意义指令的执行来达到延时的目,并没有一个软件自带头文件专门有delay这个函数的。单片机c语言中delay()的使用:voidDelay10us(ucharMs){ uchardatai;for(;Ms》0;Ms--)for(i=26;i》0;i--);} i=[(延时值-1.75)*12\/...
51单片机c语言延时函数 Void delay 1ms(unsigned int ms){un
delay函数是一般自己定义的一个延时函数。C语言定义延时函数主要通过无意义指令的执行来达到延时的目的。关于单片机C语言的精确延时,网上很多都是大约给出延时值没有准确那值是多少,也就没有达到精确高的要求,而本函数克服了以上缺点,能够精确计数出要延时值且精确达到1us,本举例所用CPU为STC12C5412系...
51单片机用c语言怎么写延时函数?
我们只需要自减120次,就可以延时1ms,如果我们要延时50ms呢,那就自减50*120=6000次。那么在程序上如何表达呢?我们可以用两套for循环 void delay(int i){ int x,y;for(x=i;x>0;x--){ for(y=120;y>0;y--)} } 参数 i 代表该函数延时多少ms ...
关于51单片机60秒倒计时的c语言程序,delay和dispiay部分分别什么意思啊...
delay(int t)这个是延时子程序,如果采用20M晶振的话,调用一次延时t毫秒。display()是数码管动态扫描显示子程序,位控位为P3.0、P3.1,段码控制为P1。扫描间隔时间为5毫秒左右。
单片机C语言中为什么要定义 如: .. void delay() { for(i=0;i<10...
这个函数是用来进行时钟延时的。一般做一个硬件操作,需要等待一段时间再取结果的时候使用这个函数。i和软硬件都没关系,只是一个循环,目的是让cpu循环10次来等待一小段时间。这个10一般是个经验值,就是说写代码的人凭经验来估算他所采用的cpu(比如51)大致要等这么长时间。它和cpu运算速度以及编译器...
C语言 delay啥意思?
delay是延时函数,delay(2000)表示延迟2000ms,即2s。
谁能帮我解释以着这个51单片机的c语言程序,说的详细些,谢谢!
delay(); \/\/延时 } for(i=1;i<8;i++){ a=temp>>i; \/\/temp右移i位 b=temp<<(8-i); \/\/temp左移8-i位 P1=a|b; \/\/P1赋值,实际上就是让P1=(temp循环右移i位),看下面解释 delay(); \/\/延时 } } temp是8bit数据,假设其8位值分别是:x7,x6,x5,x4,x3...
基于51单片机的C语言延时函数程序编写
void delayus2x(char n)\/\/延时nx2 us { while(--n);} void delayms(unsigned int t)\/\/延时 t x 1ms { while(t--){ delayus2x(245);delayux2x(245);} } delayms(50000);\/\/调用此句延时5s 至于不能大于255,因为你的数据类型为char型,及8字节,最大值为255,2的8次方减一。