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

发布者:JoyousJourney最新更新时间:2010-04-10 来源: 电子元器件应用 关键字:AT89S52  即时开关  状态返回  家电定时开关 手机看文章 扫描二维码
随时随地手机看文章

  0 引言

  家电控制的智能化已成为社会需求的新趋势。基于微机控制系统的智能化家电使我们的生活更加便利。而是否能够实现远程家电的开关控制。又是否能够随时查询电器的工作状况,或者能够事先对家电的定时开关做出控制。又成为越来越感兴趣的研究方向。家电产品现已进入成熟期和稳定期。市场规模稳步上涨,但竞争日愈剧烈,其核心部件。即控制器性能及质量对企业产品的影响很大。同时,经济快速发展,人们对于家庭生活的舒适程度也提出了越来越高的要求,尤其体现在家电的便捷方面。在这个背景下,可以自主控制的家电控制系统,就逐渐显示出竞争力,这也符合时代发展的客观需要。随着中国经济的快速稳步增长和迅速发展,家电厂家越来越意识到被喻为家电“芯片”的家电控制器的重要性,因而纷纷与专业的研发公司或厂家合作,开发符合市场需求的、具有行业领先水平的控制器。

  目前。关于家电控制器的研究和设计方案提出的很多,但仍有许多问题尚待解决,如没有统一的互操作规范等。但是,一些领先技术已经开始被应用于今天的家电控制领域。如:电话远程控制、红外线遥控、语音识别等等。如将语音识别技术应用到电器产品,来实现语音提示操作,从而使系统具有更加良好的操作界面等。随着相关技术不断进步,互操作型智能家电必将向着调度智能化、灵活性和互操作性的方向发展。从而进入寻常百姓家。

  1 硬件设计

  本设计主要基于AT89S52单片机,并通过C语言来实现多路家电的即时开关控制、定时进行开关操作以及工作状态返回等三个功能程序,并以此为基础。结合带有HJPC5l-B的单片机开发系统来进行硬件调试。完成该基本要求以后,还可考虑加入外接键盘或外接存储器以及ISD语音芯片,并添加录放音程序,从而实现家电语音提示的控制。

  本设计采用的硬件芯片为AT89S52芯片,同时选用了8盏绿色LED指示灯,8块LED数码显示管,其中3个分别与单片机的INTl、T0、Tl相连,以用来接收外部信号的按键。另外还使用了一个74LS245模块和两个74ALS573模块。整个硬件的核心是AT89S52芯片。该芯片的 P1.0~P1.7口通过74LS245与8盏LED灯相连,这8盏指示灯在即时开关中起到直接显示的作用,而在定时开关中兼有故障检验功能。 P0.0~P0.7口和P2.0~P2.7口分别通过两个74ALS573模块与八个LED数码显示管相连。8个数码管中,左起第一个用来指示具体某一路电器的开关状态,第二个指示哪一路电器被选中,第三和第四个显示小时数,第五和第六个显示分钟,第七和第八个显示秒数。另外,硬件电路中还特别配备了小灯,可作为按键是否按下的标志。

  2 软件设计

  2.1 即时开关与状态返回

  即时开关与状态返回都是在初始时按KEYl键进入操作的,完成此功能,需要调用键盘读取子程序、灯泡开关子程序、数码管显示子程序、延时予程序等组合。其中键盘读入子程序是整个软件的基础,在键盘没有按键按下时,KEYl、KEY2、KEY3始终保持高电平,此时KEY值为0X38。而当某一个键被按下时,则该键位出现低电平。此时的KEY值必然出现变化,这样,将该值与0X38相与,然后根据得出的新值,就可以判断哪一个键被按下。

  软件通常首先运行读取键盘程序,当数码管显示哪一路被选中后,再次读取键盘,以显示该路电器的工作状态,并根据外部输入决定开关操作。由于需要同时完成两个功能,所以,在程序中。设定KEY2和KEY3对电器进行操作,而KEY1用来在状态返回功能完成以后,指示该功能的结束,并开始即时开关功能。具体来说,就是先检测哪个电器对应的按键被按下,然后调用显示子程序在数码管中显示被选中的电器编号。状态返回部分是检测特定电器对应的管脚输出为低电平还是高电平,若输出为低电平,则调用显示0的数码显示子程序,反之则调用显示1的数码显示子程序。即时开关则可在按下电器对应的按键以后,将该电器(这里就是小灯泡)连接的Pl的某个端口进行取反操作,即工作状态反向。

  2.2 时间显示

  在确定KEY2按键被按下以后,程序将自动调用数码显示,并循环调用周期为1s的中断程序,如果需要设定时间,则可通过外部输入调用时间设定子程序来对时间进行调整。通过外部按键可改变秒、分钟、小时所对应的变量的值,并将其带入数码显示程序,在数码管中显示。在数码显示部分,应先确定段选和位选位,由于有秒、分钟、小时三个部分,故需要连续6个显示管,所以,在程序中要设定从第一个开始的6次循环,每次分别将选中的数码管的序号送到位选端,并将秒、分钟、小时所对应的变量的值作为实参送到段选端,从而使数码管依次显示对应的时间信息。

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

