智能温控风扇实物报告

合集下载

温控风扇实训报告

温控风扇实训报告

一、实验目的本次实训的主要目的是通过实践操作,了解温控风扇的工作原理和设计方法,掌握单片机在温控系统中的应用,以及学会如何进行电路设计和调试。

通过实训,提升动手能力和问题解决能力,为以后从事相关领域的工作打下基础。

二、实验原理温控风扇是一种利用单片机控制电机转速,以达到调节环境温度的设备。

其工作原理如下:1. 温度传感器:采集环境温度,将温度信号转换为数字信号。

2. 单片机:接收温度传感器传输的温度信号,进行数据处理和决策,控制电机转速。

3. 电机驱动模块:根据单片机的指令,控制电机转速,实现风扇的启停和风速调节。

三、实验内容1. 硬件设计本次实训使用的硬件主要包括以下部分:(1)单片机:STC89C52(2)温度传感器:DS18B20(3)电机驱动模块:ULN2803(4)直流电机(5)电阻、电容、电位器等2. 软件设计软件设计主要包括以下部分:(1)温度采集:读取DS18B20温度传感器的数据,将其转换为温度值。

(2)温度控制:根据设定的温度值和采集到的实际温度值,计算误差,并通过PID算法进行控制。

(3)电机控制:根据单片机的指令,控制电机驱动模块,调节电机转速。

3. 系统调试(1)硬件调试:检查电路连接是否正确,电源电压是否稳定,传感器信号是否正常。

(2)软件调试:编写程序,对单片机进行编程,调试程序,使系统能够正常工作。

四、实验结果与分析1. 实验结果通过实验,我们成功设计并实现了温控风扇系统。

系统可以根据设定的温度值和实际温度值,自动调节电机转速,实现风扇的启停和风速调节。

2. 结果分析(1)温度采集:DS18B20温度传感器采集到的温度值稳定,准确度较高。

(2)温度控制:通过PID算法对电机转速进行控制,能够实现较好的温度控制效果。

(3)电机控制:电机驱动模块能够根据单片机的指令,准确控制电机转速。

五、实验总结1. 通过本次实训,我们掌握了单片机在温控系统中的应用,了解了温控风扇的工作原理和设计方法。

智能风扇

智能风扇

智能温控风扇综述报告一、研究课题的背景和目的:近年来,随着人们生活及科技水平的不断提高,家用电器在款式、功能等方面日益求精,并朝着健康、安全、多功能、节能等方向发展。

电风扇由于价格低廉而且相对省电,安装和使用方便,所以目前中国大部分人口的农村地区还有一些校园里的教师与宿舍仍然使用着电风扇作为防暑降温的设备。

但是目前但是目前市场上的电风扇多半是采用全硬件电路实现,存在着电路复杂、功能单一等局限性。

并且由于目前市场上的电风扇,大多数为手动控制机械调节来定时,存在着无人时风扇依然工作,温度低于一定温度时仍然工作。

所以,我们课题的目的在于研究,开发一个新型的具有人体红外和温度传感系统来检测室内有无人员以及室内温度。

然后通过程序,与传感器来自动控制电风扇工作与停止,以及工作时转速的大小。

从而达到我们所预期的智能控制和节能环保的目的。

二、国内外研究现状:1、温控风扇的系统框图及硬件选择:单片机模块、键盘输入模块、人体感应模块、温度采集模块、双向可控硅控制模块、报警及显示模块。

附:主要模块介绍:单片机模块:采用T89S52单片机,T89S52单片机是一个低功耗,高性能CMOS8位单片机,片内含8KB ISP(In—System Programmable)的可反复擦写1000次的FLASH只读程序存储器,支持在线编程。

兼容标准MCS一51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFLASH存储单元。

具体特点表现为:具有优异的性能价格比;集成度高、体积小、可靠性高;控制功能强;低电压、低功耗。

单片机是温控风扇中的控制核心。

当检测的温度高于一定值时,单片机引脚输出高电平,通过继电器实现弱电控制强电,打开电风扇,当温度低于一定值时,单片机引脚输出低电平,控制电风扇停止转动。

另外,温度过高或过低时,蜂鸣器发出声音。

双向可控硅控制模块:该模块采用3A、600V的双向可控硅TLC336A。

TLC336A 是一种特殊的可控硅器件,即硅五层三端器件,正、反向的导通共用一个控制极,控制极触发方式可用交流信号、直流信号及过零触发3种方式。

智能风扇实习报告

智能风扇实习报告

一、实习背景随着科技的不断发展,智能家居系统逐渐走进人们的生活。

作为智能家居系统中的一部分,智能风扇在调节室内温度、提高生活品质等方面发挥着重要作用。

为了深入了解智能风扇的工作原理和实际应用,我参加了为期一个月的智能风扇实习。

二、实习内容1. 智能风扇基本原理智能风扇主要由单片机、传感器、电机驱动模块、显示屏等组成。

单片机作为核心控制器,负责接收传感器采集的数据,并根据用户需求进行相应的控制。

传感器主要负责检测室内温度、湿度等信息,电机驱动模块负责驱动电机旋转,显示屏用于显示风扇状态和调节参数。

2. 实习过程(1)熟悉智能风扇硬件电路在实习过程中,我首先对智能风扇的硬件电路进行了详细学习。

通过查阅相关资料,了解了各个模块的功能和作用,并掌握了电路连接方法。

(2)学习单片机编程为了实现对智能风扇的编程控制,我学习了51单片机编程。

通过编写程序,实现了以下功能:1)读取传感器数据,实时显示室内温度和湿度;2)根据用户设置的温度范围,自动调节风扇转速;3)通过按键控制风扇开关、风速、定时等功能;4)具有过热保护功能,当风扇温度过高时,自动停止工作。

(3)组装智能风扇在掌握了编程和电路知识后,我开始组装智能风扇。

按照电路图连接各个模块,调试程序,确保风扇能够正常运行。

(4)测试与优化在组装完成后,我对智能风扇进行了测试。

首先,检查风扇是否能够根据温度变化自动调节风速;其次,测试按键控制功能是否正常;最后,检查过热保护功能是否有效。

在测试过程中,我发现风扇在某些情况下存在一些问题,如响应速度较慢、风速不稳定等。

针对这些问题,我进行了优化,如调整程序算法、改进电路设计等。

三、实习收获1. 掌握了智能风扇的基本原理和硬件电路设计方法;2. 熟悉了51单片机编程,并学会了使用C语言进行编程;3. 学会了组装和调试智能风扇,提高了动手能力;4. 深入了解了智能家居系统的应用,为今后从事相关工作奠定了基础。

四、实习体会通过这次实习,我深刻体会到以下几点:1. 理论与实践相结合的重要性。

人体感应智能风扇制作报告

人体感应智能风扇制作报告

人体感应智能风扇制作报告本设计为一种温控风扇系统,具有灵敏的温度感测和显示功能,系统STC89C52单片机作为控制平台对风扇转速进行控制。

可由用户设置高、低温度值,测得温度值在高低温度之间时打开风扇弱风档,当温度升高超过所设定的温度时自动切换到大风档,当温度小于所设定的温度时自动关闭风扇,控制状态随外界温度而定。

所设高低温值保存在温度传感器DS18B20内部E2ROM 中,掉电后仍然能保存上次设定值,性能稳定,控制准确。

