智能电风扇设计

合集下载

基于单片机的智能风扇的设计

基于单片机的智能风扇的设计

基于单片机的智能风扇的设计智能风扇的设计是基于单片机的一种智能化家电产品,通过集成了传感器、单片机、通信模块和风扇控制电路等功能模块,能够实现自动感知环境温度、湿度等参数,并根据用户的需求自动调节风扇的转速和工作模式。

下面将详细介绍智能风扇的设计。

1.硬件设计智能风扇的硬件设计包括传感器模块、单片机模块、通信模块和控制电路模块。

传感器模块:智能风扇的传感器模块通常包括温度传感器和湿度传感器,用于感知环境的温度和湿度。

可以选择常见的数字温湿度传感器,如DHT系列传感器。

单片机模块:单片机模块是智能风扇的核心控制模块,可选择一款适合的单片机,如51单片机或STM32系列单片机,并结合开发板进行开发。

单片机模块负责读取传感器数据,并根据温度和湿度的变化进行风扇转速和工作模式的调节。

通信模块:通信模块用于实现智能风扇与其他设备的远程控制和数据传输功能。

可以选择Wi-Fi模块或蓝牙模块,实现与智能手机或其他智能设备的连接。

控制电路模块:控制电路模块包括电机驱动电路和电源电路。

电机驱动电路用于控制风扇电机的转速,可以选用H桥驱动芯片。

电源电路负责为各个模块供电,可以采用稳压模块和滤波电路,保证各个模块的正常运行。

2.软件设计智能风扇的软件设计主要包括数据采集、数据处理和控制策略。

数据采集:单片机模块通过传感器模块采集到温湿度数据,并将数据转换为数字信号以供程序识别。

数据处理:单片机模块通过算法处理采集到的温湿度数据,进一步计算出风扇应该运行的转速和工作模式。

可以根据不同的温湿度阈值设置不同的转速和工作模式,如低温低湿度下风扇停止运行,高温高湿度下风扇全速运行。

控制策略:单片机模块根据处理后的数据,通过控制电路模块控制风扇的转速和工作模式。

控制策略可以通过采用PID控制算法,根据环境温湿度的反馈信息进行动态调节,使风扇以最佳转速运行。

3.功能设计智能风扇可以通过通信模块与智能手机或其他智能设备连接,实现远程控制和数据传输的功能。

基于单片机的智能电风扇的设计

基于单片机的智能电风扇的设计

基于单片机的智能电风扇的设计
1. 系统设计思路:
智能电风扇系统由传感器、单片机以及电机驱动电路组成。

传感器检测环境温度、湿度和人体距离等参数,单片机根据这些参数控制电机的工作,并且可以根据预设程序自动调节电风扇的转速和运转模式。

2. 硬件设计:
(1) 传感器模块:
环境温湿度传感器模块和人体距离传感器模块分别采用DHT11和HC-SR501。

(2) 单片机模块:
根据项目需求,使用STM32F103ZET6单片机,主要处理传感器的读取和数据处理,并进行PWM波输出,控制电机转速。

(3) 电机驱动模块:
电机采用直流无刷电机,控制驱动电路采用L298N芯片。

3. 软件设计:
(1)初始化各个模块,包括传感器、GPIO等。

(2)读取传感器的数据,并根据不同温度、湿度和人体距离进行选择参数,设置不同的转速和运转模式。

(3)通过PWM波输出,控制电机的转速,实现电风扇的自动调节和控制。

4. 实现功能:
灵活的温湿度和人体距离检测,自动选择合适的电风扇运转模式和转速,节能环保,人性化的操作界面等。

总之,基于单片机的智能电风扇系统可以在提供便利的同时,达到节能环保的目的。

智能温控电风扇的设计

智能温控电风扇的设计

智能温控电风扇的设计随着科技的不断发展,智能化产品已经成为现代生活中不可或缺的一部分。

智能温控电风扇作为智能家居产品的一种,可以帮助用户实现智能控制风扇的温度和风速,体验更加舒适的生活。

本文将介绍智能温控电风扇的设计理念、功能特点和未来发展趋势。

一、设计理念智能温控电风扇的设计理念是基于用户体验和节能环保的理念。

通过传感器和智能芯片的技术应用,实现对室内温度的实时监测和智能调节。

结合智能手机App,用户可以随时随地通过手机对电风扇进行控制,搭配定时开关机功能,更加智能化的满足用户的需求。

智能温控电风扇还可以通过智能语音助手进行控制,提高了产品的人机交互体验。

