微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 基于AT89S52单片机的家电控制系统设计

基于AT89S52单片机的家电控制系统设计

时间:11-05 来源:互联网 点击:
2. 3 定时开关

通过定时开关可在初始时按KEY3键进入操作。该功能是整个设计的核心和难点,综合运用到了之前几种功能的设计思想。这里也有一个定时中断子程序,但与之前以ls为基准、一分钟循环60次的固定模式不同的是,这是在事先不清楚用户的定时时间的情况下进行的,所以是以1分钟为基数,即定时时间间隔必须为1分钟的整数倍,但循环次数却是一个全局变量。这个全局变量的值可通过用户按键来实现。根据程序设定,若按下KEYl,则表示将该全局变量的值加60,若按下 KEY2,则表示将该全局变量的值加1,即KEYl代表1小时,KEY2代表1分钟。此后若再按下KEY3,则表示设定结束,此时全局变量的值表示进行1 分钟的定时的次数,在定时结束时,将该电器(这里就是小灯泡)连接的P1的某个端口进行取反操作,即可完成开关。这一功能的子程序流程图如图1所示。



3 系统功能分析

3.1 即时开关与状态返回功能

按下KEYl键,即可进入即时开关与状态返回功能。此时数码显示管和LED灯都没有变化,用户可以选择按下KEY2和KEY3中的任意一个,来选择其中一盏灯泡(模拟一路电器)作为操作对象。现以按下KEY2为例,则左起第二个数码管显示“2”,同时左起第6盏LED小灯亮,表示KEY2确实被按下(此处可用于故障检验)。

3.2 时间显示与设定功能

时间显示功能可在初始通电以后按下KEY2键开始执行。在按下KEY3键以后,数码管从左起第三个开始,到第八个为止。分别显示小时、分钟、秒数,用户可以根据需要设定时间,按下KEY3,则小时数加一,按下KEY2,则分钟数加一。该键还带有自动进位功能。整个数码管时间显示的极限是23时59分59 秒。

3.3 定时开关功能

定时开关功能是在初始通电以后按下KEY3键开始进行的。初始数码管从左起第三个开始,到第八个为止,全部显示为“0”,以等待按键输入设定时间。此时,按下KEYl,则小时显示加1,并定时中断程序中,全局变量值加60;按下KEY2,分钟显示加1,定时中断程序中,全局变量值加l;再次按下KEY3,即进入中断定时子程序,开始定时。定时结束以后,所指定的那个电器开关状态取反。在定时结束时,对应的LED自动点亮。

3.4 功能拓展与强化

该系统的现有功能还比较基础,主要局限在对于电器的开关操作中。比较现实的改进方案是加入语音提示功能。使用户在每次按键以前都可以有语音提示,如果出现错误按键,还可以有语音提示纠错。再有就是扩展键盘,现在的键盘数量的限制不仅使可操作的电器数量有限,还制约了控制系统的功能。在加入按键以后,除了可控电器数量会提升,还可以附加诸如分层次调节。在条件更好的情况下,也可以增加电话远程控制,使某个固定号码与控制系统相连,这样,当用户在较远处时,就可以通过网络与系统连接,并根据事先在程序中的设定,通过电话上的不同按键实现系统中按键的效果。从而完成远程家电的控制。

4 结束语

按照上述软硬件的分析。可在充分了解AT89S52单片机的基础上,基本实现带有即时开关、状态返回、时间显示与设定、定时开关等多种功能的多路家电控制系统。用户可以根据自己需要选择相应电器,了解其工作状态,自主设定时间进行通断操作。同时,这个系统还具有良好的拓展性,因此可以加入语音提示、多功能控制、甚至远程控制等后续功能。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top