本设计主要内容如下:(1)风速设为从低到高共2个档位,可由用户通过键盘设定。

(2)每当温度低于下限值时,则电风扇风速关闭。

(3)每当温度在下限和上限之间时,则电风扇转速缓慢。

(4))每当温度高于上限值时,则电风扇风速全速运转。

以单片机作为控制器,通过编写程序不但能将传感器感测到的温度通过显示电路显示出来,而且用户能通过键盘接口,自由设置上下限动作温度值,满足全方位的需求。

并且通过程序判断温度具有极高的精准度,能精确把握环境温度的微小变化。

由于数字式集成温度传感器DS18B20的高度集成化,大大降低了外接放大转换等电路的误差因素,温度误差很小,并且由于其感测温度的原理与上述两种方案的原理有着本质的不同,使得其温度分辨力极高。

温度值在器件内部转换成数字量直接输出,简化了系统程序设计,又由于该传感器采用先进的单总线技术(1-WRIE ),与单片机的接口变的非常简洁,抗干扰能力强。

故采用数字式集成温度传感器DS18B20作为感测温度的核心元件,直接输出数字温度信号供单片机处理。

采用五位共阳数码管显示温度,动态扫描显示方式,原因是数码管价格便宜。

以电位器控制晶闸管的导通角大小,可实现由最大风速到关闭的无级别调速,可将风力调节在关闭无风到最大风之间的任意风力,实现“自由风”。

且在调速环节中基本无电力损耗。

系统总体设计:经过了将近10个小时的焊接,小组成员的协同合作,终于将作品制作成功。

虽然走线布局并不完美,有跳线连接等诸多问题,但是初学者的我们已经尽力去做到完美。

智能温控风扇报告

智能温控风扇报告

基于51单片机的温控风扇设计摘要在炎热的夏天人们用电风扇来降温;在工业生产中,大型机械用电风扇来散热等。

随着温度控制的技术不断发展,应运而生的温控电风扇也逐渐走进了人们的生活中。

温控电风扇可以根据环境温度自动调节电风扇启停与转速,在实际生活的使用中,温控风扇不仅可节省宝贵的电资源,也大大方便了人们的生活和生产。

本设计为一种温控风扇系统,具有灵敏的温度感测和显示功能,系统采用STC89C51 单片机作为控制平台对风扇转速进行控制。

利用DS18B20数字温度传感器采集实时温度,经单片机处理后通过三极管驱动直流风扇的电机。

根据采集的实时温度,实现了风扇的自起自停。

可由用户设置高、低温度值,测得温度值在高低温度之间时打开风扇弱风档,当温度升高超过所设定的温度时自动切换到大风档,当温度小于所设定的温度时自动关闭风扇,控制状态随外界温度而定。

关键词:温控风扇,单片机,DS18B20,自动控制Temperature control fan design based on 51single chip microcomputerABSTRACTIn the hot summer, people use cooling fan; in the industrial production, is used toheat the electric fan large machinery. With the continuous development of thetechnology of temperature control, temperature controlled electric fan emerge as the times require gradually into people's lives. Temperature controlled electric fan can be adjusted automatically stop and start the fan speed according to the environment temperature, the use of real life, temperature controlled fan not only can save power resources valuable, but also greatly facilitate the people's life and production.The design of a temperature controlled fan system, sensitive temperate- easuing and display, the system uses STC89C51 microcontroller as the control platform to control the speed of the fan. The real-time temperature using DS18B20 digital temperature sensor, SCM processing through the transistor DCfan motor drive. According to the real-time temperature acquisition, the fan selfstop. High, low temperature value set by the user, the measured temperaturevalues in the high and low temperature between open fan weak wind profile,when the temperature exceeds the set temperature automatically switch to thefile, automatically turn off the fan when the temperature is lower than the set temperature, the control state varies with the outside temperature.KEY WORDS:Temperature control fan, MCU, DS18B20,automatic control目录前言 (1)第1章绪论 (2)1.1 研究本课题的目的和意义 (2)1.2 发展现状 (2)第2章整体方案选择 (4)2.1 温度传感器的选用 (4)2.2 主控机的选择 (6)2.3显示电路 (6)2.4调速方式 (7)第3章系统硬件组成 (8)3.1 系统结构 (8)3.2 主控芯片介绍 (8)3.2.1 STC89C51简介 (8)3.2.2 STC89C51主要功能和性能参数 (9)3.2.3 STC89C51单片机引脚说明 (10)3.2.4 STC89C51单片机最小系统 (12)3.2.5 STC89C51中断技术概述 (14)3.3 DS18B20温度采集电路 (15)3.3.1 DS18B20 的特点及内部构造 (15)3.3.3 DS18B20的工作原理 (17)3.3.3 DS18B20的工作时序 (19)3.4 数码管驱动显示电路 (22)3.4.1 数码管驱动电路 (22)3.4.2 数码管显示电路 (23)3.5 风扇驱动电路 (24)3.6 按键模块 (26)第4章系统软件设计 (28)4.1 软件介绍 (28)4.1.1 Keil C51 (28)4.1.2 Protel99SE (29)4.1.3 Proteus (30)4.2 主程序流程图 (32)4.3 DS18B20子程序流程图 (33)4.4 数码管显示子程序流程图 (34)4.5 按键子程序流程图 (35)第5章系统调试 (37)5.1 软硬件调试 (37)5.1.1 按键显示部分的调试 (37)5.1.2 传感器DS18B20温度采集部分调试 (37)5.1.3 风扇调速电路部分调试 (38)5.2 系统功能 (38)5.2.1 系统实现的功能 (38)5.2.2 系统功能分析 (39)结论 (40)谢辞 (41)参考文献 (42)附录 (43)附录1:protel原理图 (43)附录2:proteus仿真图 (44)附录3:源程序 (45)外文资料译文 (52)前言在现代社会中,风扇被广泛的应用,发挥着举足轻重的作用,如夏天人们用的散热风扇、工业生产中大型机械中的散热风扇以及现在笔记本电脑上广泛使用的智能CPU风扇等。

温控风扇实习报告

温控风扇实习报告

一、实习背景随着科技的发展,人们对生活品质的要求越来越高,智能家居产品逐渐走进了千家万户。

温控风扇作为智能家居产品之一,在夏季空调使用过程中,可以有效降低能耗,提高居住舒适度。

为了更好地了解温控风扇的设计与制作过程,提高自己的动手能力和实践能力,我于2023年7月至8月期间,在XX科技有限公司进行了为期一个月的温控风扇实习。

二、实习内容1. 温控风扇的基本原理温控风扇通过温度传感器检测室内温度,并将温度信息传递给单片机控制器。

单片机根据预设的温度范围和当前温度,通过PWM(脉冲宽度调制)技术控制风扇电机转速,实现风扇的智能调速。

2. 温控风扇的硬件设计(1)温度传感器:采用DS18B20数字温度传感器,具有高精度、抗干扰能力强等特点。

(2)单片机控制器:选用STC89C52单片机,具有丰富的外设资源和稳定的性能。

(3)电机驱动电路:采用L298N电机驱动模块,可驱动直流电机,实现风扇转速调节。

(4)电源电路:采用LM7805稳压芯片,为单片机和传感器提供稳定的5V电源。

