一种基于查表的定时开关机判断方法

2010-09-24 16:35:32来源: 单片机与嵌入式系统应用

        引言

  定时开关机是在每天、每周、每月等的定时开关机中常见的问题。例如居民生活区的加压泵房,在用水量较少时(如深夜至凌晨),定时关闭加压系统,仅由管网供水;在用水量较大时,定时开启加压系统,进行恒压供水。为了实现定时开关机,系统需要外接一个实时时钟芯片(如DSl302),以获得实时时间。
 

        一定周期(如每天)的定时开关机,需要解决实时时间中的进位问题。以时分为例,明天的1:00比今天23:59离当前更远,因为实际上前者相当于25:00。因此,如果要判断时分的大小,需要同时比较日期,增加了判断的难度。本文主要以24小时内定时开关机为例,说明通过查表解决定时开关机判断问题的方法,该方法只需要比较小时和分钟。

  1 24小时内一次定时开关机

  分为两种情况进行分析。一种情况是,开机时间(即开机起始的时间)大于关机时间(即关机起始的时间)。例如开机时间为05:OO,关机时间为02:00,如图1(a)所示。另一种情况是,开机时间小于关机时间。例如开机时间为04:00,关机时间为23:OO,如图1(b)所示。图中阴影部分均为关机的时间段。

  从图1(a)中可以看出,如果实时时间同时大于,或同时小于开机时间和关机时间,则系统开机;如果实时时间大于关机时间且小于开机时间,则系统关机。

  从图1(b)中可以看出,如果实时时间同时大于,或同时小于开机时间和关机时间,则系统关机;如果实时时间大于关机时间且小于开机时间,则系统开机。其结果正好和图1(a)相反。

  实际上,系统是否需要开机由以下3个时间的比较结果共同决定:实时时间与开机时间、实时时间与关机时间、开机时间与关机时间。这3种比较结果共有8种组合可能。根据以上分析即可得到表1,用O和1来表示它们之间的逻辑关系。

  经过分析,表1出现了无关项(x),序号2和5所对应的比较结果是不会出现的。可以根据表1编制出适合不同单片机的程序表格(如MCS51,Tabl:db O,1,55h,O,1,55h,0,1)。其中无关项对应的结果可以用特定数值(如55h)表示出错,由上层应用程序处理。在程序编制时,只需要将3种时间相互比较的结果经过组合,就可以通过查表得到结果。开机时间与关机时间的比较结果在设定时即可确定并预先保存,在实际运行时只需要比较实时时间与开机时间、实时时间与关机时间。

  2 24小时内多次定时开关机及其他情况

  如图2所示,24小时内设定了4组开关机时间。图中阴影部分为关机的时间段。根据不同开、关机时间组,分别按照上述方法根据表1进行查表,将得到的所有结果相与,以决定开机或关机。只有实时时间满足所有的开机时间条件时,系统才可以开机。

  在某个非循环的固定时间段内(如2009-10-1 06:00至2009-10-8 23:00)开机,实际上只需判断实时时间是否在时间段内,该情况默认关机时间大于开机时间。参考文献中的应用即此种情况。

  以某个固定周期为循环(如每周、每月等)时,只需在3种时间相互比较大小时改变算法,仍可以根据三者的比较结果,通过查表得到系统的输出。

  结语

  本文提出一种利用查表法解决单片机应用系统中在一定循环周期内定时开关机判断问题的方法。将实时时问、开机时间、关机时间三者相互比较,根据比较结果进行查表并确定控制结果。该方法简单、实用,也可以用于其他嵌入式系统或控制系统中。

关键字:查表  定时  开关机

编辑:金海 引用地址:http://www.eeworld.com.cn/gykz/2010/0924/article_3401.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
查表
定时
开关机

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved