关键词:STC89C52;单片机;定时;插座;继电器
中图分类号:TM503+.5;TP368.1 文献标识码:A
0 引言
0 引言
日常生活和工业生产控制过程中, 经常会使用各种各样的定时控制[1]。在家用电器中,定时插座可以对各种家用电器进行定时控制,使人们的日常生活更加便捷。例如,如果饮水器24 h 不停地工作,不仅浪费电能,还会缩短饮水器的使用寿命。针对类似的问题,定时插座能够提供较好的解决办法。在日常生活中使用定时插座,可以实现当有人在家时,饮水机定时开启;反之,则关闭饮水机,这在节约用电的同时可以对饮水机起到保护作用。定时插座可以帮助用户合理安排家电的使用时间,避免不必要的能源浪费;可以提供更加智能化的能源管理解决方案,降低对环境的影响;还可以消除安全隐患、延长家用电器的寿命等[2]。综上,定时插座系统研究具有重要的实际意义和应用价值。它能够根据用户的需要设置定时开关,实现自动化控制,提高用户的生活便利性。通过研究和开发定时插座系统,可以推动智能家居技术的发展,为人们创造更加智能、便捷和环保的生活环境。
基于此,本文设计了一个定时插座控制系统,其基于单片机STC89C52,选用独立式的按键,使用5 V 电压稳压器进行供电。该系统可通过控制插座在24 h 内定时开关,控制电器,以实现节能的目的。
1 硬件系统设计
硬件系统由如图1 所示的各电路模块组成。
单片机输入电源为5 V,其读取计时参数后会将其显示在液晶显示器上。由于该硬件系统可以利用继电器来控制定时插座的工作状态,所以在开机时各个模块将会初始化。初始时继电器处于非工作状态,只有当外部按键发送信号时,系统才会转换为工作状态并且开始工作[3]。当系统到达定时时刻时,红色指示灯亮、蜂鸣器发出鸣叫。本系统的控制核心是STC89C52 单片机,同时协同DS1302 计时模块、蜂鸣器模块、LCD1602 显示模块以及继电器模块等部分进行设计[4]。
1.1 主控制器STC89C52
硬件系统设计所用的主控芯片为STC89C52,主要用于驱动和控制各个模块。
1.2 DS1302计时模块
系统使用DS1302 作为定时器,可以满足定时插座的各种定时设置需求,包括用户自定义的任意时间定时和预设的固定模式定时。对于任意时间定时,用户可以根据实际需求,通过简单的按键设置来指定插座在特定时间开关,同时用户也可自行预设各种常见的定时模式。
1.3 LCD1602 显示模块
在该系统中,为了确保用户能够清晰看到定时时间段以及实时显示时间,系统选用了LCD1602。其可以一次显示32 个字符,这些字符包含在160 个符号中。
1.4 继电器模块本设计采用了SONGLE SRD-05VDC-SL-C 继电器。在电路设计中,确保电流的稳定性和防止电流的反向流动是至关重要的,因为这直接影响电路的安全性和稳定性,任何小的电流波动都可能引发严重的问题。因此,该系统添加了4N25 型光电耦合器,以防止电流的反向。光电耦合器的内部结构只允许电流在一个方向上流动,当电路中的电流试图反向流动时,光电耦合器能够迅速切断这个反向电流,从而保护电路不受损害。
1.5 蜂鸣器模块
为实现定时时刻的声音提醒,本设计中还加入了蜂鸣器。
1.6 按键模块
为了更好地满足按需定时的具体要求,本系统设置了按键模块,用户可根据实际情况通过按键进行定时,以达到定时开关的效果。基于不同按键之间较强的独立性,以及定时插座系统对按键的要求,本设计选用独立式按键。
2 软件系统设计
本系统以STC89C52单片机为控制核心,采用 C语言作为编程语言[5],选择Keil 软件进行编译,利用STC-ISP软件来完成数据的下载。此系统的DS1302计时模块、蜂鸣器模块、LCD1602显示模块以及继电器模块等各系统的正常运作都需要通过程序来控制。单片机可以判断系统是否受到定时控制以及控制蜂鸣器和红灯的工作状态。系统主程序流程如图2所示。
2.1 DS1302计时程序编写
软件系统设计涉及DS1302 串行时钟芯片中的几个主要部件:移位寄存控制逻辑电路、振荡器、实时时钟电路和随机存取存储器(random accessmemory,RAM)。DS1302 工作时为了对数据传送进行初始化,需要将复位脚设置为高电平且将 8 位地址和命令信息存入移位寄存器。时钟脉冲的个数在单字节方式下为8+8(8 位地址+8 位数据);在多字节方式下为8 + 最多可达248 的数据[6]。
通过DS1302 命令字节,初始化传输数据,并且最大位元的有效位元只能是1。若为0,则不能写入DS1302,而DS1302 命令字节第6 比特(简称“比特6”)则用于逻辑0 的时钟日程表数据;逻辑1 规定了RAM 中的数据。比特1 和5 规定了一个具体的寄存器,在该寄存器中执行输入或输出。最低位对逻辑0 进行写操作;逻辑1 规定了读取的执行,其中,命令字节始终从最低有效位(leastsignificant bit,LSB)的最小有效值开始。在RAM以多字节写入的情况下,一般无须写入所有字节,系统也能正常运行,但无论是否写入所有字节,为了能够将数据进行传输,每个写入的字节都会被传输到 RAM。
2.2 LCD1602显示程序编写
LCD1602显示模块主要负责显示从DS1302串行时钟芯片中读出的数值,并能够在外部独立式按键被按下时,使系统实时显示对应的设置菜单等。DS1302的基本运算顺序如表1所示。
3 整体调试
系统实物图如图3 所示。当继电器正常工作、电源接通且系统并未到达定时时间时,显示屏正常显示实时时间,但插座不接通电源,通过插座控制的电器也处于非工作状态。
当执行定时开关操作时,可同时设定多组定时模式,若定时后显示为“N”,则说明定时无效;若定时后显示为“Y”,则说明定时有效。
当系统到达定时时刻时,红色指示灯亮起,蜂鸣器发出鸣叫,同时插座接通电源,插座控制的用电器处于工作状态,到达设定关闭时刻时继电器则停止工作,电源断开。
4 结语
本文设计的定时插座控制系统采用STC89C52单片机,通过编程控制继电器模块,实现外部按键定时,从而控制插座,以达到方便和节能的目的。硬件和软件系统的设计均可以满足前期设计要求,使系统达到正常的工作状态。