3. 温控风扇的软件设计(1)主程序:负责读取温度传感器数据,判断温度是否在预设范围内,并控制电机转速。

(2)中断程序:用于处理按键输入,实现用户自定义温度范围和电机转速。

(3)显示程序:通过LCD显示屏显示当前温度、预设温度和电机转速。

三、实习成果通过一个月的实习,我掌握了温控风扇的设计与制作过程,取得了以下成果:1. 熟悉了温控风扇的基本原理和硬件设计。

2. 掌握了STC89C52单片机的编程方法和PWM技术。

3. 能够根据实际需求,设计并实现温控风扇的软件程序。

4. 了解了温控风扇在智能家居领域的应用前景。

四、实习体会1. 实习过程中,我深刻体会到理论知识与实际操作相结合的重要性。

2. 在解决问题过程中,培养了独立思考和团队协作的能力。

3. 通过实习,提高了自己的动手能力和实践能力,为今后从事相关工作奠定了基础。

4. 感谢XX科技有限公司为我提供了宝贵的实习机会,让我在实践中不断成长。

单片机温控风扇实验报告

单片机温控风扇实验报告

单片机温控风扇实验报告
一、实验目的
本实验的目的是通过利用单片机实现温控风扇,控制电机的转速来达到调节环境温度的目的。

二、实验原理
温控风扇的实现原理是核心的模糊控制,它以反馈为基础,依据房间里的温度,通过单片机来控制电机的转速,实现温度的调节。

通过温度的反馈来让温度控制在一定的范围之中,当房间里的温度超过或低于设定值时,系统可以自动调整电机的转速从而降低或提高室温,达到温控效果。

三、实验内容
1. 准备实验材料
温控风扇实验要准备材料,主要包括:
(1)单片机综合开发板、微型步进电机;
(2)温湿度传感器模块;
(3)变压器等。

2. 详细实验过程
a. 安装单片机、微型步进电机
首先我们要把单片机和微型步进电机安装好,将单片机模块安装到开发板上,然后将电机连接到单片机的IO口,最后用线将单片机模块和电源模块连接起来。

b. 编写控制程序
接下来,我们使用编程软件编写控制程序,用来控制微型步进电机的运行,根据温湿度传感器模块发出信号来控制电机转速,进而调节环境温度。

最终使用烧写工具把程序烧写到单片机中,把整个控制系统运行起来。

四、实验结果
实验结束后,我们用数字仪检测系统的实际输出,发现系统对温度变化有很好的响应,可以非常准确地控制风扇的转速,调节所测温度。

五、总结
本实验通过单片机控制风扇的电机,实现了温控功能,达到了调节环境温度、恒定室温的目的。

实验中使用的材料均为成熟可信的,同时编程程序也非常完善,实现了温控的目的。

另外,数字仪的检测结果也反映出系统的高精度,是一次很成功的实验。

温控风扇系统设计与调试实验报告

温控风扇系统设计与调试实验报告

温控风扇系统设计与调试实验报告本次温控风扇系统设计与调试实验旨在探究温度控制的原理及实现方法,具体操作步骤如下:一、实验原理本实验主要采用的温控系统原理为负反馈控制,即将温度传感器检测到的温度与设定温度进行比较,并计算出误差值,通过控制器计算并输出PWM控制信号,控制风扇的转速,维持系统温度稳定。

二、实验器材和材料1、Arduino主控板 1块2、LM35温度传感器 1个3、风扇电机模块 1个4、杜邦线若干三、实验步骤1、接线将LM35温度传感器和风扇电机分别连接到Arduino主控板上。

LM35温度传感器的VCC引脚连接到Arduino主控板的5V引脚,GND引脚连接到GND引脚,OUT引脚连接到A0引脚。

风扇电机模块的VCC引脚连接到Arduino主控板的5V引脚,GND引脚连接到GND引脚,PWM 引脚连接到D3引脚。

2、编程1) 定义变量定义变量,包括控制器的Kp值、Ki值、Kd值、偏差量、偏差和、上一秒的偏差、输出值等。

2) 设置风扇转速和PID系数设置风扇最小转速和PID系数,根据实际情况进行选择。

3) PID控制通过PID控制计算PWM输出值,控制风扇转速,使系统温度稳定在设定温度附近。

4) 读取和处理温度值读取LM35温度传感器检测到的温度值,与设定温度进行比较,计算误差,调整风扇速度控制系统温度稳定。

5) 延时每一次计算后,让控制器等待一定时间再进行下次计算,从而保证控制精度。

3、调试完成编程后,上传到Arduino主控板,插入电源,进行调试。

在初始状态下,风扇停止工作,温度传感器开始检测环境温度。

当环境温度高于设定温度时,通过调整PWM输出控制风扇增加转速,降低温度,直至稳定在设定温度附近。

四、实验结果实验结果显示,本次设计的温控风扇系统能够稳定控制系统温度,并能根据环境温度实现调整风扇转速的功能。

五、实验总结通过本次实验,我们深入了解了PID控制器的原理和实现方法,在实践中,我们运用PID控制方案实现了温控风扇系统,掌握了基本的温控风扇系统设计和调试技能。

单片机温控风扇实训报告

单片机温控风扇实训报告

一、实训目的本次实训旨在通过实践操作,掌握单片机在温控风扇中的应用技术。

通过学习单片机的编程、硬件连接和调试方法,实现温控风扇的自动控制,达到调节环境温度的目的。

二、实训原理1. 硬件组成:本实训所使用的硬件主要包括STC89C52单片机、DS18B20温度传感器、直流电机、按键、LED显示模块等。

2. 软件组成:软件采用C语言编写,主要实现以下功能:- 温度检测:通过DS18B20温度传感器实时检测环境温度。

- 温度显示:通过LED显示模块实时显示当前环境温度。

- 风扇控制:根据设定的温度阈值,自动控制风扇的转速和启停。

- 按键控制:通过按键手动设置温度阈值和调整风扇档位。

三、实训步骤1. 硬件连接:- 将DS18B20温度传感器连接到单片机的P1.0引脚。

- 将直流电机连接到单片机的P2.0引脚,并添加相应的驱动电路。

- 将按键连接到单片机的P3.0引脚。

- 将LED显示模块连接到单片机的P0口。

2. 程序编写:- 使用C语言编写程序,实现以下功能:- 初始化DS18B20温度传感器和LED显示模块。

- 实时读取DS18B20温度传感器的温度值。

- 将温度值显示在LED显示模块上。

- 根据设定的温度阈值,控制风扇的转速和启停。

- 通过按键手动设置温度阈值和调整风扇档位。

3. 程序调试:- 将编写好的程序烧录到单片机中。

- 使用调试工具对程序进行调试,确保程序运行正常。

四、实训结果1. 温度检测:通过DS18B20温度传感器,可以实时检测环境温度,并显示在LED显示模块上。

2. 温度显示:LED显示模块可以清晰地显示当前环境温度。

3. 风扇控制:根据设定的温度阈值,风扇可以自动调整转速和启停,实现温控功能。

4. 按键控制:通过按键可以手动设置温度阈值和调整风扇档位。

五、实训总结1. 通过本次实训,掌握了单片机在温控风扇中的应用技术,学会了如何使用单片机编程、硬件连接和调试。

2. 熟练掌握了DS18B20温度传感器、直流电机、按键和LED显示模块的使用方法。

