单片机C语言如何判断一个时间是否在一个时间段内

从一个储存器内读出时间,然后和另一个时间数据比较,如果在时间内,则执行某个指令,如果不是,则挂起。
如果我读出的时间是03:00,或者08:00或21:00而设定的时间段的时间是ON:16:00—OFF:19:00那如果ON:20:00--次日04:00,该怎么办?

第1个回答  2010-03-30
需要你把题目说清楚一点
是指两个时间数据差值在某个范围内吗?
时间是指日期型的还是时分秒
挂起是什么意思?

这涉及到你时间数据存储格式,不知道格式怎么比较呢/
如果只是单纯的一个计数值,是很容易的
第2个回答  2010-03-30
if ((Time_A > a) && (Time_A < b)
{
//执行指令
}

不是太明白你的意思,不过上述程序的意思就是Time_A 这个数在 a 到 b这段时间段内。不知是否符合你的意思。

单片机C语言如何判断一个时间是否在一个时间段内
如果只是单纯的一个计数值,是很容易的

单片机c语言程序中 一个语句占用多少机器周期?
如果是局部变量赋值语句,1个时钟周期就够了(偶数地址的,如果是奇数地址好像是3个的)。整数加减法占3个时钟周期,乘法有120多个时钟周期,除法一般是160多个时钟周期。(我说的不一定很准,不过不会差多少)while循环我不知道。

单片机中用C语言怎样确定一个模拟量数据在变化呢。谢谢
这个简单啊,你可以比如设定一个变量X,然后定时(比如5ms)检测一次X,如果两次值相同,就表示没有变化,否则就是变化了,简单不???如果你要精度高的话,可以采用平均值法等等去抑制干扰就可以了。

用89s51设计1个记录时间间隔并显示的电路图
2个时间信号分先后分别输入单片机,(可能很短暂,大概就0.0几秒),用单片机记录他们的时间间隔,然后显示在一块显示屏上,要有电路图和内部程序,答好的有后续奖励!!!... 2个时间信号分先后分别输入单片机,(可能很短暂,大概就0.0几秒),用单片机记录他们的时间间隔,然后显示在一块显示屏上,要有电路图和内部程序,答好...

单片机中时间问题
C语言的执行时间,从来就没有计算公式。C程序的执行时间,和操作系统有很大的关系,和编译软件也有关,在单片机中,更和变量的存储类型有关(如单字节变量、两字节变量)。因为有如此多的不确定因素,所以,从来就没有办法计算C的执行时间。只是可以在仿真调试的时候,进行实际测量,得到一些(难以通用的...

单片机一条语句只在执行的时候执行一次完之后,只保持该值一个指令周期...
这是C语言的程序,对于单片机的主程序必须有while(1)语句,应该是由while(1)语句构成主循环结构。而你这个主程序只有一个语句,LED=0; 那就必须保留while(1); 一行,这是一个无限循环语句,单片机才能在这个语句上无限循环下去,相当于停止在这一行上。如果没有这一行,编译时就当成子程序,执行...

用C语言实现单片机延时,怎么知道设置循环值为多少才能延时某一时间...
用定时器啊,单片机都带定时器的,用定时器延时还是比较精确的。

51单片机用C语言产生一个100以内的随机数 怎么生成?
C语言本身并不能产生随机数。介绍一个比较简单的随机数获取方法:启动单片机的定时器,让它自己跑不要发生溢出中断,用户操作时直接读计数器数值,那基本上就是个随机数。

单片机如何选出一段时间内的最大值
你没有指出每一秒是怎么触发的,在哪触发的,所以只能先给你一种方案,你可以先把5秒的数据都放到数组a[5]当中去,然后 for( i=0;i<5;i++) if(b

用c语言编写程序如何进行超时判断
可以通过延时计数来解决。比如每1S,count += 1;if(count>你想要的时间){ 处理程序;}

相似回答