二、功能特点1.实时温度监测:智能温控电风扇配备了高精度温度传感器,能够对室内温度进行实时监测,通过智能芯片进行数据分析和处理,实现精准的温度控制。

2.智能风速调节:根据室内温度的不同,智能温控电风扇可以智能调节风速,使风量和温度达到最舒适的状态。

3.手机App控制:用户可以通过手机App随时对电风扇进行控制,包括开关机、风速调节、定时功能等,让用户更加方便地使用电风扇。

4.智能语音控制:支持智能语音助手,用户可以通过语音指令实现对电风扇的控制,提高了产品的智能化水平。

5.节能环保:通过智能温控系统的应用,可以根据实际需要进行智能调节,避免不必要的能源浪费,达到节能环保的目的。

三、未来发展趋势随着智能家居市场的不断扩大,智能温控电风扇作为智能家居产品的一种,未来发展趋势将会更加智能化、个性化和智能互联。

在智能化方面,将会加强对传感器、智能控制芯片的技术研发,提高产品的智能化水平,让产品更加贴近用户的需求。

在个性化方面,根据用户的喜好和习惯,定制化智能温控电风扇的功能,让用户可以根据自己的需求定制个性化的使用体验。

在智能互联方面,智能温控电风扇将会与其他智能家居设备进行互联,在智能家居生态系统中扮演更加重要的角色,实现智能家居设备之间的联动,提高整体的智能化水平。

智能电风扇毕业设计

智能电风扇毕业设计

智能电风扇毕业设计智能电风扇毕业设计随着科技的不断进步和人们对生活品质的追求,智能家居产品越来越受到人们的关注和喜爱。

智能电风扇作为其中的一员,既能满足人们对舒适生活的需求,又能提升生活的便利性。

本文将介绍一种智能电风扇的毕业设计方案,希望能为相关专业的学生提供一些参考和灵感。

1. 设计目标在开始设计之前,首先需要明确设计的目标。

智能电风扇的设计目标应该包括以下几个方面:1.1. 舒适性:电风扇作为一种常见的降温设备,应该能够提供舒适的风速和风向调节功能,以满足不同人群的需求。

1.2. 节能环保:设计中应考虑到电风扇的能耗问题,尽量减少能源的消耗,并且使用环保材料制造,减少对环境的影响。

1.3. 智能化:智能电风扇应该具备远程控制、定时开关、温度感应等功能,以提升用户的使用体验和便利性。

2. 硬件设计2.1. 风速调节:通过设计不同档位的风速控制电路,实现电风扇的风速调节功能。

可以使用可变电阻或者按键开关来实现不同档位的切换。

2.2. 风向调节:设计一个可调节的风向装置,通过电机或者伺服电机的控制,实现电风扇风向的上下左右调节。

2.3. 温度感应:通过温度传感器来感知室内温度,并根据设定的温度范围来自动调节电风扇的风速和开关。

2.4. 远程控制:通过无线通信模块,实现电风扇的远程控制功能。

用户可以通过手机或者其他智能设备来控制电风扇的开关、风速和风向等参数。

3. 软件设计3.1. 应用程序开发:开发一个简洁易用的手机应用程序,用户可以通过该应用程序来控制电风扇的各项功能。

包括开关、风速、风向的调节,以及定时开关等功能。

3.2. 数据处理:通过手机应用程序收集用户的使用数据,进行数据分析和处理,以优化电风扇的使用效果和能耗。

3.3. 智能化算法:设计智能算法,根据用户的使用习惯和环境条件,自动调节电风扇的工作模式,提供最佳的舒适度和能效。

4. 原型制作与测试在完成硬件和软件设计后,需要制作一个电风扇的原型,并进行实际测试。

智能电风扇控制系统设计【开题报告】

智能电风扇控制系统设计【开题报告】

智能电风扇控制系统设计【开题报告】一、课题背景和意义目前,智能家居产品在市场上越来越受到消费者的关注与追捧。

智能电风扇作为智能家居产品中的一种,具有节能、便捷、舒适等特点,受到了广大消费者的喜爱。

智能电风扇控制系统设计是为了实现电风扇的智能化控制,提升用户的使用体验。

通过应用相关的传感技术、通信技术和人工智能技术,实现电风扇根据环境条件自动调节风速、风向、开关等功能。

用户可以通过手机APP或语音控制等方式对电风扇进行远程控制,实现电风扇的智能化管理。

本课题的研究意义主要体现在以下几个方面:1. 提升用户的使用体验。

智能电风扇具有更加智能化的功能,用户可以根据自身需求自动调节电风扇的运行状态,提供更加舒适的使用体验。