青少年科技创新大赛创新发明作品《温控式电风扇研究报告》

青少年科技创新大赛创新发明作品《温控式电风扇研究报告》

温控式电风扇研究报告这是一台可以根据自己需要的温度设定自动开启和关闭的电风扇。

它由一个电脑风扇、一组电池、一个温度控制器,主体主要用有机玻璃切割而成,有很大的牢固度。

一、选题背景每年暑假,到了晚上,上半夜气温比较高,需要吹空调或电风扇。

但是到了后半夜,温度下降,如果半夜起来关,会影响睡眠;如果一直吹风扇或空调就会感到比较冷,可能会冻感冒,影响第二天的学习,事实上这样也有点浪费电。

于是我就把我的想法跟我的班主任张老师和我的爸爸说了,在张老师的指导下,我决定设计一款可以根据自己需要的温度设定自动开启和关闭的电风扇。

二、设计的目的和思路要想让一台电风扇能根据自己需要的温度设定自动开启和关闭,就必须要找到一个温度控制模块,于是在淘宝网上购买了一个温度控制器,这样就可以让电风扇在设定的温度下自动开启和关闭。

三、研究方法通过作图试验,并制作相应的模型。

在通过对电风扇上半部分的不断改进来达到最终目的。

四、研究过程我一共想了两种方案,并找出了最佳方案。

方案一,我一开始时只想到一般都是后半夜温度会降下来,于是我想到一种定时开关,根据平时的感觉,设定好风扇关闭的时间,但是后来想想,每天的温度不一样,这样估计行不通。

排除。

方案二,要是电风扇自己知道主动工作就好了,温度高时自己吹,温度低时自动停。

所以这就是最后的智能温控式电风扇的雏形。

这个风扇上面有两个温控装置:一个是环境温度,另一个是可设定的温度(调节的范围在零下6—80摄氏度之间),通过设定温度来控制风扇的工作。

当环境温度低于设定电风扇开启点时,电风扇自动关机,在关机后,如果环境温度持续超过关机设定温度后,电风扇又会自动开启。

五、制作方法1、初步设计电风扇的雏形和到网上购买所需要的材料2、到我爸爸学校用激光雕刻机切割有机玻璃,组装风扇的外壳。

3、安装风扇和温度控制器六、展望希望开发出更轻更薄更坚固的材料来制作,并且可以在电风扇顶上安装一个太阳能板,使电风扇更加环保,利用绿色能源。

智能温控风扇地设计样本

智能温控风扇地设计样本

综合实验报告实验题目:智能温控电扇学生班级:电子14-2学生姓名:学生学号: 38指引教师:实验时间: -9-15智能温控电扇设计摘要基于检测技术和单片机控制技术,设计了一种智能温控调速电扇。

阐述了智能温控调速电扇工作原理、硬件设计、软件实现过程。

系统原理简朴,工作稳定,成本低,具备一定节能效果。

通过单片机控制咱们实现了电电扇重要功能:当按下开核心时,系统初始化默认设定温度为25度,如果外界温度高于设定温度电电扇进行运转,如果外界温度高于低于设定温度则风页不转动,同步显示外界温度。

可以设立所需温度,并同步显示所设定温度,同步按加减键退出设定功能。

电电扇自动控制,让电电扇这一家用电器变更智能化。

克服了普通电电扇无法依照外界温度自动调节转速困难。

智能电电扇设计具备重要现实意义。

核心词AT89C52/温度传感器/直流电机/模仿电扇1.1 引言生活中,咱们经常会使用某些与温度关于设备。

例如,当前虽然不少都市家庭用上了空调,但在占中华人民共和国大某些人口农村地区仍旧使用电电扇作为降温防暑设备,春夏(夏秋)交替时节,白天温度仍旧很高,电电扇应高转速、大风量,使人感到凉爽;到了晚上,气温减少,当人入睡后,应当逐渐减小转速,以免使人感冒。

虽然电电扇均有调节不同档位功能,但必要要人手动换档,睡着了就无能为力了,而普遍采用定期器关闭做法,一方面是定期时间长短有限制,普通是一两个小时;另一方面也许在一两个小时后气温仍旧没有减少诸多,而电扇就关闭了,使人在睡梦中热醒而不得不起床重新打开电扇,增长定期器时间,非常麻烦,不能两全其美。

为解决上述问题,咱们设计了这套温控自动电扇系统。

本系统采用高精度集成温度传感器,用单片机控制,能显示实时温度,并依照使用者设定温度自动在相应温度时作出小风、大风、停机动作,精准度高,动作精确。

2 整体方案设计思路2.1 系统整体设计本设计整体思路是:运用温度传感器DS18B20检测环境温度并直接输出数字温度信号给单片机AT89C52进行解决,在LED数码管上显示当前环境温度值以及预设温度值。

智能温控风扇实训报告书

智能温控风扇实训报告书

一、实训背景随着科技的发展,人们对生活品质的要求越来越高,尤其是在家庭、宾馆等场所,对于温度的调控需求愈发强烈。

传统的风扇由于无法自动调节风速和开关,往往导致电力资源的浪费。

为了提高风扇的智能化水平,降低能源消耗,提升用户舒适度,我们开展了基于单片机的智能温控风扇设计实训。

二、实训目的1. 熟悉单片机的基本原理和编程方法。

2. 掌握温度传感器的应用技术。

3. 学会智能控制系统的设计方法。

4. 提高动手能力和团队协作能力。

三、实训内容1. 系统硬件设计本实训所设计的智能温控风扇系统主要由以下几部分组成:- 单片机控制单元:采用STC89C52单片机作为核心控制器,负责接收和处理来自温度传感器、人体感应模块等信号,控制风扇的转速和开关状态。

- 温度传感器:使用DS18B20数字温度传感器实时采集环境温度信息。

- 人体感应模块:采用红外热释传感器,能够实时检测人体的存在和活动。

- 电机驱动模块:负责驱动风扇电机的运转,根据单片机的指令调整风扇的转速。

- 风扇模块:作为系统的执行机构,根据控制信号提供所需的通风量。

- 显示模块:用于显示当前温度、风扇转速等信息,方便用户了解系统状态。

2. 系统软件设计本实训所设计的智能温控风扇系统软件主要包括以下模块:- 数字温度传感器模块:负责读取DS18B20传感器采集的温度数据。

- 显示器模块:负责显示当前温度、风扇转速等信息。

- 按键子程序模块:负责处理用户按键输入,设置温度上下限。

- 电机驱动模块:根据温度传感器采集的数据和用户设置的温度上下限,控制电机转速。

3. 系统功能本实训所设计的智能温控风扇系统具有以下功能:- 自动调节风速:根据环境温度和用户设置的温度上下限,自动调节风扇转速。

- 手动调节风速:用户可以通过按键手动调节风扇转速。

- 自动启停:当环境温度低于用户设定的温度下限时,风扇自动开启;当环境温度高于用户设定的温度上限时,风扇自动关闭。

- 人体感应:当人体进入风扇附近时,风扇自动开启;当人体离开风扇附近时,风扇自动关闭。

温控风扇设计实验报告

温控风扇设计实验报告

温控风扇设计实验报告# 温控风扇设计实验报告引言温控风扇是一种利用温度传感器测量环境温度,并通过控制风扇转速来调节温度的设备。

