基于单片机的温湿度控制系统

合集下载

毕业设计(论文)-基于单片机的温湿度监控系统

毕业设计(论文)-基于单片机的温湿度监控系统

基于单片机的温湿度监控系统摘要针对温、湿度对纸张耐折度的影响,设计了适应中小型文献资料库应用的温、湿度监控装置。

此装置不仅能实现温、湿度检测、温湿度实时调节和显示,而且能实现温、湿度参数上下限定值的设定,当温湿度超上下限的时候能够进行报警,并启动相应的装置从而改变室内温度。

该控制系统具有检测精度高、使用简单、成本较低和工作稳定可靠等特点,具有一定的推广价值。

单片机具有体积小、重量轻、耗电少、功能强、控制灵活方便且价格低廉等优点。

单片机的应用正从根本上改变着传统的控制系统设计思想和设计方法。

在现实生活中,对于一个比较大的系统,人们往往采用微机进行控制,小一些的系统较多采用51或96等系列的单片机。

本文中,我们设计了以AT89C51单片机为主要核心实现的温度、湿度控制系统,包括系统硬件和软件设计,可以进行上位机通信,并给出了详细的电路原理图。

关键词温度控制;湿度控制;串行接口; 485总线大学学士学位论文The temperature and humidity of the monitor system based on single chip microcomputerAbstractAccording to temperature, humidity on paper folding, the effects of the resistance of the design to small and medium-sized documents database application of temperature, humidity monitoring device. This device can not only realize temperature, humidity, temperature and humidity adjusting detection and display, and can realize temperature, humidity and parameters of the limit of temperature and humidity on the set, and when the time limit to be able to call the police, and start the corresponding device which changes indoor temperature.This control system has the high accuracy, simple to use, low cost and stable and reliable, and other characteristics, has certain value of popularization. SCM has small volume, light weight, less consumption, function of strong, flexible and convenient control and the price cheap, etc. The application of SCM is fundamentally changing the traditional control system design idea and design method. In real life, for a larger system, people often take the microcomputer control, the smaller system by 51 or 96 more, series microcontroller.In this paper, we have designed to AT89C51 single-chip microcomputer as the main core of the realization of the temperature, humidity control system, including hardware and software design, can undertake PC communications, and gives the detailed circuit principle diagram.Keyword Temperature control; Humidity control; Serial interface; 485 bus- II -大学学士学位论文目录摘要 (I)Abstract (II)第1章绪论 (1)1.1 课题背景 (1)1.2 研究现状 (2)1.3 论文研究内容 (7)第2章总体方案设计 (9)2.1 方案设计 (9)2.2 系统设计原则 (9)2.3 本章小结 (11)第3章硬件设计 (12)3.1 AT89C51单片机简介 (12)3.1.1 主要特性 (13)3.1.2 外部管脚 (13)3.2 测温度电路 (15)3.2.1 内部结构 (17)3.2.2 DS18B20工作原理 (18)3.3 测湿度电路 (21)3.4 键盘 (24)3.5 显示LCD (24)3.6 上位机通信 (25)3.7 本章小结 (26)第4章系统软件设计 (28)4.1 主程序设计 (28)4.2 温湿度检测模块 (30)4.3 显示报警模块 (31)4.4 本章小结 (32)结论 (33)致谢 (34)参考文献 (35)附录 (38)·- 3 -大学学士学位论文第1章绪论1.1课题背景2010年10月1日18时59分57秒345毫秒,嫦娥2号点火,19时整成功发射。

基于单片机的温湿度控制系统方案