2. 实现电能的节约与环保。

智能电风扇能够根据环境条件自动调节风速,避免了不必要的能源消耗,减少了对环境的污染,具有较高的节能与环保性能。

3. 推动智能家居产业的发展。

智能电风扇控制系统的设计和研发,可以促进智能家居产业的发展,推动相关技术和产品的应用与推广。

二、研究内容和方法本课题的主要研究内容包括以下几个方面:1. 传感技术的应用。

通过温湿度传感器、光照传感器等传感器,实时感知环境条件,并根据环境条件调节电风扇的风速、风向等参数。

2. 通信技术的应用。

通过WiFi、蓝牙等无线通信技术,实现电风扇与智能手机等设备的连接,实现远程控制和数据传输。

3. 人工智能技术的应用。

通过机器学习算法和智能控制算法,实现电风扇运行状态的智能调节,提升电风扇的智能化水平。

研究方法主要包括以下几个方面:1. 文献综述。

对智能电风扇控制系统设计的相关理论和技术进行调研和分析,在工程实践中提出解决问题的方法和思路。

2. 系统设计与开发。

根据需求分析,设计电风扇控制系统的硬件电路和软件系统,搭建相应的实验平台。

3. 实验与测试。

通过实际操作和测试,验证系统设计的可行性和有效性,对系统的功能、性能、稳定性等进行评估和优化。

智能电风扇控制系统设计

智能电风扇控制系统设计

智能电风扇控制系统设计目录一、绪论-------------------------------------------------------------------------------11.1 智能电风扇控制系统背景---------------------------------------------11.2 智能电风扇控制系统概述---------------------------------------------11.3 设计任务和主要内容----------------------------------------------------1二、方案论证------------------------------------------------------------------------22.1 传感器部分-----------------------------------------------------------------22.2 主控制部分-----------------------------------------------------------------22.3 调速方式选择--------------------------------------------------------------32.4 温度控制模块--------------------------------------------------------------32.5 显示电路--------------------------------------------------------------------3三、系统硬件电路设计-------------------------------------------------------------43.1 总体硬件设计-----------------------------------------------------------43.2 电源模块设计------------------------------------------------------------43.3 单片机最小系统---------------------------------------------------------53.4 数字温度传感器模块设计---------------------------------------------63.5 电机调速与控制模块设计---------------------------------------------83.6 高温报警模块设计------------------------------------------------------8四、系统软件设计------------------------------------------------------------------124.1 概述-----------------------------------------------------------------------124.2 整体程序流程图设计--------------------------------------------------124.3 小功率直流电机调速与控制模块程序-----------------------------14五、系统调试----------------------------------------------------------------------155.1 测试环境及工具---------------------------------------------------------155.2 测试方法------------------------------------------------------------------155.3 测试结果分析------------------------------------------------------------15六、设计总结-----------------------------------------------------------------------15参考文献------------------------------------------------------------------------------16附录------------------------------------------------------------------------------------17摘要本设计以89c52单片机为核心,采用DS18B20温度传感器,对环境温度进行数据采集,以此来调节风速实现对电风扇的智能控制,,从而建立一个控制系统,使电风扇随温度的变化而自动变换档位,实现“温度高,风力大,温度低,风力弱”的性能。

基于触摸屏的智能电风扇控制系统设计,

基于触摸屏的智能电风扇控制系统设计,

基于触摸屏的智能电风扇控制系统设计,(最新版)目录一、引言二、触摸屏智能电风扇控制系统的设计原理1.系统功能2.系统架构三、硬件设计1.触摸屏模块2.控制模块3.电风扇模块4.通信模块四、软件设计1.系统软件设计2.应用程序设计五、系统实现与测试六、总结与展望正文一、引言随着科技的发展,人们对生活品质的追求越来越高,智能化、便捷化的家居电器受到越来越多人的青睐。

其中,电风扇作为夏季常用的家电之一,其智能化和便捷化的需求也越来越明显。

为了满足这一需求,本文提出了一种基于触摸屏的智能电风扇控制系统设计,以实现电风扇的智能控制和远程操控。

二、触摸屏智能电风扇控制系统的设计原理1.系统功能本设计主要实现了以下功能:(1)温度控制:根据用户设定的温度,智能控制电风扇的转速,以保持室内温度恒定。

(2)风向控制:根据用户需求,实现电风扇的风向切换。

(3)风速控制:根据用户需求,实现电风扇的风速调节。

(4)定时控制:用户可以设定电风扇的工作时间,实现定时开启和关闭。