在许多应用场景中,温控风扇可以有效控制设备的温度,提高设备的稳定性和使用寿命。

本实验旨在设计并测试一种基于温度传感器的温控风扇。

设计原理温控风扇的设计基于一个基本的反馈控制回路,包括温度传感器、控制器和风扇。

温度传感器负责测量环境温度并将结果传递给控制器。

控制器根据测量结果和设定的目标温度值计算出风扇应该转速,并将控制信号发送给风扇。

风扇根据控制信号调节转速,以达到控制目标。

实验步骤# 1. 器材准备- Arduino Uno控制器- 温度传感器- 直流电风扇- 连接线- 电阻和电容(用于信号滤波和稳定)# 2. 硬件连接将Arduino Uno控制器与温度传感器和风扇连接。

确保正确连接电源和接地线。

# 3. 软件编程使用Arduino IDE或其他合适的编程工具编写控制程序。

程序的主要任务是读取温度传感器的值,计算出风扇应该转速,并发送控制信号给风扇。

# 4. 测试和调试将设备放置在不同的环境温度下,观察温度控制风扇是否能够根据设定的目标温度值调节风扇转速。

同时,可以通过调整目标温度值和控制算法,来改善温控风扇的控制性能。

# 5. 结果分析根据测试结果,分析温控风扇的控制性能。

可以通过观察实际温度与目标温度的差异,以及风扇转速的变化情况,来评估控制算法的有效性。

结论本实验成功设计并测试了一种基于温度传感器的温控风扇。

通过合适的硬件连接和控制程序编写,温控风扇能够根据设定的目标温度值调节风扇转速。

实验结果表明,温控风扇能够有效控制环境温度,提高设备的稳定性和使用寿命。

参考文献[1] Zhang, Y., Zheng, D., & Zhang, S. (2017). Design and implementation of temperature control system for greenhouse based on Arduino._Journal of Electrical Engineering and Automation_, 6(4), 279-283.[2] Guo, X., Huang, Z., & Zhou, W. (2019). Design and implementation of intelligent temperature and humidity control system based on Arduino. _Computer Simulation_, 36(3), 299-303.。

温控风扇制作实验报告

温控风扇制作实验报告

一、实验目的本次实验旨在设计并制作一款基于单片机的温控风扇,通过实验掌握以下技能:1. 熟悉单片机的基本原理和应用;2. 掌握温度传感器的使用方法;3. 学习PWM(脉冲宽度调制)技术及其在电机控制中的应用;4. 熟悉电路设计与焊接技术。

二、实验原理温控风扇的核心是单片机控制系统,它通过温度传感器采集环境温度,并根据预设的温度范围控制风扇的启停和转速。

以下是实验原理的详细说明:1. 温度传感器:DS18B20是一款高精度的数字温度传感器,其输出信号为数字信号,便于单片机处理。

该传感器具有以下特点:- 温度测量范围:-55℃~+125℃;- 分辨率:0.1℃;- 供电电压:3.0V~5.5V。

2. 单片机:AT89C52是一款低功耗、高性能的单片机,具有以下特点:- 内置8KB程序存储器;- 256字节数据存储器;- 32个可编程I/O口;- 2个定时器/计数器。

3. PWM技术:PWM技术通过改变脉冲宽度来控制电机转速。

在本实验中,单片机通过定时器产生PWM信号,控制电机转速。

4. 驱动电路:驱动电路用于将单片机的PWM信号转换为电机所需的驱动信号。

在本实验中,采用ULN2803作为驱动电路。

三、实验步骤1. 电路设计:根据实验原理,设计温控风扇的电路图,包括单片机、温度传感器、PWM电路、驱动电路和指示灯等。

2. 元器件采购:根据电路图,采购所需的元器件,包括AT89C52单片机、DS18B20温度传感器、ULN2803驱动电路、电阻、电容、电位器、指示灯等。

3. 电路焊接:按照电路图,将元器件焊接在电路板上。

4. 程序编写:使用Keil C51开发环境编写单片机程序,实现以下功能:- 初始化单片机硬件资源;- 初始化温度传感器;- 读取温度值;- 根据预设温度范围控制风扇启停和转速;- 显示当前温度。

5. 程序下载:将编写好的程序下载到单片机中。

6. 实验测试:将温控风扇接入电源,观察风扇的运行情况,验证实验效果。

智能温控风扇实习实训总结报告

智能温控风扇实习实训总结报告

智能温控风扇实习实训总结报告本次智能温控风扇的实习实训,使我深入了解了嵌入式系统的设计与开发过程,掌握了单片机应用、温度传感器编程、电机控制等关键技术。

在整个实训过程中,我积极参与、不断探索,克服了种种困难,最终成功完成了项目任务。

以下是我在实训过程中的收获和总结。

首先,我了解到了智能温控风扇的设计背景和意义。

随着电子制造业的不断发展,社会对生产率的要求越来越高,各行业都需要精良高效、高可靠性的设备来满足要求。

作为一种老式家电,电风扇曾一度被认为是空调产品冲击下的淘汰品;但电风具有价格便宜、摆放方便、体积轻巧等特点。

由于大部分家庭消费水平的限制,电风扇作为成熟的家电行业的一员,在中小城市以及乡村将来一段时间内仍然会占有市场的大部分份额,但老式电风扇功能简单,不能满足智能化的要求。

为提高电风扇的市场竞争力,使之在技术含量上有所提高,且更加安全可靠,智能电风扇随之被提出。

其次,我学会了如何使用单片机和温度传感器实现智能温控风扇。

在硬件设计方面,我选用了STC89C52单片机作为核心控制器,DS18B20温度传感器用于检测环境温度,并采用了数码管显示温度值。

在软件设计方面,我编写了基于C语言的程序,实现了温度数据的采集、处理和显示,以及风扇转速的控制。

在实训过程中,我遇到了一些问题,如温度传感器读取数据不稳定、电机控制信号输出不正常等。

通过查阅资料、请教老师和同学,我逐步找到了问题的原因并解决了它们。

这使我深刻体会到,在实际项目中,解决问题能力的重要性。

此外,我还学会了如何进行项目测试和优化。

为了确保智能温控风扇的性能和稳定性,我对系统进行了全面的功能测试、性能测试和稳定性测试。

根据测试结果,我对程序和硬件设计进行了必要的优化调整,最终使系统达到了预期的效果。

通过本次智能温控风扇的实习实训,我不仅掌握了嵌入式系统的设计与开发方法,还提高了自己的动手实践能力和团队协作能力。

同时,我也认识到,在实际项目中,理论知识与实践经验的重要性。

温度控制风扇实训报告

温度控制风扇实训报告

一、实训背景随着社会的发展和科技的进步,人们对生活品质的要求越来越高。

在炎热的夏季,电风扇作为一种常见的家用电器,以其简单、实用的特点深受消费者喜爱。

然而,传统风扇无法根据环境温度自动调节风速,导致能源浪费。

为了提高电风扇的智能化水平,减少能源消耗,我们开展了基于51单片机的智能温控风扇的实训项目。

二、实训目标1. 掌握51单片机的基本原理和应用。

2. 学习数字温度传感器DS18B20的原理和接口技术。

3. 熟悉PWM技术及其在电机控制中的应用。