关键字:AT89S52  即时开关  状态返回  家电定时开关 引用地址:基于AT89S52单片机的家电控制系统设计

上一篇:AT89C2051组成的时钟电路原理图
下一篇:基于nRF905模块和C8051F单片机的无线收发系统设计

推荐阅读最新更新时间:2024-03-16 12:28

基于AT89S52单片机的以太网远程监控系统的设计
1 引言 计算机和网络技术的发展,引发了远程监测、监控领域深刻的技术变革。系统结构向网络化、开放性方向发展将是技术发展的主要潮流。以太网作为目前应用最广泛的局域网技术,凭借其开放性好、成本低廉、数据传输率高等诸多优势,在工业自动化和过程控制领域得到了越来越多的应用。依靠以太网技术实现信息共享,给办公自动化带来很大的变革,对系统设计产生了深远的影响。本文以温度控制为研究对象,以AT89S52单片机为核心,以ZNE-100T模块为以太网接口,设计了一个基于以太网的远程温度控制系统。 2 系统组成及原理 基于AT89S52单片机的以太网远程温度监控系统的硬件电路如图l所示。 系统工作原理:先由DSl8820单线数字温
[单片机]
基于<font color='red'>AT89S52</font>单片机的以太网远程监控系统的设计
AT89S52单片机的串行接口
本文主要学习AT89S52单片机的串行接口结构以及相关的寄存器。要求在掌握串行口结构的基础上,学会合理的设置控制寄存器来控制串行口的工作。AT89S52单片机内部的串行接口能同时发送和接收数据。发送缓冲器只能写入不能读出,接收缓冲器只能读出不能写入。串行口还有接收缓冲作用,即从接收寄存器中读出前一个已收到的字节之前就能开始接收第二字节。 一、AT89S52单片机串行口的结构 AT89S52单片机的串行接口主要由两个物理上独立的串行数据缓冲器SBUF、发送控制器、接收控制器、输入移位寄存器和输出控制门组成。 对外表现为两个引脚:RXD(P3.0)串行输入线和TXD(P3.1)串行输出线,串行口的结构如图1所示。 图1 串行口
[单片机]
<font color='red'>AT89S52</font>单片机的串行接口
AT89S52单片机与CF卡的接口的电路图和编程实例
1.本文所述内容就是通过8051单片机对CF卡进行读写。 2.CF卡的操作方式 CF卡的操作方式与计算机的硬盘操作方式类似,其扇区的寻址也有两种方式:物理寻址(CHS)和逻辑寻址(LBA),物理寻址使用柱面、磁头和扇区号表示一个特定的扇区,起始扇区是0道、0头、1区,接下来是2区等等,逻辑寻址将整个CF卡统一寻址。逻辑块寻址和物理寻址的关系为: LBA地址=(柱面号×磁头数+磁头号)×扇区数+扇区数一1 在实际使用过程中,用LBA地址进行寻址,可以大大简化编程的工作量,避免柱面、磁头和扇区之间的换算和切换,并且可以突破CHS对大容量的无法寻址的限制。 3.CF卡的文件管理 CF卡的文件管理系统和硬盘的文件管理是一样的,
[单片机]
<font color='red'>AT89S52</font>单片机与CF卡的接口的电路图和编程实例
简易自动控制原理实验系统设计
  1 引言   自动控制原理是国内高校自动化专业最重要的一门专业课,这门专业课的理论性非常强,光靠课堂教学达不到理想的教学效果,因此各个高校都开设自动控制原理实验,通过实验教学环节加深学生对理论知识的理解,将课堂教学知识转化为实际应用知识,同时培养学生对自动控制原理这门课程的兴趣。然而国内教学仪器企业销售的自动控制原理实验平台不但操作复杂,而且价格昂贵,从而导致高校实验教学开放程度不高,降低了实验教学效果,继而影响到自动控制原理的学习。针对此种现象,设计了一种简易自动制原理实验平台,该系统主要包括电源、基于单片机AT89S52 的信号发生器模块、基本实验环节模块、控制系统环节模块、数据采集模块等模块。其中,数据采集模块通过AT