(5)远程控制:通过手机 APP 或其他远程控制设备,实现电风扇的远程操控。

2.系统架构本系统采用触摸屏作为人机交互界面,通过控制模块实现对电风扇的控制。

同时,系统具备通信功能,可以与手机 APP 或其他远程控制设备进行数据交互,实现远程操控。

三、硬件设计1.触摸屏模块:选用一款适合的触摸屏显示屏,作为人机交互界面。

2.控制模块:采用单片机或微控制器作为控制核心,实现对电风扇的智能控制。

3.电风扇模块:选用一台具有遥控功能的电风扇,作为系统的执行器。

4.通信模块:采用 Wi-Fi 模块或蓝牙模块,实现系统与手机 APP 或其他远程控制设备的通信。

四、软件设计1.系统软件设计:根据系统功能需求,编写系统软件,实现触摸屏界面的渲染、用户输入的识别、控制模块的驱动以及通信模块的数据收发等功能。

2.应用程序设计:开发手机 APP 或其他远程控制设备应用程序,实现与电风扇控制系统的通信,以实现远程操控。

智能电风扇课程设计

智能电风扇课程设计

智能电风扇课程设计一、课程目标知识目标:1. 让学生掌握智能电风扇的基本结构、工作原理及其在生活中的应用。

2. 使学生了解智能电风扇的设计理念,理解智能控制技术的相关知识。

3. 帮助学生认识智能电风扇的发展趋势及其对节能减排的意义。

技能目标:1. 培养学生运用所学的智能电风扇知识,分析、解决实际问题的能力。

2. 提高学生动手实践能力,学会使用相关工具和设备进行智能电风扇的组装与调试。

3. 培养学生团队协作和沟通能力,能够在小组合作中共同完成项目任务。

情感态度价值观目标:1. 培养学生对智能电风扇及其相关领域的技术兴趣,激发创新精神。

2. 增强学生的环保意识,认识到节能减排的重要性,培养节能环保的良好习惯。

3. 培养学生关注社会发展,认识到科技创新对社会进步的推动作用。

课程性质:本课程为实践性、综合性课程,以项目为导向,结合课本知识,注重培养学生的动手实践能力和创新能力。

学生特点:六年级学生具有一定的科学知识和动手能力,对新鲜事物充满好奇心,善于合作,有一定的自主学习能力。

教学要求:结合学生特点,注重理论与实践相结合,充分调动学生的积极性,提高学生的参与度,确保课程目标的实现。

在教学过程中,将目标分解为具体的学习成果,以便于教学设计和评估。

二、教学内容根据课程目标,教学内容分为以下三个部分:1. 理论知识学习:- 智能电风扇的基本结构:介绍电风扇的主要组成部分,如电机、叶片、控制板等。

- 工作原理:讲解智能电风扇的运行原理,包括风力控制、定时功能、遥控操作等。

- 智能控制技术:介绍传感器、微控制器等在智能电风扇中的应用。

教学大纲:对应教材第3章“智能家电”,课时安排为2课时。

2. 实践操作:- 智能电风扇组装与调试:指导学生动手组装智能电风扇,并进行功能调试。

- 故障排查与维修:教授学生如何识别和处理智能电风扇的常见问题。

教学大纲:对应教材第4章“实践操作”,课时安排为4课时。

3. 项目研究:- 智能电风扇的创新设计:鼓励学生思考如何优化现有智能电风扇的功能,提出创新设计方案。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

智能电风扇设计【摘要】本设计以A T89S52单片机为控制中心,主要通过提取热释电红外传感器感应到的人体红外线信息和温度传感器DS18B20得到的温度以及内部定时器设定时间长短来控制电风扇的开关及转速的变化。

目录引言 (3)1、总体方案设计及功能描述 (4)2、功能模块硬件简介与实现 (4)2.1、键盘输入电路 (4)2.2、热释电红外传感器模块 (4)2.2.1、热释电红外线传感器原理简介 (4)2.2.2、热释电红外线传感器应用 (5)2.3、温度传感器 (5)2.3.1、温度传感器DS18B20简介 (5)2.3.2、DS18B20读写及初始化时序 (5)2.3.3、DS18B20的一般操作过程 (6)2.3.4、DS18B20的温度存储方式即温度计算 (6)2.4、数码管显示电路 (6)2.4.1、74ls164简介 (6)2.4.2、共阴极八段数码管简介 (6)2.4.3、显示电路设计 (7)2.5、发光二极管电路 (7)2.6、蜂鸣器电路 (7)2.7、继电器控制电路 (8)2.7.1、继电器简介 (8)2.7.2、继电器驱动电路设计及工作原理简介 (8)2.8、整体电路硬件设计 (9)3、AT89S52软件设计与实现 (10)3.1、整体设计思路介绍 (10)3.2、主要部分流程图 (10)3.2.1、主程序流程图 (10)3.2.2、外部中断流程图 (10)3.2.3、定时器0中断流程图 (11)3.2.4、定时器1中断流程图 (11)4、总结 (11)致谢词 (12)参考文献 (12)附页: (13)引言随着人们生活水平及科技水平的不断提高,现在家用电器在款式、功能等方面日益求精,并朝着健康、安全、多功能、节能等方向发展。