基于单片机的温湿度控制系统方案
1.3 课题研究的主要容
本系统所要完成的任务是:
1.3.1人性化的设计。界限温度值及湿度值能够由用户根据不同植被的各种生长需求由键盘输入并通过显示器显示。
1.3.2 能够实时、准确的显示采样温度值与湿度值。
1.3.3通过采集温度及湿度值,准确的判断标准值与当前值之间的差异,及时的启动报警装置(警报提示音提示音)进行报警,并采取相应的方案。
随着科技的飞速发展和普及,高性能设备越来越多,各行各业对温湿度的要求也越来越高。传统的温湿度检测模式是以人为基础,依靠人工轮流值班,人工巡回查看等方式来测量和记录环境状况信息。在这种模式下,不仅效率低不利于人才资源的充分利用,而且缺乏科学性,许多重大事故都是由人为因素造成的,人工维护缺乏完整的管理系统。而问世监控系统就可以解决这样人才资源浪费,管理不及时的问题,这是由于它的智能化设计所决定的。故本次设计对于类似项目还具有普遍意义。
C语言开发
关于STC89系列相关单片机开发文档。
相关传感和显示器件使用手册和接口电路
电机驱动模块。
五、进度计划
2011年2月下旬。单片机开发集训,单片机工程实习
2011年3月10日。资料收集,文献阅读
2011年3月20日,系统设计,电路实现
2011年4月15日,程序逻辑开发以及编译烧录
2011年5月10日,系统统调完成
1.3.4能够根据环境在不同时间段对温湿度的不同要求,用户可随机人为的更改温度及湿度值,以满足用户不同的需求。
1.4 课题研究的工作原理
该电路的最关键部分是关于温度和湿度的采集以及检测、显示。主控电路芯片采用学校统一制作的STC89C52单片机学习板。STC单片机执行指令的速度很快,对工作环境的要求比较低;传感器模块我选择了DHT11数字温湿度传感器。告别了以前的单独测量温度以及湿度的方式,更简洁,更方便。连接好外围电路。通过DHT11准确的检测出当前环境下的温湿度,并且将所测数据交给STC单片机进行分析和处理。再将所得数据有单片机发送给HJ1602A液晶屏。成功完成显示。控制模块采用蜂鸣器报警方式。预先设置好所需温度和湿度的限值(一个上限一个下限),将蜂鸣器接入电路。通过温度和湿度的上下限值控制蜂鸣器的报警。若逾越限值,实现蜂鸣器鸣响。但是需要注意的是温度超标和湿度超标需设置两种不同的鸣响方式,用来加以区别(温度越限以及湿度越限蜂鸣器的领翔方式必须不一样)。提醒工作人员此时温度湿度数据出现异常、需及时调整,及时启用升温器、加湿器、降温风扇以及喷雾器来有效的调整实验室温湿度。从而简单实现了控制。总体来说,本次设计主要涉及了温湿度的测量以及实现简单控制。硬件方面有四个模块,即传感器模块、STC80C52单片机主控模块、LCD1602液晶显示模块以及报警模块,从硬件制作方面。也相对简便。原理清晰、连线方便,不需要额外的焊接等技术。给硬件的制作带来了极大的便捷。

基于单片机的温湿度检测控制系统设计(新)

基于单片机的温湿度检测控制系统设计(新)

毕业论文(设计) 设计(论文)题目:基于单片机的温湿度监测控制系统设计一、设计(论文)内容及要求:(一)设计(论文)内容本系统所要完成的任务是:1. 熟悉掌握AT89C51单片机的结构和特点2. 熟练掌握温湿度传感器SHT11的主要特性及测温原理3. 熟练掌握用LCD1602液晶显示屏的工作原理4.系统各个功能模块硬件电路的设计;5.系统软件设计;6.系统调试,实现系统功能7.能够实时、准确的显示采样温度值与湿度值。

8.通过采集温度及湿度值,准确的判断标准值与当前值之间的差异,及时的启动报警装置(包括警报灯的提示功能以及提示音等)进行报警,并采取相应的控制方案。

) (二)要求设计一个基于单片机的温湿度自动控制系统,具体要求如下:1.具有温湿度采集功能;2.对数据实时处理并能够显示;3.当温度或适度高于(低于)设定值时能够自动调节;4.超限报警电路,当环境温度或湿度高于(低于)极限值时,系统能够发出声光报警,提示工作人员进行相应的应急处理;5.自动断电功能,当环境温度或湿度高于(低于)极限值时,系统能够自动切断电源;6.当检测电路电压低即供电不足时,电路发出报警,提示工作人员对检测电路电源进行更换;7.基本要求度参数的实时采集,测量空间的温度和湿度,由单片机对采集的温湿度值进行循环检测、数据处理、显示,实现温湿度的智能检测;8.实现超越数据的及时报警,并启动控制系统,实现温室的目的;9.现场检测设备应具有较高的灵敏度、可靠性、抗干扰能力;要求达到的技术指标:测温范围:0。

C -60。

C测温精度:+0.5。

C测湿范围:0-100%RH测湿精度:+2.5%RH10.要求单片机系统应具有可靠性高、操作维护方便、性价比高等特点。