4. 掌握温度控制风扇系统的设计方法。

5. 提高动手能力和团队协作能力。

三、实训内容1. 硬件设计本实训项目采用以下硬件:- 51单片机(STC89C52)- 数字温度传感器(DS18B20)- 直流电机驱动模块- 数码管显示模块- 按键模块- 电源模块硬件电路设计主要包括以下几个部分:- 温度传感器模块:DS18B20将环境温度转换为数字信号,通过单片机读取。

- 单片机模块:STC89C52作为控制中心,处理温度数据,并根据温度变化控制电机转速。

- 电机驱动模块:通过PWM技术调节电机转速,实现风扇的自动调速。

- 数码管显示模块:实时显示当前环境温度和风扇档位。

- 按键模块:用于设置温度上下限和切换风扇档位。

2. 软件设计软件设计主要包括以下几个部分:- 温度采集模块:读取DS18B20的温度数据。

- 温度显示模块:将温度数据转换为数码管显示格式。

- 温度控制模块:根据设定的温度上下限,控制电机转速。

- 按键处理模块:处理按键输入,实现温度上下限设置和档位切换。

3. 系统调试在硬件和软件设计完成后,进行系统调试。

首先,检查电路连接是否正确,然后对单片机进行编程,设置温度上下限和档位。

接着,测试温度传感器是否正常工作,观察数码管显示是否准确。

最后,调整PWM占空比,实现风扇的自动调速。

四、实训成果经过实训,我们成功设计并实现了基于51单片机的智能温控风扇。

智能小风扇实训报告

智能小风扇实训报告

智能小风扇实训报告
本次实训我们使用了智能小风扇进行了实验和学习,以下是我们对此的报告:
1. 实验目的
掌握智能小风扇的基本原理和工作原理,了解其硬件和软件的组成,学习如何使用和编程控制智能小风扇。

2. 实验步骤
2.1 硬件组成
我们使用的智能小风扇由以下硬件组成:
- Arduino UNO开发板
- 风扇模块
- 温度传感器模块
- 蜂鸣器
- OLED屏幕
- 电容式触摸开关
2.2 软件组成
我们使用的智能小风扇由以下软件组成:
- Arduino编程语言
- Arduino集成开发环境(IDE)
2.3 编程控制
我们通过编写Arduino程序,实现了以下功能:
- 根据温度传感器读取的温度值,控制风扇模块的转速,保持室
内温度在一定范围内。

- 当温度超过设定值时,蜂鸣器会发出警报声。

- 通过OLED屏幕显示温度值和风扇转速。

- 通过电容式触摸开关,控制风扇的开关和转速。

3. 实验结果
我们成功地组装了智能小风扇,并编写了相应的Arduino程序,实现了以上功能。

在测试过程中,我们发现风扇模块的转速可以精确控制,温度传感器的读数也非常准确。

整个系统的反应速度非常快,可以即时调整风扇的转速以达到温度控制的效果。

4. 实验总结
通过本次实验,我们深入了解了智能小风扇的硬件和软件组成,学会了使用和编程控制智能小风扇。

这对我们今后的学习和实践都有很大帮助,让我们更好地理解和应用物联网和智能家居技术。

智能小风扇实训报告

智能小风扇实训报告

智能小风扇实训报告
随着科技的不断发展,智能化已经成为了人们生活中的一个重要趋势。

智能小风扇作为一种小型家电产品,也得到了越来越多的关注。

本次实训的目的就是让学生通过自主设计、制作、调试智能小风扇的过程,深入了解这一产品的原理、构造和应用。

二、实训内容
1. 硬件设计
在硬件设计方面,学生首先需要选择合适的电机和风叶,然后设计并制作风扇外壳。

学生应该注意外壳的材料选择、电机和风叶的安装方式等问题,以保证风扇的安全和美观。

2. 电路设计
在电路设计方面,学生需要了解智能小风扇的工作原理。

一般来说,智能小风扇需要采用微控制器进行控制。

学生需要学习如何使用单片机、传感器等元件来实现风扇的智能控制功能。

例如,学生可以通过加装温度传感器来实现风扇的自动控制,使它能够自动调节风速。

3. 软件设计
在软件设计方面,学生需要学习如何编写控制程序。

控制程序应该能够实现风扇的各种功能,如调节风速、自动控制等。

学生可以使用C语言或者其他编程语言来编写控制程序。

三、实训成果
通过本次实训,学生可以掌握智能小风扇的设计及制作技术,了解智能小风扇的工作原理和应用,提高了学生的实践能力和创新能力。

此外,通过实训,学生还学习了硬件设计、电路设计和软件设计等方面的知识,对学生日后的学习和工作都具有重要意义。

以上就是本次智能小风扇实训报告的内容。

感谢老师的指导和同学们的合作。

基于单片机的智能电风扇报告-9页

基于单片机的智能电风扇报告-9页

基于单片机的智能电风扇报告目录第一章引言 (2)第二章总体设计方案 (2)2.1 任务 (2)2.2 基本设计要求 (2)2.3 方案概述 (3)2.4 各模块功能简介 (3)第三章功能实现方案 (4)3.1 LCD液晶显示功能 (4)3.2 按键功能 (4)3.3 过热检测与保护功能 (5)3.4 环境温度的检测功能 (6)3.5 定时功能 (6)第四章硬件电路设计 (7)4.1 电源模块 (7)4.2 电机驱动电路 (7)第一章引言电子产品的设计应该使大众更能简单方便的使用,所以应该具有自动化、智能化的特点,智能家电也是目前的一个热门发展方向。

本智能电风扇通过引入单片机控制系统实现对电机的智能控制,通过LCD实时显示当前状态,通过按键实现人机交互,实现了风扇的智能化。

第二章总体设计方案2.1 任务设计并制作一个智能电风扇,采用单片机主控传统,能实现工作状态和外界温度的实时显示,有三种风类,能够摇头,并有过热检测与保护功能。

2.2基本设计要求(1)L CD液晶显示:实时显示电风扇的工作状态,最高位显示风类:“自然风”显示“1”、“常风”显示“2”、“睡眠风”显示“3”。

后3位显示定时时间:动态倒计时显示剩余的定时时间,无定时显示“000”等。

(2)按键功能:设计“自然风”、“常风”和“睡眠风”三个风类键用于设置风类;设计一个“定时”键,用于定时时间长短设置;设计一个“摇头”键用于控制电机摇头。

(3)设计过热检测与保护电路,若电风扇电机过热,则电机停止转动,电机冷却后电机又恢复转动。

(4)要求能实现环境温度的检测和显示。

2.3方案概述本智能电风扇以单片机为控制核心,由电源模块,单片机主控模块,LCD液晶显示模块,电机驱动及制动模块,功能按键模块,温度与转速采集模块,过热检测与保护模块组成。

2.4 各模块功能简介单片机主控模块负责数据的接收、处理,对LCD的显示控制,通过电机驱动电路实现对电机的控制。

智能温控风扇实习报告

智能温控风扇实习报告

一、实习背景与目的随着科技的飞速发展,智能化、自动化产品逐渐走进我们的生活。

为了紧跟时代步伐,提升自身的实践能力和创新能力,我选择了智能温控风扇作为实习项目。

本次实习旨在通过设计、制作和测试智能温控风扇,了解单片机控制技术、温度传感器应用以及电机调速技术,提高自己的动手能力和综合素质。

