一种利用单片机进行终端控制的方法及装置制造方法及图纸

技术编号:21114806 阅读:41 留言:0更新日期:2019-05-16 08:43
本公开是关于一种利用单片机进行终端控制的方法及装置,该方法包括:控制单片机的延迟计时器基于全局计时时钟的时间参数进行累加计时,得到累计延迟时间;检测所述累计延迟时间是否达到预设时间阈值;在检测出所述累计延迟时间达到所述预设时间阈值的情况下,向终端输出控制指令。该方法使得在主函数中延时时不阻塞MCU工作,并且可以同时进行多个不同延时处理操作,实现最大限度地利用MCU计算处理能力。

【技术实现步骤摘要】
一种利用单片机进行终端控制的方法及装置
本公开涉及终端控制领域,尤其涉及一种利用单片机进行终端控制的方法及装置。
技术介绍
嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统,对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。在嵌入式编程时通常需要进行延时处理。但是,相关技术中的延时处理方法,往往会使用一个死循环来实现。该方式严重影响系统性能,比如会出现主函数被阻塞,以及无法实现多处延时(计时)操作,微控制单元(MicrocontrollerUnit;MCU)工作效率低下等诸多问题。
技术实现思路
针对相关技术中存在的问题,本公开提供了一种利用单片机进行终端控制的方法及装置。根据本公开实施例的第一方面,提供一种利用单片机进行终端控制的方法,包括:控制单片机的延迟计时器基于全局计时时钟的时间参数进行累加计时,得到累计延迟时间;检测所述累计延迟时间是否达到预设时间阈值;在检测出所述累计延迟时间达到所述预设时间阈值的情况下,向终端输出控制指令。可选的,所述控制单片机的延迟计时器基于全局计时时钟的时间参数进行累加计时,包括:获取所述延迟计时器的前一时刻;检测所述全局计时时钟的当前时刻是否迟于所述延迟计时器的前一时刻;在检测出所述全局计时时钟的当前时刻迟于所述延迟计时器的前一时刻的情况下,将所述全局计时时钟的当前时刻赋值给所述延迟计时器,以指示所述延迟计时器基于赋值后的时刻进行累加计时。可选的,所述获取所述延迟计时器的前一时刻,包括:检测所述延迟计时器是否初始化;在检测到所述延迟计时器初始化的情况下,获取所述延迟计时器的前一时刻。可选的,所述方法还包括:在检测到所述延迟计时器非初始化的情况下,初始化所述延迟计时器。可选的,所述方法还包括:计算所述全局计时时钟的当前时刻与所述延迟计时器的前一时刻之间的时间差值;将所述时间差值存储至所述单片机的延时记录器。可选的,所述方法还包括:控制所述单片机进行定时中断,其中,所述定时中断对全局变量以预设速度累加。可选的,所述延迟计时器的数量大于或等于2。根据本公开第二方面,还提供了一种利用单片机进行终端控制的装置,包括:控制单元,用于控制单片机的延迟计时器基于全局计时时钟的时间参数进行累加计时,得到累计延迟时间;检测单元,用于检测所述累计延迟时间是否达到预设时间阈值;输出单元,用于在检测出所述累计延迟时间达到所述预设时间阈值的情况下,向终端输出控制指令。可选的,所述控制单元包括:获取模块,用于获取所述延迟计时器的前一时刻;检测模块,用于检测所述全局计时时钟的当前时刻是否迟于所述延迟计时器的前一时刻;赋值模块,用于在检测出所述全局计时时钟的当前时刻迟于所述延迟计时器的前一时刻的情况下,将所述全局计时时钟的当前时刻赋值给所述延迟计时器,以指示所述延迟计时器基于赋值后的时刻进行累加计时。可选的,所述获取模块包括:检测子模块,用于检测所述延迟计时器是否初始化;获取子模块,用于在检测到所述延迟计时器初始化的情况下,获取所述延迟计时器的前一时刻。本公开的实施例提供的技术方案可以包括以下有益效果:本公开通过控制单片机的延迟计时器基于全局计时时钟的时间参数进行累加计时,得到累计延迟时间,检测该累计延迟时间是否达到预设时间阈值,并在检测出该累计延迟时间达到预设时间阈值时,向终端输出控制指令,使得在主函数中延时时不阻塞MCU工作,并且可以同时进行多个不同延时处理操作,最大限度地利用MCU计算处理能力。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。附图说明图1是根据一示例性实施例示出的一种利用单片机进行终端控制的方法的示意图;图2是根据另一示例性实施例示出的一种利用单片机进行终端控制的方法的示意图;图3是根据另一示例性实施例示出的一种利用单片机进行终端控制的方法的示意图;图4是根据一示例性实施例示出的一种利用单片机进行终端控制的装置的框图;图5是根据另一示例性实施例示出的一种利用单片机进行终端控制的装置的框图。通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本专利技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本专利技术的一些方面相一致的装置和方法的例子。图1是根据一示例性实施例示出的一种利用单片机进行终端控制的方法的示意图。如图1所示,该方法包括:步骤S101,控制单片机的延迟计时器基于全局计时时钟的时间参数进行累加计时,得到累计延迟时间;步骤S103,检测所述累计延迟时间是否达到预设时间阈值;步骤S105,在检测出所述累计延迟时间达到所述预设时间阈值的情况下,向终端输出控制指令。本公开实施例中的单片机,可以是嵌入式单片机,即嵌入式微控制器,以微控制器为核心控制单元的嵌入到对象体系中的专用计算机系统,是应用十分广泛的一种嵌入式系统结构。在该实施例中,全局计时时钟,也即全局计时器,用于对系统全局进行计时。延时,是指在执行一项任务的过程中,保持执行该任务的工作状态的时间。延迟计时器,用于对该时间的长度进行统计。在一种可能的实现方式中,预设时间阈值可以基于用户的需求进行制定。例如,终端为LED灯,本公开实施例中的单片机用于控制LED灯的亮灭。则可以基于用户希望达到的亮起时长或者熄灭时长对预设时间阈值进行设定,比如,50秒。在一种可能的实现方式中,控制指令用于指示终端执行预设操作。例如,在上述的实施例中,可以指示终端(LED灯)熄灭或者亮起。在一种可能的实现方式中,终端可以是智能家居设备(例如,扫地机器人、空气净化器等)、计算机、智能便携式设备(智能手环、智能手表等)等。本公开实施例中,通过控制单片机的延迟计时器基于全局计时时钟的时间参数进行累加计时,得到累计延迟时间,检测该累计延迟时间是否达到预设时间阈值,并在检测出该累计延迟时间达到预设时间阈值时,向终端输出控制指令,使得在主函数中延时时不阻塞MCU工作,并且可以同时进行无限个不同延时处理操作,最大限度地利用MCU计算处理能力。在一种可能的实现方式中,如图2所示,所述控制单片机的延迟计时器基于全局计时时钟的时间参数进行累加计时还可以包括:步骤S201,获取所述延迟计时器的前一时刻;步骤S203,检测所述全局计时时钟的当前时刻是否迟于所述延迟计时器的前一时刻;步骤S205,在检测出所述全局计时时钟的当前时刻迟于所述延迟计时器的前一时刻的情况下,将所述全局计时时钟的当前时刻赋值给所述延迟计时器,以指示所述延迟计时器基于赋值后的时刻进行累加计时。在该实施例中,例如,延迟计时器的前一时刻为12时03分,全局计时时钟的当前时刻为12时06分,则确定全局计时时钟的当前时刻迟于延迟计时器的前一时刻,此时将全局计时时钟的当前时刻赋值给延迟计时器。在该实施例中,由于将全局计时时钟的当前时刻赋值给延迟计时器,也即,实际是基于全局变量进行累加计时,使得在主函本文档来自技高网...