二、主要参考资料:[1]林国汉.基于单片机的温度控制系统设计[J].微计算机信息,2009(25): 21~24[2]易顺明.基于单片机的大棚温湿度控制系统设计[J].现代电子技术,2011 (7):7~15[3]张毅刚.单片机原理及应用[M].北京:高等教育出版社2008.12~106[4] Atmel. Atmel 89C51 Microcontrollers Hardware Manual,2010. 35~98[5]陈桂友,柴远斌.单片机应用技术[M].北京:机械工业出版社,2008.10~88[6]熊诗波.机械工程测试技术基础[M].4版.北京:机械工业出版社,2008. 60~102[7]张新荣.基于单片机的多路温度监测系统设计[J].工业控制计算机,2010(7):13~21目录摘要 (1)1引言 (1)1.1本系统主要研究内容 (1)2系统总体设计 (2)2.1系统功能设计 (2)2.2系统设计原则 (2)2.3系统的组成和工作原理 (3)3系统硬件设计 (5)3.1单片机系统设计 (5)3.2传感器的设计 (8)3.3液晶显示装置设计 (10)3.4光声报警系统与温湿度控制系统设计 (12)4软件系统设计 (14)4.1初始化模块 (15)4.2温湿度检测模块 (15)4.3温湿度判断控制模块 (15)4.41602液晶显示模块 (16)4.5报警模块 (16)4.6系统整体软件程序 (16)总结 (22)谢辞 (23)基于单片机的温湿度检测控制系统设计摘要随着大棚技术的普及,温室大棚数量不断增多,对于蔬菜大棚来说,最重要的一个管理因素是温湿度控制。

基于单片机的温湿度自动控制系统设计

基于单片机的温湿度自动控制系统设计

方案 设计
元器件的选择
本次设计的元器件包括 STC89C5单片机、晶体振荡器、 电阻、电容、按键、开关、电 源座、三极管、二极管、蜂鸣 器、传感器、液晶显示屏、继 电器等。
3.系统硬件设计
STC89C52引脚图
1 整体方案设计
整个系统采用STC89C52单片机作为核心器件,与 电阻,电容,晶振等器件,组成了最小的单片机系 统。其它模块都是以单片机最小系统为中心展开的。
2 最小系统模块
STC89C52是一款低电压,高性能的CMOS 8位单 片机,它包含8k字节的可反复擦写的Flash只读程 序存储器(ROM)和256 字节的随机存取数据存 储器(RAM)。
12345678901234567890 22222222233333333334 0123456776543210 EC A 2222222200000000 LC E PPPPPPPPPPPPPPPP AV PSEN 21 LL AAD 01234567 TTN 11111111 PPPPPPPPRESETP30/RXDP31/TXDP32/INT0P33/INT1P34/T0P35/T1P36/WRP37/RDXXG 01234567890 123456789 11111111112
我国温湿度测控现状还远远没有工业化,生产实践中仍然存 在着设备配套能力差,环境控制水平落后和软硬件资源无法 共享等不足。
2.系统整体方案设计
设计要求
1)可同时测量温湿度。 2)1602液晶显示屏显示数据。 3)温度和湿度的正常范围都可以通过 按键设置。 4)如果超出正常范围,蜂鸣器会鸣叫 报警 。 5)有相应指示灯指示温湿度过高或过 低。 6)可模拟升温、降温、增湿和除湿过 程,使温湿度保持恒定。

《2024年基于单片机的温湿度控制系统的设计》范文

《2024年基于单片机的温湿度控制系统的设计》范文

《基于单片机的温湿度控制系统的设计》篇一一、引言在现代智能家居及工业自动化控制领域,温湿度控制系统的设计与实现至关重要。

为了满足各种应用场景的需求,本文提出了一种基于单片机的温湿度控制系统的设计方案。

该系统以单片机为核心,通过精确的传感器采集温湿度数据,并利用先进的控制算法实现温湿度的自动调节,从而达到预期的控制效果。

二、系统设计概述本系统采用单片机作为核心控制器,通过与温湿度传感器、执行器等设备的连接,实现对环境温湿度的实时监测与控制。

系统设计包括硬件设计和软件设计两部分。

(一)硬件设计硬件部分主要包括单片机、温湿度传感器、执行器、电源等。

其中,单片机选用性能稳定、处理速度快的型号,负责采集传感器数据、处理控制算法、发送控制指令等任务。

温湿度传感器选用精度高、稳定性好的型号,用于实时监测环境中的温湿度数据。

执行器包括加热器、加湿器、除湿器等,根据控制指令调整环境中的温湿度。

(二)软件设计软件部分主要包括单片机程序、控制算法等。

单片机程序采用C语言编写,实现数据的采集、处理、传输等功能。

控制算法采用先进的PID算法,实现对温湿度的精确控制。

此外,系统还具有数据存储、通信等功能,可与上位机进行数据交互。