二、实习内容1. 项目概述本项目设计一款基于单片机的智能温控风扇,通过温度传感器实时监测环境温度,并根据预设的温度范围自动调节风扇转速。

系统具备以下功能:(1)温度监测:使用DS18B20温度传感器实时监测环境温度,并通过数码管显示。

(2)自动调速:根据预设的温度范围自动调节风扇转速,实现“温度高、风力大,温度低、风力弱”的功能。

(3)手动调节:用户可通过按键手动设置温度范围和风扇转速。

(4)定时功能:用户可设置定时开关机功能,方便用户使用。

2. 硬件设计(1)单片机:选用STC89C52单片机作为控制系统,负责处理温度数据、控制电机转速以及实现人机交互等功能。

(2)温度传感器:使用DS18B20温度传感器实时监测环境温度。

(3)电机:选用直流电机作为风扇的驱动电机,通过PWM技术实现无级调速。

(4)数码管:用于显示温度和风扇转速。

(5)按键:用于手动设置温度范围和风扇转速。

(6)电源:为系统提供稳定的电源。

3. 软件设计(1)主程序:负责初始化硬件资源、读取温度数据、控制电机转速以及处理按键输入等功能。

(2)温度读取子程序:读取DS18B20温度传感器采集的温度数据。

(3)PWM控制子程序:通过PWM技术控制电机转速。

(4)按键扫描子程序:扫描按键输入,并根据按键实现相应的功能。

三、实习过程1. 前期准备在实习开始前,我查阅了大量相关资料,了解了单片机控制技术、温度传感器应用以及电机调速技术。

同时,我还学习了电路设计和PCB制作等技能。

2. 硬件制作根据设计图纸,我完成了智能温控风扇的硬件制作。

首先,我焊接了电路板,然后将各个元器件按照设计要求连接到电路板上。

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

