delay的c语言怎么用

供稿:hz-xin.com     日期:2025-01-21
在C语言当中delay是怎么用的?

void main()
{
int i;
char str[] = "what are you fucking doing ?";
int len = sizeof(str)/sizeof(char);
for(i=0; i<len; i++)
{
if(str[i]!=' '&& str[i]!='\0')
{
delay(10000);//此处是有延时的效果,但是不是我想要的每输出一个字符就延时
而是一组后延时,请问这个库函数的用法及实现
}
printf("%c",str[i]);
}
getch();
}

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--);}

给你一个E2PROM下,控制LED显示时间的程序希望对你的学习有帮助。
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit sda=P2^0;
sbit scl=P2^1;
sbit dula=P2^6;
sbit wela=P2^7;
uchar flag,sec;
uint num;
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,//0x77,0x7c,
//0x39,0x5e,0x79,0x71
};
void delay()

void start() //开始信号
{
sda=1;
delay();
scl=1;
delay();
sda=0;
delay();
}

void stop() //停止
{
sda=0;
delay();
scl=1;
delay();
sda=1;
delay();
}

void respons() //应答
{
uchar i=0;
scl=1;
delay();
while((sda==1)&&(i<250))i++;
scl=0;
delay();
}

void init()
{
sda=1;
delay();
scl=1;
delay();
}

void write_byte(uchar date)
{
uchar i,temp;
temp=date;
scl=0;
for(i=0;i<8;i++)
{
temp=temp<<1;
delay();
sda=CY;
delay();
scl=1;
delay();
scl=0;
delay();
}
sda=1;
delay();
}

uchar read_byte()
{
uchar i,k;
scl=0;
delay();
sda=1;
delay();
for(i=0;i<8;i++)
{
scl=1;
delay();
k=(k<<1)|sda;
scl=0;
delay();
}
return k;
}

void delayms(uchar x)
{
uchar a,b;
for(a=x;a>0;a--)
for(b=110;b>0;b--);
}

void write_add(uchar address,uchar date)
{
start();
write_byte(0xa0);
respons();
write_byte(address);
respons();
write_byte(date);
respons();
stop();
}

uchar read_add(uchar address)
{
uchar date;
start();
write_byte(0xa0);
respons();
write_byte(address);
respons();
start();
write_byte(0xa1);
respons();
date=read_byte();
stop();
return date;
}
void display(uchar shi,uchar ge)
{
dula=1;
P0=table[shi];
dula=0;
P0=0xff;
wela=1;
P0=0xfe;//01111111
wela=0;
delayms(5);

dula=1;
P0=table[ge];
dula=0;
P0=0xff;
wela=1;
P0=0xfd;
wela=0;
delayms(5);
}
void main()
{
init();
num=0;
sec=read_add(1);
if(sec>=100)
sec=0;
TMOD=0x01;
TH0=(65536-45872)/256;
TL0=(65536-45872)%256;
EA=1;
ET0=1;
TR0=1;
while(1)
{
display(sec/10,sec%10);
if(flag==1)
{
flag=0;
write_add(1,sec);
}
}
}
void T0_time() interrupt 1
{
TH0=(65536-45872)/256;
TL0=(65536-45872)%256;
num++;
if(num==20)
{
num=0;
sec++;
flag=1;
if(sec==100)
{
sec=0;
}
}
}

  1. 用 法: 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;

    }

  2. 函数名: delay

  3. 功 能: 将程序的执行暂停一段时间(毫秒)

    (该函数是TC下特有的函数,VC下应使用Sleep()函数)

  4. 函数头文件:#include<dos.h>




这两个函数都是将程序的执行暂停一段时间。
sleep是API函数,delay似乎是C专有的。
里面的参数都是毫秒。
delay(1000)是暂停1000毫秒(1秒)
sleep(1)是暂停1毫秒
自然会有不同

delay([毫秒数]);
作用是让当前进程等待[毫秒数],防止100% CPU占有率。

单片机延时c语言程序怎么写?
void delay(){ uint i;for(i=0;i<0x26824;i++);} 在C语言中,也可以嵌入汇编代码来实现更精确的延时。单片机通常会提供多个定时器选项,可以在定时器中断服务程序中实现延时。例如,使用定时器工作方式2,可以实现自动重新装载计数器,实现更精确的延时,甚至达到纳秒级的精度。尽管C语言可能不是...

单片机c语言中delay()函数的头文件是什么?
delay函数是一个自己定义的延时函数,C语言定义延时函数主要通过无意义指令的执行来达到延时的目,并没有一个软件自带头文件专门有delay这个函数的。单片机c语言中delay()的使用:voidDelay10us(ucharMs){ uchardatai;for(;Ms》0;Ms--)for(i=26;i》0;i--);} i=[(延时值-1.75)*12\/...

请问,c语言中的函数sound(),delay(),nosound(),d(x,y,z)分别是哪个库...
原型为: void nosound(void);delay 用于将程序的执行暂停一段时间(毫秒)原型为:void delay(unsigned milliseconds);如delay(5000)表示延迟5秒 sound()函数用于让pc喇叭发声,nosound()函数用于使正在发声的pc喇叭静音。要使程序中的发声的具体方法,是调用sound()函数并延迟一定时间,然后使用nosound()...

C语言的sleep,wait,delay函数有什么区别
){int c;clrscr();printf("\\nHello, world!");sleep(1);clrscr();printf("\\nHi, guys");getchar();return 0;}原型:extern void delay(unsigned int msec);用法:#include <system.h功能:短暂延时说明:延时msec*4毫秒举例:\/\/ delay.c#include <system.hmain(){int c;clrscr();...

C语言delay的延时函数怎么写
回答这个问题前提需要搞清楚:1.你的执行文件在那里运行?2.你要延时是否“死等”,还是可以切换到其他任务?--- 如果你只是学习c语言,写个小函数玩玩,可以如下:void delay(int time){ for(;time>0;time--){ nop;\/\/可写任何无意义的操作 } } 死等型的延时,时间根据指令执行速度不同而不...

单片机c语言 下面的delay(50000)在if中是什么作用?实际现象是什么?谢 ...
if(!key1) ;如果key1按下则执行下面 { P1 = 0xAA;Delay(50000);} if(!key2) 否则如果key2按下则执行下面 { P1 = 0x55;Delay(50000);} if(!key3) 否则如果key2按下则执行下面 { P1 = 0x18;Delay(50000);就是多条件判断语句 ...

C语言delay函数延时计算
C语言delay函数延时计算源代码如下:include "stdlib.h"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));}

单片机c语言编程怎么去延时?
在单片机的C语言编程中,可以使用循环结构来实现延时操作。具体而言,可以使用一个for循环来实现一段时间的延时。以下是一个简单的延时函数的示例代码:void delay_ms(unsigned int ms){ unsigned int i,j;for(i=0;i<ms;i++)for(j=0;j<1000;j++);} 上述代码定义了一个名为delay_ms的函数,...

怎么用C语言写可以调节的延时程序,请大侠帮忙
C语言延时程序:10ms延时子程序(12MHZ)void delay10ms(void){ unsigned char i,j,k;for(i=5;i>0;i--)for(j=4;j>0;j--)for(k=248;k>0;k--);} 1s延时子程序(12MHZ)void delay1s(void){ unsigned char h,i,j,k;for(h=5;h>0;h--)for(i=4;i>0;i--)for(j=116;...

delay函数是什么意思?
delay通常是延时程序,其参数为100,一般这个参数都是delay基本延时的倍数,也就是100倍,至于基本延时时长需要给出具体程序,例如:delay(int time){ int i;for (i=0;i