三、系统工作原理系统工作时,温湿度传感器实时采集环境中的温湿度数据,并将数据传输给单片机。

单片机对数据进行处理后,根据设定的控制算法计算出执行器的控制指令,并通过执行器对环境中的温湿度进行调整。

同时,单片机还将数据存储起来,并通过通信接口与上位机进行数据交互。

四、系统实现(一)硬件实现硬件部分需要根据设计要求进行选型和制作。

单片机、温湿度传感器、执行器等设备需要选用性能稳定、精度高的型号,并按照电路图进行连接。

同时,还需要制作电源、通信接口等辅助设备,以保证系统的正常运行。

(二)软件实现软件部分需要编写单片机程序和控制算法。

单片机程序采用C语言编写,包括数据采集、处理、传输等功能。

控制算法采用PID算法,实现对温湿度的精确控制。

基于单片机的室内温湿度检测系统的设计

基于单片机的室内温湿度检测系统的设计

基于单片机的室内温湿度检测系统的设计
一、系统简介
本系统基于单片机,能够实时检测室内的温度和湿度,显示在
液晶屏幕上,并可通过串口输出到PC端进行进一步数据处理和存储。

该系统适用于家庭、办公室和实验室等场所的温湿度检测。

二、硬件设计
系统采用了DHT11数字温湿度传感器来实时检测室内温度和湿度,采用STC89C52单片机作为控制器,通过LCD1602液晶屏幕显示
温湿度信息,并通过串口与PC进行数据通信。

三、软件设计
1、采集数据
系统通过DHT11数字温湿度传感器采集室内的温度和湿度数据,通过单片机IO口与DHT11传感器进行通信。

采集到的数据通过计算
得到实际温湿度值,并通过串口发送给PC端进行进一步处理。

2、显示数据
系统将采集到的室内温湿度数据通过LCD1602液晶屏幕进行显示,可以实时观察室内温湿度值。

3、通信数据
系统可以通过串口与PC进行数据通信,将数据发送到PC端进
行存储和进一步数据处理。

四、系统优化
为了提高系统的稳定性和精度,需要进行优化,包括以下几点:
1、添加温湿度校准功能,校准传感器的测量误差。

2、添加系统自检功能,确保系统正常工作。

3、系统可以添加温湿度报警功能,当温湿度超过设定阈值时,系统会自动发送报警信息给PC端。

以上是基于单片机的室内温湿度检测系统的设计。

单片机系统设计报告范文

单片机系统设计报告范文

单片机系统设计报告范文1. 引言本报告介绍了一个基于单片机的系统设计。

本项目旨在设计一个可靠、高效的控制系统,能够实现某一特定功能。

本报告将详细介绍系统的设计目标、硬件设计和软件设计,并对系统进行评估和讨论。

2. 设计目标本项目的设计目标是实现一个智能温湿度控制系统。

系统的主要功能包括实时监测环境的温度和湿度,并根据设定的阈值自动控制温湿度,保持舒适的环境条件。

3. 硬件设计3.1. 主控单元本系统选择了常用的基于单片机的主控单元,采用XMC4500系列单片机。

此单片机具有高性能、低功耗和多种外设接口的特点,非常适合本项目的需求。

3.2. 传感器模块为了实时监测环境的温湿度,我们选择了DHT11温湿度传感器。

该传感器具有较高的精确度和良好的稳定性,可以通过串口和单片机进行数据交互。

3.3. 人机交互模块为了方便用户对系统进行设定和操作,本系统设计了一个人机交互模块。

该模块包括一个液晶显示屏和几个按键,通过显示屏和按键可以实现菜单显示和参数设定功能。

3.4. 控制模块为了控制温湿度,本系统设计了一个控制模块。

该模块通过与主控单元的通信,接收来自传感器模块的数据,并实施相应的控制策略,如开关空调、加湿器等来维持设定的温湿度。

4. 软件设计4.1. 软件架构本系统的软件设计采用了模块化的结构。

主控单元的软件主要分为三个模块:传感器模块、人机交互模块和控制模块。

每个模块都有相应的功能函数,通过调用这些函数来实现不同的功能。

4.2. 传感器模块传感器模块负责实时读取温湿度传感器的数据,并将数据发送给主控单元。

为了增加系统的稳定性,我们设计了数据校验和容错机制。

4.3. 人机交互模块人机交互模块负责显示菜单和接收用户的操作。

用户可以通过按键来选择菜单和设定参数。

我们设计了一个菜单管理器和按键管理器来实现该模块的功能。