一、智能温控风扇的设计1.1单片机最小系统1.1.1单片机最小系统硬件电路晶振电路图1-1晶振电路复位电路图1-2复位电路下载电路电源电路P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7XTAL218XTAL119ALE 30EA31PSEN 29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T 014P3.7/RD17P3.6/WR 16P3.5/T 115U180C51C130pfC230pfC91nFX1CRYSTALV C CR110kV C CV C C123456789J552207-0985单片机最小系统图1-5连接电路1.1.2单片机最小系统焊接图1-6焊接实物1.2单片机应用系统1.2.1智能温控小风扇硬件电路按键电路2207-0985VCC1GND 2GND 3GND 4GND5P1577RST 8P179P1610ISP温度传感器接口电路P2.4123J452207-031912345678910111213141516J852207-1619VCCP2.4温度传感器接口图1-9温度传感器接口图1-10风扇焊接实物1.2.2智能温控小风扇控制程序/*************************************************************************************************************** 名称:智能温控键控小风扇功能:可通过按键调节设定值,通过数码管显示当前温度值和设定值,通过PWM技术来控制小风扇的转速,温差越大转速越快***************************************************************************************************************/ORG 0000HAJMP MAINORG 000BH ;定时器中断子程序入口,用以产生PWM高低电平 AJMP TIM0ORG 0200HMAIN: SETB EA ;中断初始化SETB ET0MOV TMOD,#01HMOV TL0,#00MOV TH0,#255SETB TR0MOV SP,#55HTEMP_H EQU 37H ;字定义伪指令TEMP_L EQU 36HTEMP_D EQU 35HTEMPV EQU 45HTEMSV EQU 50HTEMPV_S EQU 47HTEMPV_G EQU 46HTEMSV_S EQU 52HTEMSV_G EQU 51HBUS BIT P2.4 ;位定义伪指令SETB P1.3 ;用于产生PWM脉冲的端口MOV DPTR,#TABEL ;数码管显示段码首地址MOV TEMSV,#30 ;假定的设定值MOV R5,#191 ;用于PWM控制占空比参数的寄存器MOV R6,#255LOOP:LCALL TEMPC ;温度暂存器的读取子程序LCALL CHANGE ; 温度转换子程序LCALL DISPLAY ;温度显示子程序LCALL KEYSCAN ;按键扫描控制设定值子程序LCALL PWM ;PWM电机调速子程序SJMP LOOP/***************************************************名称:获取DS18B20温度暂存器数据子程序功能:将温度低字节存入35H寄存器,温度高字节存入36H寄存器***************************************************/TEMPC:LCALL RES ;初始化子程序MOV A,#0CCH ;写跳过rom命令字节ACALL WBMOV A,#44H ;写温度转换命令字节ACALL WBLCALL DELAY1S ;等待温度转换时间(等待时间用显示和按键扫描子程序填充)LCALL RES ;初始化子程序MOV A,#0CCH ;写跳过rom命令字节ACALL WBMOV A,#0BEH ;写读ram命令字节ACALL WBACALL RB ;读ram数据字节MOV TEMP_L,A ;将温度低8位放入36HACALL RB ;读ram数据字节MOV TEMP_H,A ;将温度高8位放入37HRET/************************************************名称:写字节子程序功能:将写入寄存器A中的字节送入DS18B20************************************************/WB:MOV R7,#8 ;一个字节8位CLR EA ;暂时关中断以防止定时器中断的影响WB1:RRC A ;带进位循环右移将字节的位依次移入c中方便后续操作 JC W11 ;判断为“1”转入写“1”子程序ACALL W0 ;不为“1”即为“0”进入写“0”子程序SJMP W00W11:ACALL W1W00:DJNZ R7,WB1 ;判断是否写8位,即一个字节SETB EA ;开中断继续pwm的定时器中断RET/************************************************名称:写“0”子程序功能:把0位写入DS18B20************************************************/W0:CLR BUS ;主机拉低总线让DS18B20检测写信号LCALL DELAY60 ;写周期至少60usSETB BUS ;释放总线RET/***********************************************名称:写“1”子程序功能:把1位写入DS18B20************************************************/W1:CLR BUS ;主机拉低总线让DS18B20检测写信号NOPNOPSETB BUS ;写“1”信号LCALL DELAY60 ;写周期至少60usSETB BUS ;释放总线RET/************************************************名称:读DS18B20数据字节子程序功能:将读出的DS18B20数据字节放入寄存器A中************************************************/RB:MOV R7,#8 ;读一个字节8位CLR EA ;暂时关中断以防止pwm定时中断的干扰RB1:ACALL RED ;调用读一位子程序RRC ADJNZ R7,RB1 ;判断是否读一个字节即8位SETB EA ;开中断继续pwm定时器中断RET/**********************************************名称:读DS18B20数据位子程序功能:将读出的位数据存入C中**********************************************/RED:CLR C ;清除将要使用的位寄存器CSETB BUSNOPNOPCLR BUSNOPNOPNOPSETB BUSMOV C,BUSMOV C,BUSMOV C,BUSMOV C,BUSACALL DELAY60 ;读周期至少60usRET/*********************************************名称:初始化子程序功能:建立主机和DS18B20间的握手*********************************************/RES:MOV R2,#8MOV R3,#12CLR BUS ;主机发出初始化信号ACALL DELAY512SETB BUSACALL DELAY15 ;延时15usC0:MOV C,BUS ;判断15--60us内是否有从器件应答JNC E0DJNZ R2,C0SJMP RES ;若无应答重新初始化E0:MOV C,BUS ;有应答则判断是否大于60us以防是其他的干扰信号 DJNZ R3,E1SJMP D0E1:JNC E0SJMP RES ;若不大于60us,应答失败,重新初始化D0:ACALL DELAY180 ;若应答信号大于60us,判断是否小于240us,以防其他原因造成的总线电平拉低MOV C,BUSJNC RES ;若应答信号时间大于240us,应答失败,重新初始化CLR P1.0;若应答成功,点亮小灯表示初始化成功RET/***********************************************名称:温度转换子程序功能:将获取的16位温度数据转换为温度数值用于数码管显示***********************************************/CHANGE:MOV A,TEMP_L ;保留温度低字节高四位ANL A,#0F0HSWAP AMOV TEMPV,A ;暂时存入温度值45HMOV A,TEMP_H ;保留温度高字节低四位ANL A,#0FHSWAP AORL A,TEMPV ;温度高字节低四位低字节高四位连接MOV TEMPV,A ;将转换完成的温度数据存入45H中MOV A,TEMP_LJNB Acc.3,CHANGE1 ;温度低字节低四位小数部分四舍五入MOV R0,#TEMPVINC @R0CHANGE1:MOV A,TEMPV ;将已转化温度的十位和个位分离MOV B,#10DIV ABMOV TEMPV_S,A ;已转化温度十位存入47HMOV TEMPV_G,B ;已转化温度个位存入46HMOV A,TEMSV ;将设定值的十位和个位分离MOV B,#10DIV ABMOV TEMSV_S,A ;设定值十位存入52HMOV TEMSV_G,B ;设定值个位存入51HRET/********************************************名称:数码管显示子程序功能:对温度值十位和个位及设定值十位和个位进行显示********************************************/DISPLAY:MOV P2,#0FEH ;位选温度值十位MOV A,TEMPV_S ;段选温度值十位MOVC A,@A+DPTRMOV P0,AACALL DELAY512MOV P2,#0FDH ;位选温度值个位MOV A,TEMPV_G ;段选温度值个位MOVC A,@A+DPTRMOV P0,AACALL DELAY512MOV P2,#0FBH ;位选设定值十位MOV A,TEMSV_S ;段选设定值十位MOVC A,@A+DPTRMOV P0,AACALL DELAY512MOV P2,#0F7H ;位选设定值个位MOV A,TEMSV_G ;段选设定值个位MOVC A,@A+DPTRMOV P0,AACALL DELAY512RET/*********************************************名称:按键扫描子程序功能:扫描P1.0口和P1.1口P1.0口按下设定值加1P1.1口按下设定值减1**********************************************/ KEYSCAN:SETB P1.0 ;I/O口做输入口使用要先置“1” SETB P1.1PUSH ACCPUSH PSWCLR RS0MOV C,P1.0 ;把P1.0口的值送入c中做判断使用 JNC DEB0 ;若按下则低电平,转入去抖操作SJMP JP1 ;若没按下则转检测P1.1口DEB0:MOV R7,#5 ;延时10ms去抖操作DELAY10MS0:ACALL DISPLAY ;调用显示子程序来减少闪烁DJNZ R7,DELAY10MS0MOV C,P1.0 ;延时10ms后再次检测P1.0JNC ADDR ;若依然为低电平则转入加1SJMP JP1 ;若为高电平误操作转入判断P1.1口ADDR:MOV C,P1.0 ;松手检测,若一直为低电平则一直检测直至松手为高电平JNC ADDRMOV R0,#TEMSV ;设定值加1INC @R0CJNE @R0,#40,JP1 ;设定值上限39度MOV TEMSV,#39JP1:MOV C,P1.1 ;检测P1.1口同上JNC DEB1SJMP LAST ;若无按下则转结束DEB1:MOV R7,#5DELAY10MS1:ACALL DISPLAYDJNZ R7,DELAY10MS1MOV C,P1.1JNC DECRSJMP LASTDECR:MOV C,P1.1JNC DECRMOV R0,#TEMSV ;设定值减1DEC @R0CJNE @R0,#19,LAST ;设定值下限20度MOV TEMSV,#20LAST:POP PSWPOP ACCRET/*****************************************************名称:pwm调制定时器参数产生子程序功能:根据当前值和设定值的差值64*(PV-SV)/(40-SV)来决定pwm控制参数的值即R5,R6的值*******************************************************/PWM:MOV R5,#191 ;用于PWM控制占空比参数的寄存器 MOV R6,#255CLR CMOV A,TEMPV ;温度值地址60HSUBB A,TEMSV ;设定值50H,当前温度值减去设定值JNC PWM1MOV A,#00HPWM1:MOV R4,A ;结果放入R4MOV A,#40SUBB A,TEMPV ;上限调节温度40减去设定值MOV B,AMOV A,#64DIV AB ;得到每单位温度代表的PWM参数值 MOV B,R4MUL AB ;当前温差下所产生的PWM参数值的变化量 MOV R4,AMOV A,R5ADD A,R4MOV R5,A ;当前温度下所产生的PWM新参数值R5MOV A,R6SUBB A,R4MOV R6,A ;当前温度下所产生的PWM新参数值R6RET/***********************************名称:定时器0中断服务子程序功能:高低电平的不停变换***********************************/TIM0:PUSH PSWCLR RS0JB P1.3,L0MOV TH0,R5SJMP LASTML0:MOV TH0,R6LASTM:CPL P1.3POP PSWRETITABEL:DB 0C0H,0F9H,0A4H,0B0H,99HDB 92H,82H,0F8H,80H,90H/*******************************************名称:延时1s子程序功能:延时1s用于ds18b20温度转换*******************************************/DELAY1S:SETB RS0CLR RS1MOV R0,#0FFHDL3:ACALL DISPLAYACALL KEYSCANACALL DISPLAYACALL KEYSCANACALL DISPLAYACALL KEYSCANDJNZ R0,DL3CLR RS0RET/******************************************* 名称:延时512us子程序功能:延时512us用于ds18b20温度传感器和主机握手初始化子程序*******************************************/ DELAY512:SETB RS0CLR RS1MOV R0,#0FFHDL0:DJNZ R0,DL0CLR RS0RET/******************************************* 名称:延时15us子程序功能:延时15us用于ds18b20温度传感器和主机握手初始化子程序*******************************************/ DELAY15:SETB RS0CLR RS1MOV R0,#5DL1:DJNZ R0,DL1CLR RS0RET/******************************************* 名称:延时60us子程序功能:延时60us用于ds18b20温度传感器读写指令和数据*******************************************/ DELAY60:ACALL DELAY15ACALL DELAY15ACALL DELAY15ACALL DELAY15RET/******************************************* 名称:延时180us子程序功能:延时180us用于ds18b20温度传感器和主机握手初始化子程序*******************************************/DELAY180:SETB RS0CLR RS1NOPMOV R0,#87DL2:DJNZ R0,DL2CLR RS0RETEND1.2.3总结“纸上得来终觉浅,绝知此事要躬行”,我们在学校学习的理论知识在实践过程中转化,这个过程是非常有必要的,通过智能温控小风扇的设计,我深刻的体会到在进行大型程序设计时一定要注意几个问题。

相关文档
最新文档