过去的电器不断的显露出其不足之处。

电风扇作为家用电器的一种,同样存在类似的问题。

现在电风扇的现状:大部分只有手动调速,再加上一个定时器,功能单一。

存在的隐患或不足:比如说人们常常离开后忘记关闭电风扇,浪费电且不说还容易引发火灾,长时间工作还容易损坏电器。

再比如说前半夜温度高电风扇调的风速较高,但到了后半夜气温下降,风速不会随着气温变化,容易着凉。

之所以会产生这些隐患的根本原因是:缺乏对环境的检测。

如果能使电风扇具有对环境进行检测的功能,当房间里面没有人时能自动的关闭电风扇;当温度下降时能自动的减小风速甚至关闭风扇,这样一来就避免了上述的不足。

本次设计就是围绕这两点对现有电风扇进行改进。

1、总体方案设计及功能描述本设计是以AT89S52单片机控制中心,主要通过提取热释电红外传感器感应到的人体红外线信息和温度传感器DS18B20得到的温度以及内部定时器设定时间长短来控制电风扇的开关及转速的变化。

功能描述:电风扇工作在四种状态:手动调速状态、自动调速状态、定时状态、停止状态。

手动状态时可以手动调节速度;自动状态时通过温度高低自动调节速度,如果出现手动现象则变为手动状态;定时状态时可以调节定时时间,并设定是否启动定时,之后可以手动退出,也可以在不操作6秒后自动退出进入手动状态;停止状态时可以被唤醒并进入自动状态。

当没有检测到人体存在超过3分钟或定时完毕时进入停止状态。

在数码管显示方面,当没有定时时,只显示气温,当定时启动时气温和定时剩余时间以3秒的速度交替显示。

系统方框图如下图所示,主要包括:输入、控制、输出三大部分8个功能模块。

图 1-12、功能模块硬件简介与实现2.1、键盘输入电路由于设计中用到的按键数目不多,所以可以直接用AT89S52的通用IO端口且选用AT89S52的P1口(内部有上拉电阻)作为键盘接口。

对于按键只需一端接地另一端接P1口即可。

见下图(2-1):2.2、热释电红外传感器模块2.2.1、热释电红外线传感器原理简介人体辐射的红外线中心波长为9~10--um,而探测元件的波长灵敏度在0.2~20--um 范围内几乎稳定不变。

在传感器顶端开设了一个装有滤光镜片的窗口,这个滤光片可通过光的波长范围为7~10--um,正好适合于人体红外辐射的探测,而对其它波长的红外线由滤光片予以吸收,这样便形成了一种专门用作探测人体辐射的红外线传感器。

实质上热释电传感器是对温度敏感的传感器。

它由陶瓷氧化物或压电晶体元件组成,在元件两个表面做成电极,如图2所示。

在环境温度有ΔT的变化时,由于有热释电效应,在两个电极上会产生电荷ΔQ,即在两电极之间产生一微弱的电压ΔV。

2.2.2、热释电红外线传感器应用热释电红外线传感器有三个端口,一个接电源、一个接地、一个信号端口,当有人进入其检测区域时,信号端口便产生一个电平跳变,并维持数秒钟,我们就是利用这个跳变来判断是否有人在这个检测区域。

2.3、温度传感器2.3.1、温度传感器DS18B20简介新型数字温度传感器DS18B20具有体积更小、精度更高、适用电压更宽、采用一线总线,在实际应用中取得了良好的测温效果。

DS18B20的主要特性:(2)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。

(5)测温温范围-55℃~+125℃(6)最高分辨率为0.0625℃。

2.3.2、DS18B20读写及初始化时序2.3.3、DS18B20的一般操作过程(1)、初始化;(2)、跳过ROM(命令:CCH);(3)、温度变换(命令:44H);(4)、读暂存存储器(命令:BEH);注意:每次读取温度都要经过上面四个过程。

