基于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单片机的基础上,基本实现带有即时开关、状态返回、时间显示与设定、定时开关等多种功能的多路家电控制系统。用户可以根据自己需要选择相应电器,了解其工作状态,自主设定时间进行通断操作。同时,这个系统还具有良好的拓展性,因此可以加入语音提示、多功能控制、甚至远程控制等后续功能。
通过定时开关可在初始时按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单片机的基础上,基本实现带有即时开关、状态返回、时间显示与设定、定时开关等多种功能的多路家电控制系统。用户可以根据自己需要选择相应电器,了解其工作状态,自主设定时间进行通断操作。同时,这个系统还具有良好的拓展性,因此可以加入语音提示、多功能控制、甚至远程控制等后续功能。
- 基于红外超声光电编码器的室内移动小车定位系统(06-30)
- 基于双Nios II的红外图像实时Otsu局部递归分割算法设计(07-21)
- 红外热成像诊断技术在建筑搂宇的多种应用(03-08)
- 基于ARM9和GSM/GPRS的无线可移动红外监测报警系统(10-15)
- 智能家居系统中自动窗帘控制系统的设计实现(07-05)
- 基于ZigBee与红外的家居监控系统(09-29)