0 引言
传统的大容量电热水器的加热时间一般都比较长,如果热水器一直开着,则会一直耗能耗电,而定时开关控制器则可有效解决这些问题,使电热水器使用起来更加舒适省电。这样,电热水器不仅可以充分利用闲置的时间,避免用户使用时长时间的等待,减少不必要的保温,也可以更加节约电能,特别对低谷及高峰用电有差价的地区.利用晚间低谷用电开机加热,白天用电高峰关机保温,便能大量节约电费开支。本文中的定时控制器主要是以单片机AT89C2051作为核心控制元件,通过外围电路来控制热水器的电源,以达到定时开关机的目的。
1 硬件组成
本电热水器控制系统在加电后即可进入正常计时状态,用户可以随时校准时间并设定热水器的开关时间,以便控制器能够在设定的开关时刻通过单片机的输出端口控制输出继电器的动作,进而控制热水器的启闭。该系统的硬件原理图见图1所示。
本系统的核心单片机AT89C2051为20脚300MIL封装,是一种带有2KB FLASH E2PROM的单片机。该单片机除了少了两个并口外,能兼容MCS-51系列单片机的所有功能,且具备体积小、功能强、运行速度快等特点。该电路可通过单片机的P3.7口连接一个键盘电路来实现对参数的人工自由设定,同时可通过串口连接6位LED数码管,以分别显示小时、分钟和秒。系统定时启动是通过P3.0口完成的。程序开始时这三个口的输出状态都是低电平,AT89C2051通过程序查询P3.0口输出ON或OFF的状态预置时间是否已到,
如果已到时间,则改变相应的输出状态,从而完成对外部电路的控制。
下面重点介绍键盘、显示以及输出控制这三种电路。
1.1 显示电路
本系统中的显示电路主要由七段共阳显示译码器74LS47、3线-8线译码器74tHC138、7个PNP型三极管和六个数码管组成。通过AT89C2051的P1.4~P1.7口将要显示字符的BCD码输出到74LS47的四个输人端,然后译码并输出相应的笔段来驱动LED数码管(共阳)。LED数码管显示采用动态扫描方式,即在某一时刻,只有一个数码管被点亮。数码管的位选信号由AT89C2051的P3.3~P3.5输出,并经74HCl38译码后通过三极管放大,以驱动相应的数码管。
1.2 键盘电路
键盘电路跟显示电路一样采用扫描方式,并利用动态显示时的数码管驱动位置信号来判断相应按键的状态。单片机的P3.3~P3.5口输出的BCD码经译码器译码后,相应的Y口呈低电平,而AT89C205 1的P3.7口平时为高电平(由于有上拉电阻),只有当某一按键按下时,P3.7才被下拉为低,这时,单片机将利用程序查询P3.7是否为低,如果P3.7为低电平,则读回单片机P3.3~.P3.5口的值(从缓冲区读取),并判断是那个按键按下.然后调用相应的处理程序进行处理。
1.3 输出控制电路
单片机的控制输出是通过P3.0~P3.2口完成的。当程序开始时,这三个口的输出状态都是低电平,AT89C2051通过程序查询三路输出的ON或OFF状态预置时间是否已到,若时间到,则改变相应的输出状态,以完成对外部电路的控制。