APP下载

基于51单片机的定时插座设计

2019-08-06张南庆刘晓宇曲祥君

遵义师范学院学报 2019年4期
关键词:插座时钟单片机

张 强,张南庆,刘晓宇,曲祥君

(遵义师范学院工学院,贵州遵义563006)

插座作为一种线缆的连接器件,广泛应用于日常生活中。但是随着科技的发展和社会的进步,传统的插座已经无法满足人们的使用需求,具有时钟显示、定时控制、记忆和学习等功能的新型插座开始逐渐产生与发展[1-8]。

51系列单片机是目前应用最为广泛的一类微处理器,它以强大的功能和低廉的价格,受到广大电子爱好者的青睐。本文以51单片机为主控芯片,设计了一套定时插座的控制系统,并进行了仿真分析和验证。相比现有的定时插座而言,该方案具有定时精确、周期定时、造价低廉、功能易于扩充等优点。

1 定时插座的发展现状

目前,市面上的定时插座主要有机械式和电子式两大类。其中,机械式主要是利用发条的原理来进行定时,这类定时插座的造价低廉、定时连续可调,但定时误差大、功能单一、操作麻烦,尤其只能进行单次定时。比较而言,电子式定时插座主要是基于电子时控技术来进行定时,例如利用一些时钟电路或者延时电路等。这类定时插座的特点是功能多样、定时精准,但缺点是价格昂贵。如下图1和图2所示,分别为某厂家生产的机械式和电子式定时插座,其中图1产品的市面售价约为36元,而图2产品的市面售价约为64元。

近年来,随着家用电器的智能化发展,插座也逐渐向多功能和智能化方向发展。刘继中[4]在综合WiFi无线通信、Android、嵌入式、多线程、打洞等先进技术的基础上,设计了一套智能插座控制系统,并利用手机APP实现了在局域网和广域网环境下,对插座的参数设置和智能控制。贾玉凤等[5]设计了一种可红外遥控并通过按键进行参数设置的智能插座。王克权等[6]以STC89C51RC单片机为控制芯片,综合利用传感器技术和无线通信技术,设计了一种新型的家用遥控节能定时插座,主要特点是可以进行温度监控和多端口数据的回传。

图1 机械式定时插座

图2 电子式定时插座

综合而言,在智能家居的大背景下,插座向智能化、多功能化等方面发展已成为一种必然趋势,然而功能的不断扩充无疑使成本大量增加,从而制约了定时插座的销量。基于此,本文从成本的角度出发,选用价格低廉的 51单片机作为主控芯片,配合DS1302以及LM016L等芯片设计了一套定时插座系统,实现了数据显示、参数手动设置、循环定时、实时时钟等核心功能。

2 定时插座的硬件系统设计

现有定时插座大多只能进行单次定时,这一特性往往不适用于一些固定时段的定时场合,如热水器、饮水机、电视机、路由器的夜间定时断电等。因此,本文在综合单片机技术的基础上,提出了一套可周期定时的定时插座系统设计方案,如图3所示。

图3 定时插座的系统组成框图

输入模块的硬件电路如图4所示,其功能主要是负责系统各项参数的输入,主要包括时间参数和功能参数两个部分。其中时间参数主要涉及到时、分、秒等参数,主要用于修改当前时间和设置定时时间。功能参数主要涉及到完成时间参数输入所需的一些辅助功能,如模式选择、设置、确定、取消、光标左移、右移等。通过模式选择,可将系统分别设置在时钟模式和定时模式两种工作状态下。在时钟模式下,系统的功能类似于一个实时时钟。在定时模式下,系统则具备定时功能。

图4 输入模块的电路原理图

时钟模块的硬件电路如图5所示,其功能是产生精准的时钟数据。本文采用芯片作为独立的时钟信号,一方面减少主控芯片的负担,另一方面也可保证时钟数据精准。

图5 时钟模块的电路原理图

显示模块的硬件电路如图6所示,其功能是将系统内部重要的数据进行显示,主要包括实时时钟数据和定时时钟数据两部分。