4.4. 控制模块控制模块根据传感器模块提供的数据和用户设定的参数,实施相应的控制策略。

例如,当温度超过设定值时,控制模块会发送控制信号给空调,打开空调降低室内温度。

基于单片机的温湿度控制系统设计

基于单片机的温湿度控制系统设计

基于单片机的温湿度控制系统设计温湿度控制系统是一种基于单片机的自动控制系统,通过测量环境的温度和湿度,并根据设定的控制策略调节相关设备来维持合适的温湿度条件。

设计一个基于单片机的温湿度控制系统可以分为硬件设计和软件设计两个部分。

硬件设计主要包括传感器模块、控制器模块和执行器模块的选型和接口设计;软件设计主要包括数据采集与处理、控制算法设计和用户界面设计。

在硬件设计方面,温湿度传感器是获取环境温湿度的关键设备。

可以选择市场上成熟的数字温湿度传感器,比如DHT11或DHT22,它们通过数字信号输出温湿度值。

另外,还需要选择一款适用于单片机的控制器模块,如Arduino,它可以实现数字信号的采集和输出控制信号。

执行器模块可以根据具体控制目标选择,比如加热器、湿度调节装置等。

在软件设计方面,首先需要编写数据采集与处理的代码。

通过单片机连接温湿度传感器,读取其输出的数字信号,并进行数据处理,将数据转换为实际的温湿度值。

可以使用适当的算法进行数据滤波和校准,确保数据的准确性和稳定性。

接下来,需要设计控制算法。

根据实际需求,可以选择PID算法或者模糊控制算法等进行温湿度控制。

PID算法是一种经典控制算法,通过测量值与设定值之间的误差,计算出控制量,并根据比例、积分、微分三个方面进行调节。

模糊控制算法是一种基于模糊逻辑的控制算法,通过建立模糊规则库,将模糊规则与输入值进行模糊计算,得到输出控制量。

根据具体应用场景和需求,选择适当的算法进行控制。

最后,需要设计用户界面。

通过显示屏、按钮等外设,与用户进行交互,显示当前的温湿度数值和设定值,并提供设置温湿度的功能。

可以通过编程实现用户界面的交互逻辑,并调用相应的功能函数来实现温湿度的设定和控制。

总结起来,基于单片机的温湿度控制系统设计,需要进行硬件选型和接口设计,编写数据采集与处理、控制算法和用户界面的程序代码。

通过这些设计和实现,可以实现对环境温湿度的实时监测和控制,为用户提供一个舒适的环境。

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

目录目录 (I)第1章绪论 (1)1.1课题研究的背景 (1)1.2课题研究的意义 (1)1.3课题研究的主要内容 (2)1.4课题研究的工作原理 (2)第2章系统总体方案设计.................................................................................. 错误!未定义书签。

2.1功能要求 .................................................................................................... 错误!未定义书签。

2.2设计思路 .................................................................................................... 错误!未定义书签。

2.3方案选择 .................................................................................................... 错误!未定义书签。

2.3.1 传感器选择方案................................................................................ 错误!未定义书签。

2.3.2 显示器选择方案................................................................................ 错误!未定义书签。

2.3.3 单片机主芯片选择方案.................................................................... 错误!未定义书签。

2.4总体设计框图.............................................................................................. 错误!未定义书签。

第3章系统硬件设计.......................................................................................... 错误!未定义书签。

3.1概述 ............................................................................................................ 错误!未定义书签。

3.2主控模块设计 ............................................................................................ 错误!未定义书签。

3.2.1 STC89C52芯片的简介....................................................................... 错误!未定义书签。

3.2.2 主控模块电路原理图........................................................................ 错误!未定义书签。

第4章系统软件设计.......................................................................................... 错误!未定义书签。

4.11602液晶显示模块设计 ........................................................................... 错误!未定义书签。

4.2传感器模块设计 ........................................................................................ 错误!未定义书签。

第5章系统分析与调试...................................................................................... 错误!未定义书签。

第6章结论与展望 ............................................................................................. 错误!未定义书签。

致谢 ..................................................................................................................... 错误!未定义书签。

附录 . (4)附录C 程序清单 (4)第1章绪论1.1 课题研究的背景温度、湿度和人类的生产、生活有着密切的关系,同时也是工业生产中最常见最基本的工艺参数,例如机械、电子、石油、化工等各类工业中广泛需要对温度湿度的检测与控制。

并且随着人们生活水平的提高,人们对自己的生存环境越来越关注。

而空气中温湿度的变化与人体的舒适度和情绪都有直接的影响,所以对温度湿度的检测及控制就非常有必要了。