【技术保护点】
1.一种利用单片机进行终端控制的方法,其特征在于,包括:控制单片机的延迟计时器基于全局计时时钟的时间参数进行累加计时,得到累计延迟时间;检测所述累计延迟时间是否达到预设时间阈值;在检测出所述累计延迟时间达到所述预设时间阈值的情况下,向终端输出控制指令。

【技术特征摘要】
2017.11.08 CN 20172147727981.一种利用单片机进行终端控制的方法,其特征在于,包括:控制单片机的延迟计时器基于全局计时时钟的时间参数进行累加计时,得到累计延迟时间;检测所述累计延迟时间是否达到预设时间阈值;在检测出所述累计延迟时间达到所述预设时间阈值的情况下,向终端输出控制指令。2.根据权利要求1所述的方法,其特征在于,所述控制单片机的延迟计时器基于全局计时时钟的时间参数进行累加计时,包括:获取所述延迟计时器的前一时刻;检测所述全局计时时钟的当前时刻是否迟于所述延迟计时器的前一时刻;在检测出所述全局计时时钟的当前时刻迟于所述延迟计时器的前一时刻的情况下,将所述全局计时时钟的当前时刻赋值给所述延迟计时器,以指示所述延迟计时器基于赋值后的时刻进行累加计时。3.根据权利要求2所述的方法,其特征在于,所述获取所述延迟计时器的前一时刻,包括:检测所述延迟计时器是否初始化;在检测到所述延迟计时器初始化的情况下,获取所述延迟计时器的前一时刻。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:在检测到所述延迟计时器非初始化的情况下,初始化所述延迟计时器。5.根据权利要求2-4中任一项所述的方法,其特征在于,所述方法还包括:计算所述全局计时时钟的当前时刻与...

【专利技术属性】
技术研发人员:余发
申请(专利权)人:东莞市米町源电子科技有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1