图6 显示模块的电路原理图

执行器件的硬件电路如图7所示,其功能主要是负责对家用电路进行开断。本文选用继电器作为执行器件,通过单片机的TTL电平来控制220V家用电路的通断。出于安全考虑,在电路中设置了一个指示灯D2以便对继电器的通断状态进行指示。当继电器接通时,D2发光,反之D2不亮。

图7 执行器件的电路原理图

主控芯片的电路如图8所示,其由AT89C51单片机和相应的时钟电路和复位电路构成。主控芯片的功能主要是负责接受输入模块和时钟模块发送来的数据,处理后将相应的数据发送给时钟模块、显示模块和执行器件。

图8 主控芯片的电路原理图

3 定时插座的软件系统设计

定时插座的软件系统分为两部分,一部分是系统的主进程,负责管理显示模块、时钟模块和执行器的工作;另一部分则负责对内部的参数进行修改,主要包含当前的时间参数和欲定时的时间参数。由于这两部分任务都具有实时性,因此将第一部分任务交由主控芯片的主函数去完成,而将第二部分任务交由主控芯片的中断系统去完成。两者的程序流程分别如图9和图10所示:

图9 主函数的程序流程图

如图9所示,主函数的流程相对比较简单,主要完成各硬件模块的初始化,同时不断读取时钟模块的参数并进行判断,在定时时间到的情况下控制继电器断开。其C语言版的代码如下:

如图10所示,中断服务程序的流程相对比较复杂,主要涉及到各种结构的嵌套。在功能上,中断服务程序主要是依据外部按键输入的值来更新内部的时钟参数和定时参数。对于时钟参数而言,中断服务程序需将其作为初值写入时钟模块,以完成对时间的更改。限于篇幅,此处对中断服务程序的C语言版代码不再详述。

4 基于Proteus的系统仿真

图10 中断服务程序的流程图

借助于Proteus软件强大的软、硬件仿真功能[8-9],可以很好地检验系统各项功能的正确性。如图 11所示,在启动系统的初始时刻,时钟初值默认设置为22时34分56秒,定时初值默认设置为00时00分00秒。在模式开关断开的情况下,系统处于时钟模式,此时定时功能无效,系统只相当于一个时钟。在时钟模式下,可以通过操作其他功能按键实现对当前的时钟值进行修改。如图12所示,此时光标处于分钟数的第一位,可以通过加减按键修改当前的值。

图11 系统初始启动时的效果

图12 时钟设置的功能仿真

图13 定时设置的功能仿真

图14 定时断电的功能仿真

当模式开关闭合时,系统工作于定时模式,此时可通过操作其他功能按键对欲定时的时间值进行修改,如图13所示。当系统的时间运行到所定时的时间时,将由单片机发出控制信号促使继电器断开,从而切断家用电路。所以,如图14所示,当系统定时时间到时,家用电路中的灯会由原来的点亮状态变为熄灭状态。

为了进一步验证系统的定时功能,选择三个目标定时时间,在定时模式下,分别记录下各次定时完成的实际时间,如下表1所示。从表中可知,每次实际定时的时间均与目标定时时间相符,故系统的定时功能正常,且误差小于1s。

表1 定时功能实验记录

5 结论

本文以51单片机为主控芯片设计了一套定时插座的控制系统。硬件结构上,该系统由主控芯片、时钟模块、输入模块、显示模块和执行器件五个部分组成。软件结构上,该系统由主程序和中断服务程序两部分组成。最后,通过Proteus软件中的仿真实验,验证了系统的各项功能。

相比现有的一些的定时插座而言,本文所述系统具有成本低、可固定循环定时等优点,适用于对家中一些固定时段使用的用电设备进行定时,如路由器、鱼缸供氧机等。

猜你喜欢

插座时钟单片机
开关、插座
别样的“时钟”
正确使用插座
古代的时钟
基于单片机的SPWM控制逆变器的设计与实现
基于单片机的层次渐变暖灯的研究
基于单片机的多功能智能插排
基于单片机的便捷式LCF测量仪
插座
有趣的时钟