随着科技的飞速发展和普及,高性能设备越来越多,各行各业对温湿度的要求也越来越高。

传统的温湿度检测模式是以人为基础,依靠人工轮流值班,人工巡回查看等方式来测量和记录环境状况信息。

在这种模式下,不仅效率低不利于人才资源的充分利用,而且缺乏科学性,许多重大事故都是由人为因素造成的,人工维护缺乏完整的管理系统。

而问世监控系统就可以解决这样人才资源浪费,管理不及时的问题,这是由于它的智能化设计所决定的。

故本次设计对于类似项目还具有普遍意义。

1.2 课题研究的意义8051单片机是常用于控制的芯片,在智能仪器仪表、工业检测控制、机电一体化等方面取得了令人瞩目的成果,用其作为温湿度控制系统的实力也很多。

使用8051单片机能够实现温湿度全程的自动控制,而且8051单片机易于学习掌握,性价比高。

使用8051型单片机设计温湿度控制系统,可以即时精确的反应温室内的温度以及适度的变化。

完成诸如升温到特定的温度、降温到特定的温度。

在温度上下限范围内保持恒温等多种控制方式,在湿度控制方面也是如此。

将此系统应用到温室当中无疑为植被生长提供了更加适宜的环境。

对于大棚种植和花圃、花卉栽培,必须在某些特定环境安装温湿度装置对其进行监控。

本系统可以及时、精确的反映室内的温度以及湿度的变化,能够满足温湿度的控制要求。

1.3 课题研究的主要内容本系统所要完成的任务是:1.3.1人性化的设计。

界限温度值及湿度值能够由用户根据不同植被的各种生长需求由键盘输入并通过显示器显示。

1.3.2 能够实时、准确的显示采样温度值与湿度值。

1.3.3通过采集温度及湿度值,准确的判断标准值与当前值之间的差异,及时的启动报警装置(警报提示音提示音)进行报警,并采取相应的方案。

1.3.4能够根据环境在不同时间段内对温湿度的不同要求,用户可随机人为的更改温度及湿度值,以满足用户不同的需求。

1.4 课题研究的工作原理该电路的最关键部分是关于温度和湿度的采集以及检测、显示。

主控电路芯片采用学校统一制作的STC89C52单片机学习板。

STC单片机执行指令的速度很快,对工作环境的要求比较低;传感器模块我选择了DHT11数字温湿度传感器。

告别了以前的单独测量温度以及湿度的方式,更简洁,更方便。

连接好外围电路。

通过DHT11准确的检测出当前环境下的温湿度,并且将所测数据交给STC单片机进行分析和处理。

再将所得数据有单片机发送给HJ1602A液晶屏。

成功完成显示。

控制模块采用蜂鸣器报警方式。

预先设置好所需温度和湿度的限值(一个上限一个下限),将蜂鸣器接入电路。

通过温度和湿度的上下限值控制蜂鸣器的报警。

若逾越限值,实现蜂鸣器鸣响。

但是需要注意的是温度超标和湿度超标需设置两种不同的鸣响方式,用来加以区别(温度越限以及湿度越限蜂鸣器的领翔方式必须不一样)。

提醒工作人员此时温度湿度数据出现异常、需及时调整,及时启用升温器、加湿器、降温风扇以及喷雾器来有效的调整实验室内温湿度。

从而简单实现了控制。

总体来说,本次设计主要涉及了温湿度的测量以及实现简单控制。

硬件方面有四个模块,即传感器模块、STC80C52单片机主控模块、LCD1602液晶显示模块以及报警模块,从硬件制作方面。

也相对简便。

原理清晰、连线方便,不需要额外的焊接等技术。

给硬件的制作带来了极大的便捷。