2.3.4、DS18B20的温度存储方式即温度计算DS18B20是用12位存储温度,最高位为符号位,下图为它的温度存储方式:这是12位转化后得到的12位数据,存储在DS18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。

2.4、数码管显示电路2.4.1、74ls164简介移位寄存器是一类应用很广的时序逻辑电路,在时钟脉冲的作用下,低位寄存器的数码送给高位寄存器,作为高位寄存器的次态输出。

在时钟脉冲的作用下,高位寄存器的数码送给低位寄存器,作为低位寄存器的次态输出;移位寄存器:除具寄存器的功能外,所存储的数码在时钟脉冲的作用下还可以移位。

74ls164是八位串入并出移位寄存器,其工作电压范围4.75~5.25V,大于2V的高电平输入、小于0.8V的低电平输入,clock最高响应频率为25MHZ,八位并行输出可以直接驱动八段数码管。

74ls164的引脚图及功能图如下所示:2.4.2、共阴极八段数码管简介共阴极八段数码管是将八段发光二极管封装在一起且二极管的阴极连在一起,原理图如下图所示,公共端接低电平,其它八个端口高电平点亮相应的二极管,低电平相反。

2.4.3、显示电路设计此显示电路采用两位静态数码管显示,用八位串入并出移位寄存器74LS164作为驱动电路,采用共阴极八段数码管原理图示意图如下:从图中可以看出控制线只有两条:1、数据线;2、移位脉冲线。

它只占用很少的IO口。

2.5、发光二极管电路发光二极管简称为LED,它是半导体二极管的一种。

发光二极管的反向击穿电压约5伏。

它的正向伏安特性曲线很陡,使用时必须串联限流电阻以控制通过管子的电流。

限流电阻R可用下式计算:R=(E-UF)/IF式中E为电源电压,UF为LED的正向压降,IF为LED的一般工作电流。

发光二极管的两根引线中较长的一根为正极,应按电源正极。

与小白炽灯泡和氖灯相比,发光二极管的特点是:工作电压很低(有的仅一点几伏);工作电流很小(有的仅零点几毫安即可发光);抗冲击和抗震性能好,可靠性高,寿命长;通过调制通过的电流强弱可以方便地调制发光的强弱。

由于有这些特点,发光二极管在一些光电控制设备中用作光源,在许多电子设备中用作信号显示器。

由于AT89S52的P0口是开漏输出,所以此电路可以设计位如下简单形式:2.6、蜂鸣器电路蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。

由于蜂鸣器具有比传统的喇叭体积小,价格低等优点,所以此次提示音电路选用蜂鸣器。

具体电路见下图:工作原理简介:当控制端口通以不同频率及不同占空比的信号时蜂鸣器将发出不同强度及不同频率的声音。

2.7、继电器控制电路2.7.1、继电器简介继电器是一种电子控制器件,它具有控制系统(又称输入回路)和被控制系统(又称输出回路),通常应用于自动控制电路中,它实际上是用较小的电流去控制较大电流的一种“自动开关”。

故在电路中起着自动调节、安全保护、转换电路等作用。

它有几个重要指标:1、额定工作电压:正常工作时线圈所需要的电压。

2、直流电阻:继电器中线圈的直流电阻。

3、吸合电流:继电器能够产生吸合动作的最小电流。

4、释放电流:继电器产生释放动作的最大电流。

5、触点切换电压和电流:继电器允许加载的电压和电流。

2.7.2、继电器驱动电路设计及工作原理简介采用晶闸管也可以用于小电流控制大电流电路,但是其控制电路比较复杂,而采用继电器其控制电路就比较简单,且具有电气隔离作用。

虽然其响应速度没有晶闸管快但在低频情况下采用继电器控制电路较为方便。

其电路图如下所示:电路工作原理简介:当控制端口为低电平时,三极管导通继电器吸合,常闭触电断开,常开触点闭合。

当控制端口为高电平时三极管关断,继电器线圈通过二极管放电并断开,常闭、常开触电复位。

2.8、整体电路硬件设计3、AT89S52软件设计与实现3.1、整体设计思路介绍软件设计整体思路:主程序部分进行一些初始化以及温度的读取;外部中断0进行红外线感应延时时间的从新加载;定时器0进行键盘的扫描及相关操作;定时器1进行显示、温控速度、以及相关需要延时(如倒计时等等)的操作。

在显示方面,进行了一些改善----要显示的值有变化才进行从新刷新,否则不刷新。

