吴晓云,刘萌
(商洛学院电子信息与电气工程学院,陕西商洛726000)
摘要:设计一款以STC89C52单片机、DS1302、1602液晶显示、38 kHz红外遥控器发射接收器为核心,具备调节时间,设置开启时间与工作时间段的遥控定时开关。程序采用C语言编写,具有更好的移植性和可读性,便于修改和增减功能。该遥控定时开关可以通过红外按键设置一天内2组任意开关定时时间段和一个小时内6组快速模式定时,使外接电器能够按照一定规律来工作。该系统的时间正确可靠,可扩展性强,既能达到远程智能控制的目的,又在很大程度上降低能源的消耗。同时借助EDA仿真可以有效地提高开发效率,结合具体硬件电路及程序设计,将理论知识用计算机仿真表现出来,加深学生对知识的理解和掌握,提高了教学效率。
教育期刊网 http://www.jyqkw.com
关键词 :STC89C52;定时开关;红外遥控;节能设备
中图分类号:TN710-34 文献标识码:A 文章编号:1004-373X(2015)12-0058-04
收稿日期:2014-12-15
基金项目:商洛学院科研基金项目(12SKY013);商洛学院教育教学改革研究项目(14jyjx138)
随着电子科学技术的迅猛发展,国民经济和人民生活水平的不断提高,能源损耗也愈是严重,因而智能节能设备越来越受到人们的关注。智能定时开关装置已经被广泛应用于家用电器、仓库管理等无人监控场所[1]。传统的定时开关主要有机械式定时开关和电子式定时开关。虽然传统的定时开关能给家庭生活等方面带来便利,但由于其稳定性差、寿命短、难以操作、功能单一,只能满足人们普通的日常生活需要。所以本文从电路进行改进,设计了一款以STC89C52 单片机、DS1302、1602 液晶显示为核心,具备调节时间,设置开启时间与工作时间段的遥控定时开关。该定时开关可以通过红外遥控或者按键对主电源进行控制,从而实现对外接电器的智能定时控制,以达到节约能源的目的,给人们日常生活带来了极大的方便。该定时开关具有时间准确、操作方便、可靠性强、小型化、低功耗等特点,很好的弥补了传统定时开关的不足之处[2]。
1 系统设计
系统组成框图如图1所示,本次设计的硬件总体框图总共包括STC89C52主控芯片、晶振模块、复位模块、电源模块、蜂鸣器模块、按键模块、DS1302计时模块、显示模块、红外接收模块、继电器模块10个模块。这10个模块相互配合,协调工作,组成了定时开关的硬件工作系统。
2 硬件设计
2.1 DS1302计时电路
DS1302 计时电路如图2 所示,DS1302 可以对年、月、日、时、分进行计时,其工作电压为2.5~5.5 V。DS1302由Vcc或Vcc2中较大者供电,其中Vcc2为主电源,Vcc为后备电源,在主电源断电的情况下,后备电源保持DS1302计时电路的正常运行。X1,X2外接12 kHz晶振,RST是复位选线,当RST为高电平时,所有数据传送被初始化,允许对DS1302进行操作,当RST为低电平时则会终止此次数据传送[3]。
2.2 LCD1602显示电路
LCD1602 显示电路如图3 所示,Vcc 接5 V 电源正极,RS 为寄存器选择位,与P1.0 口相连,高电平1 时选择数据寄存器,低电平0 时选择指令寄存器;RW 为读/写信号线,与P1.1口相连,高电平1时进行读操作,低电平0 时进行写操作;E 端为使能端,高电平1 时读取信息,负跳变时执行指令。D0~D7与单片机的P0口相连作为8位双向数据端[2]。
2.3 蜂鸣器电路
蜂鸣器电路如图4所示,遥控定时开关中设计了蜂鸣器报警电路。其中蜂鸣器的基极连接到单片机的P3.7端口,当P3.7端口输出低电平的时有电流流过蜂鸣器,此时蜂鸣器发出声音,如果P3.7输出高电平,没有电流流过蜂鸣器,此时蜂鸣器不发音[4]。
2.4 按键电路
按键电路如图5所示,该部分电路设计设有4个独立的按键,这4个按键的一端分别连接到单片机的P1.3口~P1.6口,另一端全部接地。4个按键功能分配如下:
按键S2:功能键,通过该按键可以对年、月、日、时、分进行选择。
按键S3:增加键,该按键可以对时间进行增加。
按键S4:减少键,通过该按键可以对时间进行减小。
按键S5:通过该按键可以对最后一项时间间隔进行设定。
2.5 红外接收电路
由于单片机STC89C52的I/O口充足,故在本设计中按键电路采用独立按键,并对按键电路进行了消抖处理,为了便于操作,红外遥控按键与按键电路相互对应[5]。介于自制红外编码发送接收模块的设计复杂,成本也会增加不少,因而采用已编码完成的红外遥控器和红外接收管实现红外控制的目的。
红外接收电路如图6 所示,与单片机的外部中断P3.3 口相连,当P3.3 口出现下降沿时则进行红外按键检测。
2.6 继电器控制电路
继电器控制电路见图7所示,由三极管组成共集电极放大电路,二极管D2起保护作用,由单片机P3.6口产生继电器触发信号,当P3.6 口输出低电平时,继电器闭合,指示灯亮,外接电器开始工作。当P3.6口输出高电平时,继电器断开,指示灯灭,外接电器停止工作[6]。
3 软件设计
3.1 主程序设计
本设计中用到的单片机是STC89C52,为了使编写的程序更加简单明了,采用C语言进行编程,并采用模块化思想,分为初始化模块、按键检测与处理模块、计时模块、显示模块和继电器处理模块[4]。主程序如下:
void main()
{ Sys_ini(t );
while(1)
{keycsan();
Main_display();
Contro(l ); } }
本设计的流程图如图8 所示,装置上电后,系统先进行初始化,然后显示系统时间,再判断系统时间和设定的启动时间或者停止时间是否相同,如果相同,继电器就会产生相应的动作,扫描是否有按键按下,如果是S2,可以选择需要设定的时间年、月、日,如果是S5,可以设置电器工作时间,当通过按键对时间进行设定后,当系统时间到达设定时间,系统会自动使继电器闭合,使外接电器工作,并且蜂鸣器发出蜂鸣,红色指示灯亮;外接电器工作时间到了,系统又会使继电器断开,切断电源,外接电器停止工作。否则系统就会自动返回到初始化界面,显示系统时间和上次设置的电器工作时间[7]。
3.2 中断处理程序设计
系统软件设计总共采用定时器INT0和T02种中断,INT0用于红外按键检测。当P3.3口出现下降沿时进入中断。外遥控解码程序在INT0中执行,具体程序如下:
void intersvr(l void)interrupt 0
{ Tc=TH1*256+TL1;
TH1=0;
TL1=0;
i(f(Tc>Imin)&&(Tc<Imax))
{ m=0;
f=1;
return;
}i
(f f==1)
{ i(f Tc>Inum1&&Tc<Inum3)
{ Im[m/8]=Im[m/8]>>1|0x80;
m++;
}i
(f Tc>Inum2&&Tc<Inum1)
{ Im[m/8]=Im[m/8]>>1;
m++;
}i
(f m==32)
{ m=0;
f=0;
i(f Im[2]=~Im[3])
IrOK=1;
else
IrOK=0; } } }
T0用于精确定时10 s,当有按键按下,启动定时器0,打开液晶背光灯,10 s后定时器0 关闭,关闭液晶背光灯,达到节电目的。实现程序如下:
void Time0()interrupt 1
{ TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
Time_num1++;
i(f Time_num1>19)
{ Time_num1=0;
{ Time_num2++;
i(f Time_num2>59)
{ Time_num2=0;
Time_num3++; } } } }
4 系统调试
本设计采用模块化调试和整体组合调试相结合的方法来进行系统调试,先在Proteus 中进行模块化软件仿真实现,然后焊接实物,通过硬件电路调试和组装测试,最终达到实现红外遥控开关的目的[8]。
当启动电源后,LCD 显示的是系统初始化时间,包括年、月、日及时间,还有上次设定外接电器的工作时间和时间段,如图9所示。
按下S2键,显示秒的数字会闪烁,这个时候就可以通过S3和S4键调节。其中按一下S3键数字将加1,按一下S4键数字将减1。调节完秒后,再次按下S2键,闪烁的光标将转移到分钟位置,同样通过调节S3和S4键盘调节当前的时间[9]。同样的原理调节小时和年、月、日以及外接电器工作时间。按下S5时,最后一个电器工作时间间隔就会闪烁,可以通过S3和S4键调节工作时间间隔。
5 结语
本文设计了一款以STC89C52 和DS1302 为核心的遥控定时开关,所设计的定时开关插座达到预期功能,该系统具备时间准确、操作方便、可扩展性强,达到节约能源的目的,具有小型化、低功耗等特点,弥补了传统产品的不足之处,为后续实现功能更强大的定时开关提供了设计基础。在教学中结合EDA仿真软件进行教学设计,让学生将学到的理论知识用计算机仿真真实的表现出来,同时结合具体硬件电路及程序设计,可以加深对知识的理解和掌握,提高教学效率[13]。
作者简介:吴晓云(1984—),女,陕西宝鸡人,讲师,硕士。研究方向为数据采集与处理。
刘萌(1980—),女,陕西商洛人,讲师,硕士。研究方向为图像处理。
教育期刊网 http://www.jyqkw.com
参考文献
[1] 罗东,赵海刚,张源,等.基于单片机的红外遥控定时开关装置的设计[J].机电工程技术,2010,39(3):25-28.
[2] 张宁丹,金桂.基于STC89C52单片机DS1302时钟芯片定时开关的设计与仿真[J].现代电子技术,2013,36(8):4-6.
[3] 胡荣玉,王培元.手动/遥控两用开关的设计[J].囊樊学院学报,2008,29(11):15-19.
[4] 王松德.多通道红外线遥控开关[J].洛阳师范学院学报,2008,27(2):45-45.
[5] 郭红萍.新型单片机红外遥控LED电子钟的设计[J].科技创新导报,2008,32(12):32-33.
[6] 周润景.基于Proteus 的电路及单片机系统设计与仿真[M].北京:北京航空航天大学出版社,2006.
[7] 佟为明,周瑾辉.一款电子定时开关[J].电气开关,2002,26(3):23-25.
[8] 黄陇.实用型红外遥控多功能开关的设计与实现[J].无线电工程,2003,33(2):37-39.
[9] 陈勇.高可靠性红外线传感控制开关[J].仪表技术与传感器,2004,18(5):31-34.
[10] 张琳芳.基于Proteus 技术的单片机教学改革研究[J].河南工程学院学报:自然科学版,2014,26(2):77-79.