参考文献[1] 陈明荧.8051单片机课程设计实训教材[M]. 北京:清华大学出版社,2003.[2] 徐新艳.单片机原理、应用与实践[M]. 北京:高等教育出版社,2005.[3] 吴金戌,沈庆阳,郭庭吉.8051单片机实践与应用[M]. 北京:清华大学出版社,2002.[4] 王千.实用电子电路大全[M]. 电子工业出版社,2001.[5] 冯博琴.微型计算机原理与接口技术[M]. 北京:清华大学出版社,2004.[6] 张毅刚.MCS-51单片机应用设计[M]. 哈尔滨工业大学出版社,2004.[7] 张淑清,姜万录等.单片微型计算机接口技术及应用[M]. 国防工业出版社,2003.[8] 吴金戌,沈庆阳,郭庭吉.8051单片机实践与应用[M]. 北京:清华大学出版社,2001.[9] 冯博琴.微型计算机原理与接口技术[M]. 清华大学出版社,2004.[10] 张毅刚.MCS-51单片机应用设计[M]. 哈尔滨工业大学出版社,2004.[11] 赵亮,侯国锐.单片机C语言编程与实例[M]. 北京:人民邮电出版社,2003.[12] 王振红,李洋,郝承祥.ISD4004语音芯片的工作原理及其在智能控制系统中的应用[J].电子器件2002年3月第25卷第1期.[13] R.L.Geiger,P.E.Allen,N.R.Strader.VLSI.Design Techniques for Analog And DigitialCiruits,McGraw-Hill Inc.1990.[14] ANALOG DEVICES.The technology of AT89C51[EB/OL].White Paper,Spe.28.2000.附录附录C 程序清单//****************************************************************////单片机: STC89C52RC// 功能:串口发送温湿度数据晶振11.0592M 波特率9600//硬件连接:P2.0口为通讯口连接DHT11,DHT11的电源和地连接单片机的电源和地,单片机串口加MAX232连接电脑//****************************************************************//#include <reg51.h>#include <intrins.h>#include <absacc.h>typedef unsigned char U8; /* defined for unsigned 8-bits integer variable无符号8位整型变量*/typedef unsigned int U16; /* defined for unsigned 16-bits integer variable无符号16位整型变量*/#define lcd_H#include <reg51.h>#define HIGH 1#define LOW 0#define TRUE 1#define FALSE 0#define ZERO 0#define MSB 0x80#define LSB 0x01//********液晶屏部分****#define LINE1 0#define LINE2 1#define LINE1_HEAD 0x80#define LINE2_HEAD 0xC0#define DATA_MODE 0x38#define OPEN_SCREEN 0x0C#define DISPLAY_ADDRESS 0x80#define CLEARSCREEN LCD_en_com(0x01)#define LCDIO P1sbit LCD1602_RS = P2^4; //定义端口sbit LCD1602_RW = P2^3;sbit LCD1602_EN = P2^2;//----------------------------------------------////----------------IO口定义区--------------------////----------------------------------------------//sbit P2_0 = P2^0 ;sbit SPK=P0^7;int t1,t2,ss;//----------------------------------------------////----------------定义区--------------------////----------------------------------------------//U8 U8FLAG;U8 U8count,U8temp;U8 U8T_data_H,U8T_data_L,U8RH_data_H,U8RH_data_L,U8checkdata;U8U8T_data_H_temp,U8T_data_L_temp,U8RH_data_H_temp,U8RH_data_L_temp,U8che ckdata_temp;U8 U8comdata;unsigned char str1[]={'s','h','i','d','u',':'};unsigned char str2[]={'w','e','n','d','u',':'};LCD_init();void Delay(U16 j){ U8 i;for(;j>0;j--){for(i=0;i<27;i++);}}void Delay_10us(void){U8 i;i--;i--;i--;i--;i--;i--;}void COM(void){U8 i;for(i=0;i<8;i++){U8FLAG=2;while((!P2_0)&&U8FLAG++); Delay_10us();Delay_10us();Delay_10us();U8temp=0;if(P2_0)U8temp=1;U8FLAG=2;while((P2_0)&&U8FLAG++);//超时则跳出for循环if(U8FLAG==1)break;//判断数据位是0还是1// 如果高电平高过预定0高电平值则数据位为1U8comdata<<=1;U8comdata|=U8temp; //0}//rof}void LCD_Read_BF(void){unsigned char read=0;LCD1602_RS=LOW;LCD1602_RW=HIGH;LCD1602_EN=HIGH;LCDIO=0XFF;read=LCDIO;}void LCD_en_com(unsigned char command)//写指令{LCD_Read_BF();LCD1602_RS=LOW;LCD1602_RW=LOW;LCD1602_EN=HIGH;LCDIO=command;LCD1602_EN=LOW;}void LCD_en_dat(unsigned char dat)//写数据{LCD_Read_BF();LCD1602_RS=HIGH;LCD1602_RW=LOW;LCD1602_EN=HIGH;LCDIO=dat;LCD1602_EN=LOW;}void LCD_set_xy(unsigned char x,unsigned char y) //写入地址函数{unsigned char address;if(y==LINE1)address=LINE1_HEAD+x;else address=LINE2_HEAD+x;LCD_en_com(address);}void LCD_write_char(unsigned char x,unsigned char y,unsigned char dat)//写入字符函数{LCD_set_xy(x,y);LCD_en_dat(dat);}void LCD_write_string(unsigned char x,unsigned char y,unsigned char *s)//写入字符串函数{LCD_set_xy(x,y);while(*s){LCDIO=*s;LCD_en_dat(*s);s++;}}void LCD_Init(void) //初始化函数{LCD_en_com(0x38); /*显示模式设置*/Delay(5);LCD_en_com(0x38);Delay(5);LCD_en_com(0x38);Delay(5);LCD_en_com(0x38);LCD_en_com(0x08); /*显示关闭*/LCD_en_com(0x01); /*显示清屏*/LCD_en_com(0x06); /*显示光标移动设置*/ Delay(5);LCD_en_com(0x0C); /*显示开及光标设置*/ }//--------------------------------//-----湿度读取子程序------------//--------------------------------//----以下变量均为全局变量--------//----温度高8位== U8T_data_H------//----温度低8位== U8T_data_L------//----湿度高8位== U8RH_data_H-----//----湿度低8位== U8RH_data_L-----//----校验8位== U8checkdata-----//----调用相关子程序如下----------//---- Delay();, Delay_10us();,COM();//--------------------------------void RH(void){//主机拉低18msP2_0=0;Delay(180);P2_0=1;//总线由上拉电阻拉高主机延时20usDelay_10us();Delay_10us();Delay_10us();Delay_10us();//主机设为输入判断从机响应信号P2_0=1;//判断从机是否有低电平响应信号如不响应则跳出,响应则向下运行if(!P2_0) //T !{U8FLAG=2;//判断从机是否发出80us 的低电平响应信号是否结束while((!P2_0)&&U8FLAG++);U8FLAG=2;//判断从机是否发出80us 的高电平,如发出则进入数据接收状态while((P2_0)&&U8FLAG++);//数据接收状态COM();U8RH_data_H_temp=U8comdata;COM();U8RH_data_L_temp=U8comdata;COM();U8T_data_H_temp=U8comdata;COM();U8T_data_L_temp=U8comdata;COM();U8checkdata_temp=U8comdata;P2_0=1;//数据校验U8temp=(U8T_data_H_temp+U8T_data_L_temp+U8RH_data_H_temp+U8RH_data_L _temp);if(U8temp==U8checkdata_temp){U8RH_data_H=U8RH_data_H_temp;U8RH_data_L=U8RH_data_L_temp;U8T_data_H=U8T_data_H_temp;U8T_data_L=U8T_data_L_temp;U8checkdata=U8checkdata_temp;}//湿度整数部分str1[6] = (char)(0X30+U8RH_data_H/10);str1[7] = (char)(0X30+U8RH_data_H%10);//湿度小数部分str1[9] = (char)(0X30+U8RH_data_L/10);//温度整数部分str2[6] = (char)(0X30+U8T_data_H/10);str2[7] = (char)(0X30+U8T_data_H%10);//温度小数部分str2[9] = (char)(0X30+U8T_data_L/10);t1=(int)(0X30+U8T_data_H/10);t2=(int)(0X30+U8T_data_H%10);ss=t1*10+t2;}}void xianshi(void){LCD_write_char(0x00,0,'s');LCD_write_char(0x01,0,'h');LCD_write_char(0x02,0,'i');LCD_write_char(0x03,0,'d');LCD_write_char(0x04,0,'u');LCD_write_char(0x05,0,':');LCD_write_char(0x06,0,str1[6]);LCD_write_char(0x07,0,str1[7]);LCD_write_char(0x08,0,'.');LCD_write_char(0x09,0,str1[9]);LCD_write_char(0x0B,0,'%');LCD_write_char(0x0C,0,'R');LCD_write_char(0x0D,0,'H');LCD_write_char(0x00,1,'w');LCD_write_char(0x01,1,'e');LCD_write_char(0x02,1,'n');LCD_write_char(0x03,1,'d');LCD_write_char(0x04,1,'u');LCD_write_char(0x05,1,':');LCD_write_char(0x06,1,str2[6]);LCD_write_char(0x07,1,str2[7]);LCD_write_char(0x08,1,'.');LCD_write_char(0x09,1,str1[9]);LCD_write_char(0x0B,1,0x27);LCD_write_char(0x0C,1,'C');}//----------------------------------------------//main()功能描述: AT89C51 11.0592MHz 串口发//送温湿度数据,波特率9600//----------------------------------------------void main(){LCD_init();Delay(4);while(1){//调用温湿度读取子程序RH();xianshi();}}。

相关文档
最新文档