这样就大大提高了效率及最终的显示效果(不会出现不该亮的部分还有亮的现象)。

3.2、主要部分流程图如下:3.2.1、主程序流程图图 3-13.2.2、外部中断流程图图 3-23.2.3、定时器0中断流程图图 3-33.2.4、定时器1中断流程图图 3-44、总结本设计最终实现了电风扇的手动调速、温控自动调速、定时、温度显示、人体检测等预期功能,其中定时在1到99分钟连续可调,人体检测范围角度120度、距离6米,人体检测延时时间3分钟,定时器自动退出时间6秒。

存在不足之处就是人体检测抗干扰方面不够好,需要提高。

程序清单/***********************************************************************touwenjian.h***********************************************************************/typedef unsigned char byte;typedef unsigned int word;//以下管脚配置//ds18b20部分sbit DQ =P2^5;//显示部分sbit DB=P1^0;sbit CP=P1^1;//发光显示部分sbit LED_dingshi =P0^0;sbit LED_shoudong =P0^1;sbit LED_zidong =P0^2;sbit LED_kuai =P0^5;sbit LED_zhong =P0^6;sbit LED_man =P0^7;//键盘定义部分#define wujian 0x3fsbit KEY1=P1^2 ; //状态转换 /启动sbit KEY2=P1^3 ; //+10 / 1sbit KEY3=P1^4 ; //-10 / 2sbit KEY4=P1^5 ; // 3sbit KEY5=P1^6 ; // 0 确定//继电器控制部分sbit JDQ1=P2^1; //0表示开通,1表示关断sbit JDQ2=P2^2;sbit JDQ3=P2^3;//蜂鸣器部分sbit call=P2^4; //低电平鸣叫/*********************************************************************** ds18b20.c***********************************************************************/ #include <REGX51.H>#include"touwenjian.h"/*****************************************************延时子程序*****************************************************/extern void delay(word useconds){for(;useconds>0;useconds--);}/*****************************************************复位子程序******************************************************/static byte ow_reset(void){byte presence;EA=0;DQ = 0; // pull DQ line lowdelay(45); // leave it low for 480us //551usDQ = 1; // allow line to return highdelay(4); // wait for presence //61uspresence = DQ; // get presence signaldelay(40); // wait for end of timeslot //491usEA=1;return(presence); // presence signal returned} // 0=presence, 1 = no part/*******************************************************从 1-wire 总线上读取一个字节子程序********************************************************/static byte read_byte(void){byte i;byte value = 0;EA=0;for (i=8;i>0;i--){value>>=1;DQ = 0; // pull DQ low to start timeslotDQ = 1; // then return high{unsigned char i;for(i=0;i<2;i++);} //11usif(DQ)value|=0x80;delay(6); // wait for rest of timeslot}EA=1;return(value);}/********************************************************向 1-WIRE 总线上写一个字节*********************************************************/static void write_byte(char val){byte i;EA=0;for (i=8; i>0; i--) // writes byte, one bit at a time{DQ = 0; // pull DQ low to start timeslotDQ=0;DQ = val&0x01; //6USdelay(5); // hold value for remainder of timeslot //74usDQ = 1;val=val>>1;}EA=1;delay(5);}/*******************************************************读取温度*******************************************************/word Read_Temperature(void){union{byte c[2];word x;}temp;ow_reset();write_byte(0xCC); // Skip ROMwrite_byte(0xBE); // Read Scratch Padtemp.c[1]=read_byte();temp.c[0]=read_byte();ow_reset();write_byte(0xCC); //Skip ROMwrite_byte(0x44); // Start Conversionreturn temp.x;}/*************************************************************** 求解温度***************************************************************/ extern byte Real_Tem(void){word wen;wen=Read_Temperature();return((wen>>4)&0x00ff);}/*********************************************************************** Main.c***********************************************************************/ #include <REGX51.H>#include"touwenjian.h"//数据区#define time_default 41byte dingshi_time=time_default;//存放定时时间''''''bit flag_dingshi=0; //0表示没有定时word dingshi_jishu3=1000;//1000*60=1分钟//bit flag_dingshi_delay=0;//1表示有byte dingshi_delay=100;//#define hwx_delay_const 3 //人体感应延时时间byte hwx_delay=hwx_delay_const;//用于保存红外线触发延长时间word hwx_jishu1=0;//byte wendu=0;//用于存放温度值''''''//#define low_wen 18#define mid_wen 20#define hig_wen 24#define vhi_wen 28//byte time_stor=100; //存储主观时间//触发显示byte wendu_stor=low_wen;//存储主观温度//触发显示//enum station0{zidong,dingshi,shoudong,weak}state;//函数说明区extern byte Real_Tem(void );extern void delay(word useconds);void mingjiao(void);void display(byte input,bit kkl);void auto_speed(void);void weak_default(void);/*******************************************************************主程序*******************************************************************/ void main(){//定时器0用于键盘扫描TMOD=0x01|TMOD; //定时器0的1方式TH0=0xd8;TL0=0xf0; //定时器0初始化10ms扫描一次//定时器1用于显示TMOD=0x10|TMOD; //定时器1的1方式TH1=0x15;TL1=0xA0; //定时器1初始化60ms中断一次//外部中断TCON=TCON|0x01; //外部中断0都下降沿触发//以下为开启部分IP=0X01; //两个定时器同等优先级‘????想想为什么?IE=0x8b; //开启定时器0,1,外部中断0中断//while(Real_Tem()==85);auto_speed();LED_zidong=0; //刚开始为自动方式P1=P1|0X7C; //拉高五个键盘wendu_stor=100; //两个不可能值//用于启动显示time_stor=100; //两个不可能值//用于启动显示//TR0=1; //开启定时器0TR1=1;while(1){wendu=Real_Tem();}}/*********************************************************************************** 定时器0中断服务子程序功能:进行键盘处理说明:键盘输入为P1.0到P1.5***********************************************************************************/ void time0(void) interrupt 1{byte jianpan;TH0=0xd8;TL0=0xf0;jianpan = P1 & wujian;if(jianpan != wujian) //如果还有键盘值提取键盘值{delay(500); //延时消抖jianpan = P1 & wujian;if(jianpan==wujian)goto time_out;switch(state){case dingshi: if(KEY1==0)//状态转换时做些相应的处理{state=shoudong;LED_shoudong=0;flag_dingshi_delay=0;dingshi_delay=100;time_stor=100;wendu_stor=100;//触发mingjiao();while(KEY1==0);}else if(KEY2==0)//加分{if(dingshi_time<90){dingshi_time+=10;}dingshi_delay=100;//mingjiao();while(KEY2==0);}else if(KEY3==0)//减分{if(dingshi_time>10){dingshi_time-=10;}dingshi_delay=100;//mingjiao();while(KEY3==0);}else if(KEY4==0)//定时与否{flag_dingshi=~flag_dingshi;if(flag_dingshi==1){LED_dingshi=0;}else {LED_dingshi=1;dingshi_jishu3=1000;}dingshi_delay=100;////mingjiao();while(KEY4==0);}else if(KEY5==0){weak_default();mingjiao();while(KEY5==0);}break;case shoudong:if(KEY1==0) //状态转换时做些相应的处理{state=zidong;auto_speed();LED_shoudong=1;LED_zidong=0;mingjiao();while(KEY1==0);}else if(KEY2==0)//快1{JDQ2=1;JDQ3=1;JDQ1=0;//关断其它LED_zhong=LED_man=1;LED_kuai=0;mingjiao();while(KEY2==0);}else if(KEY3==0)//中2{JDQ1=1;JDQ3=1;JDQ2=0;//关断其它LED_kuai=LED_man=1;LED_zhong=0;mingjiao();while(KEY3==0);}else if(KEY4==0)//慢3{JDQ1=1;JDQ2=1;JDQ3=0;//关断其它LED_zhong=LED_kuai=1;LED_man=0;mingjiao();while(KEY4==0);}else if(KEY5==0)//停4{weak_default();mingjiao();while(KEY5==0);}break;case zidong: if(KEY1==0) //状态转换时做些相应的处理{state=dingshi;LED_zidong=1;flag_dingshi_delay=1;dingshi_delay=100;//开始延时time_stor=100;//mingjiao();while(KEY1==0);}else if(KEY2==0)//快1{JDQ2=1;JDQ3=1;JDQ1=0;//关断其它LED_zhong=LED_man=1;LED_kuai=0;state=shoudong;LED_zidong=1;LED_shoudong=0;mingjiao();while(KEY2==0);}else if(KEY3==0)//中2{JDQ1=1;JDQ3=1;JDQ2=0;//关断其它LED_kuai=LED_man=1;LED_zhong=0;state=shoudong;LED_zidong=1;LED_shoudong=0;mingjiao();while(KEY3==0);}else if(KEY4==0)//慢3{JDQ1=1;JDQ2=1;JDQ3=0;//关断其它LED_zhong=LED_kuai=1;LED_man=0;。

相关文档
最新文档