您的位置:

c语言延迟10s,C语言延迟05秒是50000吗

本文目录一览:

急需一个延时10秒的C语言程序,求大师帮忙,谢谢

#includedos.h

void fun()

{

delay(10000);

}

调用系统的延迟函数delay,该函数的延时单位是毫秒,所以括号内写10000毫秒,即延迟10秒

汇编/C语言设计继电器控制程序,继电器每10s闭合一次,时间为10s,断开时蜂鸣器蜂鸣(用定时计数器延时)

#includereg51.h

#define uchar unsigned char

uchar times;

sibt jdq=P1^4;

sbit fmq=P1^5;

void t0isr() interrupt 1

{

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

times++;

if(times=200)

{

jdq=~jdq;

fmq=~jdq;

}

}

main()

{

TMOD=0x01;

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

TR0=1;

ET0=1;

EA=1;

jdq=0;

fmq=0;

while(1);

}

52单片机C语言中“Delay”是什么意思,怎么用?

一般延时1ms的程序是:

void Delay(uint x)

{

uchar i;

while(x--)

{

for(i=120;i0;i--);

}

}

那么当你在别的函数中用到Delay(10000);就是延时10000ms,也就是10S

求单片机C语言延时程序(延时10s)

用定时器做吧,DELAY了不能做别的事情,效率太低了。做一个1ms的定时程序,再到计数10000次的时候执行一次你要的程序(比如说置位某个变量),这样就可以了。51就那么几个寄存器,看一下就可以了设定了,TH和TL只要记住计数到0的时候,会产生中断就可以了

用C语言怎么在单片机AT89C51上编写一个延时10秒的程序?

1、十秒对于单片机来说是很长很长的时间了,单片机十秒的时间什么事都不能做,只在跑这延时程序,那是什么概念,用中断的话,单片机正常运行其他程序,只是时间到了才过来处理延时以后的程序,效率不知道高了多少 。

2、例程:

//假设晶振12MHZ

#include "reg51.h"

unsigned int YSJS=0;

void main(void)

{

    TMOD |= 0X10;                            //定时器1工作于方式1,16位定时器

    TH1 = 0XFF;                              //定时器1定时时间=500uS

    TL1 = 0X06;

    ET1 = 1;                                 //使能定时器1中断

    EA =1;                                   //开总中断

    while(1)

    {

    }

}

void TIMER1(void) interrupt 3                //定时器1中断函数使用默认寄存器组

{

    TH1 = 0XFF;                              //定时器1定时时间=500us

    TL1 = 0X06;

    YSJS++;

    if(YSJS==20000)                           //500uS*20000=10000000us=10s

    {

    P1 = P1 ^ 0X01;                            //P1.0十秒钟翻转一次

    YSJS = 0

    }

}

单片机中延迟10sC语言程序可以这样写吗,如果不可以哪儿错了?

这样倒是也行啊。。一个是你要按照你的时钟周期算好循环次数,在一个for循环嵌套也可以 不过你单片机就不用干别的了。。光在这循环进行延时了。。很浪费MCU的说

一般超过10ms都建议用定时器中断。开个定时器中断设置比如设定定时器0,计数方式1,即16位定时器。如果是12MHZ外部晶振的话,1个时钟是1us 定时器设为50ms中断,定义一个全局变量比如SEC 然后在中断里进行+1 20次中断就是1秒,200次中断就到10秒。。在中断进行加1后判断是否==200是的话就到10秒了。。

你的这个方法的话这样好些,我按你外部晶振12MHZ算这样1个延时对应1us

void delay10s(void)

{

unsigned char i,j,k;

for (i=200,i0,i--) '200*50ms=10s

{

for (j=200,j0,j--) '200*250us=50ms

{

for(k=250,k0,k--) '250us

{;}

}

}

}