C语言定时1.5秒函数怎么写
发布网友
发布时间:2022-04-24 05:23
我来回答
共3个回答
热心网友
时间:2023-10-31 13:23
void init_time()
{
TMOD=0x01;
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
EA=1;
ET0=1;
TR0=1;
}
void main()
{
init_time();
while(1);
}
void time_0()interrupt 1 //中断函数放主函数后面就行,不需要声明
{
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;//假设这个定时为10毫秒,我就不计算了
coint++; //全局变量,别忘了定义
if(coint==3000)//10ms*3000=30s
{
LED=~LED;//这是要执行的动作,以灯亮灭为例;
coint=0;计数器清零,重新开始计数;
}
}
热心网友
时间:2023-10-31 13:23
可能不是你最想要的,但是可以大致满足你的要求。
另外还可以借助DOS的at命令进行计划任务。
#include <stdio.h>
#include <conio.h>
#include <time.h>
#include <dos.h>
main()
{
int HourWant=22;
int MinWant=31;
/*22点31分输出信息*/
struct time t;
while(1)
{
gettime(&t);
if (t.ti_hour==HourWant && t.ti_min==MinWant)
{
printf("time is up.");
break;
}
sleep(1); /*Delay for 1 second*/
}
getch();
}
热心网友
时间:2023-10-31 13:24
延时函数是一种粗略计算延时时间的函数是通过让单片机执行空指令,达到等待延时的目的。经常被应用在对延时时间要求不太严格的场合。而定时器中断,则是通过对晶振时钟进行计数由于晶振的频率一般是很稳定的,所以晶振的脉冲频率基本稳定从而通过对脉冲进行计数即可得到准确的延时目的。中断延时函数和定时器中断延时没有明确的对应关系。主要是根据你的应用场合来确定使用哪种函数。
热心网友
时间:2023-10-31 13:23
void init_time()
{
TMOD=0x01;
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
EA=1;
ET0=1;
TR0=1;
}
void main()
{
init_time();
while(1);
}
void time_0()interrupt 1 //中断函数放主函数后面就行,不需要声明
{
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;//假设这个定时为10毫秒,我就不计算了
coint++; //全局变量,别忘了定义
if(coint==3000)//10ms*3000=30s
{
LED=~LED;//这是要执行的动作,以灯亮灭为例;
coint=0;计数器清零,重新开始计数;
}
}
热心网友
时间:2023-10-31 13:24
可能不是你最想要的,但是可以大致满足你的要求。
另外还可以借助DOS的at命令进行计划任务。
#include <stdio.h>
#include <conio.h>
#include <time.h>
#include <dos.h>
main()
{
int HourWant=22;
int MinWant=31;
/*22点31分输出信息*/
struct time t;
while(1)
{
gettime(&t);
if (t.ti_hour==HourWant && t.ti_min==MinWant)
{
printf("time is up.");
break;
}
sleep(1); /*Delay for 1 second*/
}
getch();
}
热心网友
时间:2023-10-31 13:24
延时函数是一种粗略计算延时时间的函数是通过让单片机执行空指令,达到等待延时的目的。经常被应用在对延时时间要求不太严格的场合。而定时器中断,则是通过对晶振时钟进行计数由于晶振的频率一般是很稳定的,所以晶振的脉冲频率基本稳定从而通过对脉冲进行计数即可得到准确的延时目的。中断延时函数和定时器中断延时没有明确的对应关系。主要是根据你的应用场合来确定使用哪种函数。