[单片机]
简易自动控制原理实验系统设计
中央空调温湿度检测系统硬件原理图
中央空调温湿度检测系统硬件原理图如下图所示。温湿度检测模块与AT89S52的P1.0口相连接,同时在P1.0口上接一个4.7千欧的上拉电阻。它主要包括温湿度检测与单片机处理、键盘输入与显示输出。 图 中央空调温湿度检测系统硬件图
[单片机]
中央空调温湿度检测系统硬件原理图
基于单片机的智能排插的设计方案
  1 引言   随着节能减排、绿色环保意识的不断增强,人们对家用电器的节能减排提出了更高的要求。但并不是每家每户都有资金去更换使用多年、现在仍可以使用的家用电器。为此,本文设计研发了一款基于51 单片机控制的节能环保的智能排插,旧一代的家电通过使用这个排插可以蜕变为智能化家电,具备遥控、定时开关、无待机功耗等功能,节约了家电更新换代的成本。该排插现场运行效果良好,符合一般用户需求,具有一定的推广应用价值。   2 智能排插基本工作原理   为方便用户使用,本设计将系统分成两部分:排插控制系统和排插遥控器系统(如图1、图2 所示),它们分别由一片AT89S52 单片机控制。在排插控制系统中,单片机通过无线接收模块接收遥控器的
[单片机]
基于单片机的智能排插的设计方案
基于AT89S52单片机的电机控制系统设计
   0 引言   电机控制在监控器材、医疗器械、电动阀门、电动窗帘、家用电器、旋转灯具等方面有着广泛的应用,因此设计一款可控性好、精度高的电机控制系统是一件非常有意义的事。本文介绍的基于AT89S52单片机的电机控制系统的软硬件设计,在按键的操作下对时间进行设定,控制电机的转动,对工作状态及时间进行显示。    1 设计方案说明   该系统先通过按键对电机的正、反向(即顺时针、逆时针)转动时间分别设置,时间显示在LCD上,格式为时:分:秒(通过改变程序可以选择不同的格式)。采用倒计时方式,正向时间完毕,立刻开始反向转动时间计时,反向时间结束,自动恢复到初始设定的时间。   时间设定完成后,按下开始键,正向转动时间开始计时
[单片机]
可调上下限温度报警器
此程序是在上一个程序进行修改而来,把年月日删除,替换为可调温度上下限。 带有可调时间星期功能,按键发声功能,手动设定温度上下限功能,温度报警功能,适用于AT89S52芯片。芯片内存剩余3.8K。 可扩展功能:闹钟。 程序 #include"reg51.h" #define uchar unsigned char #define uint unsigned int sbit BEEP=P3^7; //// 定义蜂鸣器口 unsigned char L,H; //// 定义高低温度变量 /////////////////////////////////////////
[单片机]
可调上下限温度报警器
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved