温湿度传感器_课程设计报告书

合集下载

温湿度传感器专业课程设计方案报告

温湿度传感器专业课程设计方案报告

温湿度传感器专业课程设计方案报告
设计目标:
本课程设计旨在使学生了解温湿度传感器的原理、应用和制作过程,培养学生的实践能力和创新意识,使其能够设计和制作出实际应用的温湿度传感器。

设计内容:
1. 温湿度传感器的原理和分类:介绍温湿度传感器的基本原理和常见的分类,包括电阻式、电容式、半导体式等。

2. 温湿度传感器的应用:介绍温湿度传感器在实际应用中的广泛应用,包括气象、农业、环境监测等领域。

3. 温湿度传感器的制作:学生通过实验和实践操作,学习温湿度传感器的制作过程,包括选择传感元件、设计电路和调试等。

4. 温湿度传感器的性能测试:学生通过实验测试,了解温
湿度传感器的性能指标,如准确度、灵敏度、响应时间等。

5. 温湿度传感器的应用案例分析:学生通过分析实际案例,了解温湿度传感器在不同应用场景中的设计和优化方法。

6. 温湿度传感器的未来发展:介绍温湿度传感器的未来发
展趋势,包括新材料、新工艺和新技术的应用。

设计方法:
本课程设计采用理论教学和实践操作相结合的方法,通过
教师讲解、案例分析、实验演示和学生实践等方式进行教学。

评价方法:
本课程设计采用多种评价方法,包括实验报告、作业、考核和课堂参与等,综合评价学生的理论知识和实践能力。

教学资源:
本课程设计所需教学资源包括实验设备、教材、教具和实验材料等。

预期成果:
通过本课程设计的学习,学生能够掌握温湿度传感器的基本原理和分类,了解其应用领域和制作过程,具备设计和制作温湿度传感器的能力,并能够分析和优化传感器的性能。

温湿度传感器_课程设计

温湿度传感器_课程设计

等级: 湖南工程学院课程设计课程名称单片机原理与应用课题名称环境温、湿度检测系统设计专业自动化班级1191学号20姓名指导教师李晓秀王迎旭2013年12月12日湖南工程学院课程设计任务书课程名称单片机原理与应用课题环境温、湿度检测系统设计专业班级自动化学生姓名学号2011指导老师李晓秀审批任务书下达日期2013年12月1日任务完成日期2013年12月13日主要设计条件设计内容与设计要求设计内容:本课题要求以单片机为核心,采用温湿度传感器DHT11设计一个对环境温度湿度的检测系统,要求用按键控制系统选择分别对温度或湿度的测试、复位、清除功能,用四位LED数码管显示实时温度和温度。

设计要求:1)确定系统设计方案;2)进行系统的硬件设计;3)完成必要元器件选择;4)系统软件设计及调试;5)系统联调及操作说明6)按规范要求写设计说明书精彩文档1、PC机及单片机调试软件;2、开发板1块;3、系统设计、调试所需的元器件说明书格式1.课程设计任务书2.目录3.总体方案确定4.各单元硬件电路设计及计算方法5.软件设计与说明(包括流程图)6.调试结果与必要的调试说明7.总结8、参考文献9、附录附录A系统原理图附录B程序清单10、课程设计成绩评分表。

进度安排设计时间分为二周第一周星期一、上午:布置课题任务,课题介绍及讲课。

下午:借阅有关资料,总体方案讨论。

星期二、确定总体方案,学习与设计相关内容。

星期三、各部分方案设计,各部分设计。

星期四、设计及调试。

星期五、设计及调试。

星期六、设计及调试。

第二周星期一:设计及调试。

星期二:设计及调试。

星期三:调试、写说明书。

星期四--星期五上午:写说明书、完成电子版并打印成稿。

星期五下午:答辩。

参考文献[1]王迎旭等.单片机原理及及应用[M]机械工业出版社.2012年[2]康华光等.模拟电子技术第五版[M]高等教育出版社2011年[3]杜树春等.单片机C语言[M]北京航空航天大学出版社目录第1章概述......................................................................................... ....6...1.1设计任务与要求................................................................................7..1.2设计方案...........................................................................................7...第2章硬件设计...................................................................................7...2.1时钟电路和复位电路........................................................................8..2.2温湿度测量电路设计........................................................................8..2.3按键电路..........................................................................................1..0.第3章软件设计.................................................................................1..1.3.1主函数设计......................................................................................1..1.3.2按键查询..........................................................................................1..2.3.3实时监控与测试流程图..................................................................1..3第4章硬件调试与结果分析.........................................................1..54.1调试过程..........................................................................................1..5.4.2硬件调试.........................................................................................1..6.第5章总结.......................................................................................... .1..8.参考文献.......................................................................................... .........1..9.附录一:系统仿真图...........................................................................2..0附录二:源程序....................................................................................2..1.电气与信息工程系课程设计评分表..............................................2.9第1章概述精彩文档1.1设计任务与要求本课题以单片机为核心,用智能集成温温度传感器DHT11主要实现检测温度、湿度的检测,将温度湿度信号通过传感器进行信号的采集并转换成数字信号,再运用单片机进行数据的分析和处理,在数码管上显示当前温湿度。

温湿度传感器专业课程设计方案报告

温湿度传感器专业课程设计方案报告

温湿度传感器专业课程设计方案报告1. 引言本报告旨在提供一个关于温湿度传感器专业课程设计的详细方案。

本方案的目标是通过设计一个温湿度传感器,使学生能够深入理解传感器的工作原理和应用,并通过实际操控和数据分析的方式提高实践能力和数据处理能力。

在本报告中,我们将介绍课程设计的目标、教学方法、实验内容以及评估方式,并提供一个具体的教学计划供参考。

2. 课程设计目标本课程设计的主要目标如下:•使学生了解温湿度传感器的原理和应用;•培养学生的实践能力,使他们能够设计和制作一个基于温湿度传感器的测量系统;•提高学生的数据处理能力,使他们能够分析和解释温湿度传感器的测量结果。

3. 教学方法本课程设计将采用以下教学方法:•理论授课:通过讲解课程相关的理论知识,使学生了解温湿度传感器的原理和工作方式;•实验操作:通过实际操控传感器和相关设备,使学生熟悉传感器的使用方法,并能够进行温湿度的测量;•数据分析:学生将通过实验获得一系列温湿度数据,他们需要对这些数据进行处理和分析,并提出相应的结论;•团队合作:学生将分为小组进行课程设计项目的实施,从而培养他们的合作能力和解决问题的能力。

4. 实验内容本课程设计将涵盖以下实验内容:实验一:温湿度传感器的选型和接线在这个实验中,学生将学习如何选择合适的温湿度传感器,并学会正确地接线。

他们将研究不同类型的传感器及其特点,然后选择一个适合的传感器进行接线实验。

实验二:传感器原理与工作方式在这个实验中,学生将深入研究温湿度传感器的原理和工作方式。

他们将通过搭建一个简单的模型,模拟传感器的工作原理,并观察和记录相关数据。

实验三:温湿度传感器测量系统设计在这个实验中,学生将通过设计一个温湿度传感器测量系统,将传感器与显示器和记录设备连接起来。

他们需要使用相关软件或编程语言控制传感器和设备,并能够实时显示和记录温湿度数据。

实验四:数据处理和分析在这个实验中,学生将利用前面实验中获得的数据,进行数据处理和分析。

湿度传感器课程设计报告书

湿度传感器课程设计报告书

第一章湿度传感器的功能及其原理湿度是表示空气中水蒸气含量的物理量,它与人们的生产、生活密切相关。

湿度的检测广泛应用于工业、农业、国防、科技、生活等各个领域。

例如,集成电路的生产车间相对湿度低于30%时,容易产生静电感应而影响生产;粉尘大的车间由于湿度小产生静电易发生爆炸;纺织厂的湿度低于65~70%RH时会断线。

可见,湿度测量在各个行业都是至关重要的。

在现代社会信息科技的不断迅速发展中,计算机技术、网络技术和传感器技术的高速更新,使得湿度的测量正朝着自动化、智能化、网络化发展。

随着2011年物联网作为新兴产业列入国家发展战略,传感器技术作为物联网的最前端—感知层,在其发展中占了举足轻重的地位。

而湿度作为日常生产、生活中最重要的参数之一,它的检测在各种环境,各个领域都对起了重要作用。

测量电路由湿度传感器,差动放大器,同相加法放大器等主电路组成;为了实现温度补偿功能,选择铂电阻温度传感器采集环境温度,通过转换电桥和差动放大,输入同相加法器实现加法运算,补偿环境温度对湿度传感器的影响,其中转换电桥工作电压由差动放大器输出电压通过电压跟随器提供。

应用IH3605型温度传感器与集成运放设计测量湿度的电路,测量相对湿度(RH)的围为0%~l00%,电路输出电压为0~10V。

要求测量电路具有调零功能和温度补偿功能。

使用环境温度为0℃~85℃。

第二章课程设计的要求及技术指标2.1课程设计的要求1.根据设计要求,查阅参考资料。

2.进行方案设计及可行性论证。

3.确定设计方案,画出电路原理框图。

4.设计每一部分电路,计算器件参数。

5.总结撰写课程设计报告。

2.2 课程设计的技术指标1.湿度测量围:0%~100%RH;2.使用环境温度围:0~85℃;3.输出电压:0~10V;4.非线性误差:±0.5%。

第三章总方案及原理图3.1 电路设计总方案测量电路由湿度传感器,差动放大器,同相加法放大器等主电路组成;为了实现温度补偿功能,选择铂电阻温度传感器采集环境温度,通过转换电桥和差动放大,输入同相加法器实现加法运算,补偿环境温度对湿度传感器的影响,其中转换电桥工作电压由差动放大器输出电压通过电压跟随器提供。

温湿度传感器课程设计单元电路设计

温湿度传感器课程设计单元电路设计

温湿度传感器课程设计单元电路设计温湿度传感器是一种用于测量环境中温度和湿度的传感器。

在课程设计中,我们将设计一个基于电路的温湿度传感器。

在本课程设计中,我们将使用DHT11传感器模块来测量温度和湿度。

DHT11是一款低成本、易于使用的数字温湿度传感器,具有4个引脚的封装。

它通过一根单线串行数据线与主控设备通信,提供可靠的温度和湿度测量。

为了设计一个可靠的温湿度传感器电路,我们将使用以下元件和组件:1. DHT11传感器模块:用于测量温度和湿度,提供数值输出。

2. Arduino开发板:作为主控设备,用于接收传感器的数据并进行处理。

3.聚合器:用于整合传感器和主控设备之间的连接,并提供电源。

4.面包板:用于连接电子元件,方便原型搭建和调试。

5.连接线:用于连接各个元件。

该电路的设计可以分为以下几个步骤:1.连接DHT11传感器模块:将DHT11传感器模块插入面包板,并使用连接线将其与聚合器相连。

连接线的一端插入DHT11传感器模块的引脚孔中,另一端插入聚合器的相应引脚孔中。

确保连接的稳固和可靠。

2.连接Arduino开发板:使用连接线将Arduino开发板与聚合器相连。

将连接线的一端插入Arduino开发板的引脚孔中,将另一端插入聚合器的相应引脚孔中。

确保连接的稳固和可靠。

3.供电和调试:将电源线插入聚合器的电源接口中,并将另一端插入电源插座中。

通过调试电路,确保传感器模块和Arduino开发板的连接正常。

4.编程:使用Arduino编程软件,编写代码以读取DHT11传感器模块的数据。

代码将包括初始化传感器模块、读取温度和湿度数据、将数据传输至主控设备等功能。

5.测试和验证:完成上述步骤后,进行电路的测试和验证。

将传感器放置在不同的环境中,记录传感器读取到的温度和湿度数据,与实际情况进行对比,验证传感器的准确性和稳定性。

总结:通过本次课程设计,我们实现了基于电路的温湿度传感器的设计。

该设计利用DHT11传感器模块和Arduino开发板,实现了对环境温度和湿度的测量,同时通过编程将数据传输到主控设备。

温湿度传感器实训报告书

温湿度传感器实训报告书

一、引言随着科技的不断发展,温湿度传感器作为一种重要的环境监测设备,在农业、工业、气象、医疗等多个领域发挥着至关重要的作用。

本次实训旨在通过实际操作,深入了解温湿度传感器的工作原理、性能特点以及在实际应用中的调试和维护方法。

二、实训目的1. 理解温湿度传感器的工作原理和结构特点。

2. 掌握温湿度传感器的安装、调试和维护方法。

3. 学会使用温湿度传感器进行环境监测和数据采集。

4. 培养实际操作能力和分析问题、解决问题的能力。

三、实训设备与材料1. 温湿度传感器:SHT40、DHT11等。

2. 单片机:STM32、Arduino等。

3. 电源模块:直流电源、锂电池等。

4. 数据采集与显示设备:串口显示屏、计算机等。

5. 连接线、电路板等辅助材料。

四、实训内容(一)SHT40温湿度传感器实训1. 传感器介绍:SHT40是一款高性能的温湿度传感器,具有高精度、低功耗、快速响应等特点。

2. 硬件连接:将SHT40传感器与STM32单片机进行连接,包括电源、数据线等。

3. 软件编程:编写STM32单片机程序,读取SHT40传感器的温湿度数据。

4. 数据采集与显示:将采集到的温湿度数据通过串口显示屏或计算机显示出来。

5. 结果分析:分析SHT40传感器的测量结果,验证其性能特点。

(二)DHT11温湿度传感器实训1. 传感器介绍:DHT11是一款低成本的温湿度传感器,具有结构简单、易于使用等特点。

2. 硬件连接:将DHT11传感器与STM32单片机进行连接,包括电源、数据线等。

3. 软件编程:编写STM32单片机程序,读取DHT11传感器的温湿度数据。

4. 数据采集与显示:将采集到的温湿度数据通过串口显示屏或计算机显示出来。

5. 结果分析:分析DHT11传感器的测量结果,验证其性能特点。

五、实训结果与分析(一)SHT40传感器1. 测量结果:在实验室环境下,SHT40传感器测量得到的温度为25.2℃,湿度为50.1%。

温湿度传感器专业课程设计方案报告

温湿度传感器专业课程设计方案报告

温湿度传感器专业课程设计方案报告一、课程设计背景随着科技的不断进步,现代社会对于环境监测的需求越来越高。

在人工智能、物联网等技术的支持下,环境传感器成为了环境监测的重要工具之一。

其中,温湿度传感器是一种普遍使用的传感器类型,广泛应用于气象、农业、空调、食品、药品等领域。

本课程设计旨在让学生深入了解温湿度传感器的原理、技术和应用,并通过实际操作设计和制作一个温湿度传感器原型。

二、课程设计目的本课程设计旨在让学生达到以下目标:了解温湿度传感器的基本原理和技术。

掌握温湿度传感器的工作过程和相关计算公式。

学会使用Arduino等开发板实现温湿度传感器的实时监测和数据处理。

掌握传感器的性能评价方法和常见故障排除技术。

提高学生的实践操作能力和问题解决能力。

三、课程设计内容本课程设计的内容主要包括以下几个方面:1. 温湿度传感器的基本原理该部分内容主要介绍温湿度传感器的原理和分类。

包括温湿度传感器的工作原理、传感器的类型和特点、温湿度传感器的应用领域等。

2. 温湿度传感器的设计和制作该部分内容主要包括温湿度传感器的设计和制作方法。

首先,学生需要准备传感器需要的硬件和软件资源。

然后,结合硬件电路设计和软件编程思路,通过Arduino开发板实现温湿度传感器的实时监测和数据处理。

3. 温湿度传感器的性能评价该部分内容主要介绍传感器的性能评价方法和常见故障排除技术。

学生需要对设计制作的温湿度传感器进行详细的性能测试和数据分析,评估传感器的性能和准确度。

同时,对于传感器的常见故障,学生需要掌握相应的排除技术,提高传感器的可靠性和稳定性。

4. 结题答辩最后,学生需要对所设计制作的温湿度传感器进行结题答辩。

在答辩环节中,学生需要展示自己的设计制作过程、性能评价结果,回答评委的问题和提出的建议,展示自己的能力和独立解决问题的态度。

四、教学方法为了达到预设的目标和内容,本课程设计需要采取以下教学方法:讲授式教学:通过讲授温湿度传感器基本原理、工作过程、设计制作步骤等内容,让学生了解传感器的原理和实现方法。

基于SHT11温湿度传感器课程设计

基于SHT11温湿度传感器课程设计

课程设计报‎告书课程名称:《传感器原理‎及应用》课程设计题目:基于SHT‎11温湿度‎传感器的湿‎度计设计系(院):电子工程学‎院测控系学期:2013-2014-1专业班级:测控111‎姓名:学号:1 设计目的(1)能较全面地‎巩固和应用‎“传感器及检‎测技术”课程中所学‎的基本理论‎和基本方法‎,并初步掌握‎小型数字系‎统设计的基‎本方法。

(2)通过《传感器及检‎测技术》课程设计,掌握传感器‎及检测系统‎设计的方法‎和设计原则‎及相应的硬‎件调试的方‎法。

进一步理解‎传感器及检‎测系统的设‎计和应用。

(3)培养独立思‎考、独立准备资‎料、独立设计规‎定功能的数‎字系统的能‎力。

(4)培养书写综‎合设计报告‎的能力。

2 本题目的具‎体设计要求‎(1)本实验设计‎的温湿度计‎能完成多种‎环境中的温‎度、湿度测量;(2)根据系统要‎求,选择合适的‎传感器,本实验所选‎用传感器为‎S H T11‎温湿度传感‎器;(3)设计传感器‎测量电路;(4)选择单片机‎的品种、型号,设计单片机‎的外围测量‎电路;(5)计算有关的‎电路参数,有条件的情‎况下,根据实验室‎现有设备进‎行实验数据‎的测取,明确测量电‎路输出与被‎测非电量的‎关系;(6)画出系统电‎路图;3 本系统的总‎体实现原理‎、方案设计3.1 国内外发展‎现状及文献‎综述:温湿度的测‎量在仓储管‎理、生产制造、气象观测、科学研究以‎及日常生活‎中被广泛应‎用,传统的模拟‎式湿度传感‎器一般都要‎设计信号调‎理电路并需‎要经过复杂‎的校准和标‎定过程,因此测量精‎度难以保证‎,且在线性度‎、重复性、互换性、一致性等方‎面往往不尽‎人意。

SHT11‎是瑞士Se‎n siri‎o n公司推‎出的基于C‎OMSen‎s TM技术‎的新型温湿‎度传感器。

该传感器将‎C M OS芯‎片技术与传‎感器技术结‎合起来,从而发挥出‎它们强大的‎优势互补作‎用。

3.2 本系统的实‎现原理、总体方案设‎计采用湿度和‎温度测量,即用一个温‎湿度传感器‎S H T11‎实现。

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

湖南工程学院课程设计课程名称单片机原理与应用课题名称环境温、湿度检测系统设计专业自动化班级 1191学号 20姓名指导教师李晓秀王迎旭2013 年 12 月 12 日湖南工程学院课程设计任务书课程名称单片机原理与应用课题环境温、湿度检测系统设计专业班级自动化学生姓名学号 2011指导老师李晓秀审批任务书下达日期 2013 年 12 月 1 日任务完成日期2013 年 12 月 13 日目录第1章概述 (7)1.1 设计任务与要求 (8)1.2 设计方案 (8)第2章硬件设计 (8)2.1 时钟电路和复位电路 (9)2.2 温湿度测量电路设计 (9)2.3按键电路 (11)第3章软件设计 (12)3.1主函数设计 (12)3.2按键查询 (13)3.3 实时监控与测试流程图 (14)第4章硬件调试与结果分析 (16)4.1调试过程 (16)4.2 硬件调试 (17)第5章总结 (19)参考文献 (20)附录一:系统仿真图 (21)附录二:源程序 (22)电气与信息工程系课程设计评分表 (29)第1章概述1.1 设计任务与要求本课题以单片机为核心,用智能集成温温度传感器DHT11主要实现检测温度、湿度的检测,将温度湿度信号通过传感器进行信号的采集并转换成数字信号,再运用单片机进行数据的分析和处理,在数码管上显示当前温湿度。

要求用按键控制系统选择分别对温度或湿度的测试、复位、清除功能,完成硬件调试。

1.2 设计方案本课题的温湿度测试,通过单片机STC-89C51连接温湿度模块、显示模块将温度、湿度同时显示。

单片机发送一次开始信号后,DHT11从低功耗模式转换到高速模式,等待主机开始信号结束后,DHT11发送响应信号,送出40bit的数据,并触发一次信号采集,如果没有接收到单片机发送来的信号,DHT11不会主动进行温度采集,采集数据后转换到低速模式。

系统设计框图如图1.1所示。

图1.1 程序设计框图第2章硬件设计2.1 时钟电路和复位电路MCS-51单片机内部有一个用于构成振荡器的高增益反放大器,引脚XTAL1和XTAL2分别是反相放大器的输入端和输出端。

通常,经由片外晶体振荡器或陶瓷谐振器与两个匹配电容一起构成一个自激振荡电路。

本课题由片外晶体振荡器与两个匹配电容一起构成了一个内部时钟振荡电路,为单片机提供时钟源。

本设计复位电路采用按键复位,当开关断开时,与上电自动复位电路相同;当开关闭合时,电容通过并联的电阻迅速放电,然后,RC电路充电,能够保证RST端能够维持一段时间的高电平。

如图2.1所示。

图2.1 时钟及复位电路2.2 温湿度测量电路设计DHT11的供电电压为3-5.5V,传感器上电后,要等待1s以越过不稳定状态在此期间无需发送任何指令。

电源引脚(VDD,GND)之间可增加一个100nF的电容,用以去耦滤波。

数据用于微处理器与DHT11之间的通讯和同步,采用单总线数据格式,一次通讯时间4ms左右,数据分小数部分和整数部分。

如图2.2所示,本电路上拉电阻为5K,数据端接P1.7(接受温湿度数据)。

图2. 2 温湿度测量电路2.3 显示电路本电路由四位一体共阳极数码管显示,采用9015三极管做位驱动。

根据发光二极管物理连接的不同,七段数码管可以分为共阴极和共阳极两种结构。

其中P0端口为段选,P2.0~P2.3为位选,如图2.3所示。

图2.3 显示电路2.4按键电路单片机设计中按键可分为独立式按键和矩阵式按键,本系统由于按键较少,故采用四个独立按键,上拉电阻为1K。

其中,四个按键功能分别是显示温度、显示湿度、实时监控显示温湿度、测试温湿度。

如图2.4。

图2.4 按键电路第3章软件设计本软件设计主要是对距离进行测量、显示。

因此,整个软件可分为按照硬件电路对单片机位定义;温湿度设置子程序;温湿度接收子程序;显示子程序;延时子程序等。

由于本设计方案要求硬件电路和软件编程相结合,所以选择合适的编程语言十分重要。

C语言执行效率没有汇编语言高,但语言简洁,使用方便灵活,运算丰富,表达化类型多样化,程序设计自由度大,很好的可重用性,可移植性等特点基于C语言的众多优点本设计选择此语言来编程。

3.1主函数设计软件分为两部分,主程序和中断服务程序。

主程序完成初始化工作、温湿度数据接收处理控制。

外部中断服务子程序主要完成时间值的读取、结果的输出等工作,如图3.1所示。

图3.1 主程序流程图3.2按键查询独立式按键接口采用直接读入方式工作,直读式键盘接口是一个输入接口,输入接口主要功能是解决数据输入的缓冲(选通)问题。

本设计按键较少,采用的独立按键。

图3.2 查询按键处理在扫描按键函数中,每按下不同按键会返回一个不同的数值,在主函数中有按键查询函数判断为那个按键按下,随后进入不同的子函数,如图3.2所示。

3.3 实时监控与测试流程图本系统设计分为实时监控与测试模块,图3.3示为测试模块。

上电是数码管显示四个零,当按下测试按键后,系统开始测量环境温、湿度。

当数码管显示四个“—”时,表示成功测量温、湿度。

当按下温度(湿度)显示按键,该模块显示测试时的温度(湿度)。

当要进行下一次测量时,必须按下测试按键。

图3.3 测试流程图图3.4示为实时监控模块,按下实时监控键后,启动T0定时器开始定时,每一分钟测试一次温度、湿度,并在四位一体的共阳极数码管轮流显示温度、湿度。

当按下温度(湿度)显示按键后,该模块只显示实时的温度(湿度)。

当再次按下实时监控按键后。

定时器T0关闭。

图3.4 实时监控模块第4章硬件调试与结果分析4.1调试过程在编写此程序前,感觉DHT11的通信程序和取数程序最为难写,在之前的学习中我并没有接触过单总线的通信时序图。

通过查阅资料和参考现有的程序,然后在老师讲解和与本组的其他组员谈论后,终于弄明白这方面的知识。

而在测量函数中,刚开始并没有测得数据,通过查阅书籍我设置了一个全局变量,一步一步跟踪每一步并显示在P1的LED灯上,一步一步跟踪,完善了DTH11的通信与取数函数。

但在通信与取数函数与按键函数衔接时,总是有一定的概率测不到数据,慢慢的调试我发现我的通信与取数函数要连续调用两次才能每次正确的读取数据,在此,我设置了一个全局变量作为一个标志位,每次按下测量键是将该标志位设置为2,使通信与取数函数循环两次,这样保证了每次按下测试按键后就能与DHT11正确的通信从而保证得到正确的数据。

在实时监控这个模块中,为了保证温、湿度能循环显示、按键后能只显示温度(湿度)。

由于按键有限,所以一下设置了很多的标志位。

因为标志位太多,而没有将所有的环节考虑进去,一下程序有调试了很久才正确的实现要求的功能。

4.2 硬件调试如图4.1所示,按下左下角按键时,单片机开始与DHT11通信并开始测试温、湿度。

图示为测量温、湿度成功。

图4.1 初始化当按下图示按键时,数码管显示此时或实时监控的环境湿度。

其中最前端的“C”表示此时显示的事环节温度,如图4.2。

图4.2 显示湿度当按下此按键时,数码管显示此时或实时监控的环境温度。

其中最前端的“H”表示此时显示的是环境湿度,如图4.3。

图4.3 显示温度第5章总结这次单片机课程设计不仅巩固了以前学过的知识,而且学到了很多书本上没有没到的知识,掌握了一种系统的研究方法,可以进行一些简单的编程,通过这次课程设计我们明白理论与实际相结合是很重要的,只有理论知识还不够,理论实践相结合才能提高实际动手能力和独立思考的能力。

同样,在学习中也发现了自己的不足之处,例如对以前所学过的知识理解不够深刻,掌握不够牢固。

课程设计是培养学生综合运用所学知识,发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。

随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。

因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。

回顾起此次单片机课程设计,我仍感慨颇多。

的确,从选题到定稿,从理论到实践,在接近两个星期的日子里,可以说得是苦多于甜,在设计的过程中遇到问题,可以说得是困难重重,难免会遇到过各种各样的问题,通过这次课程设计之后,一定把以前所学过的知识重新温故。

参考文献[1] 王迎旭等.单片机原理及及应用[M] 机械工业出版社.2012年[2] 龚建伟、熊光明等.Visual.c.Tubor.c串口通信[M][3] 康华光等.模拟电子技术第五版[M] 高等教育出版社2011年[4] 杜树春等.单片机C语言[M] 北京航空航天大学出版社附录一:系统仿真图附录二:源程序#include <reg51.h>bit flag2,flag3,flag5;sbit dht11 = P1^7;#define NUMBER 20//防止在与硬件通信时发生死循环的计数范围#define SIZE 5#define OK 1#define ERROR 0//函数的返回值表示读取数据是否成功 OK 表示成功 ERROR 表示失败void DHT11_Delay_10us(void);//延时10usvoid ceshiwenshidu(void);void xianshishidu(void);void xianshiwendu(void);unsigned char ReadValue(void);unsigned char DHT11_ReadTempAndHumi(void);void delay_1_002s(void);void delay(unsigned char i);//延时程序void display(unsigned char led0,led1,led2,led3);//动态扫描显示程序unsigned char keyscan(void);//键盘扫描unsigned char status;//#define uchar unsigned char//#define uint unsigned intunsigned char flag1,flag4;unsigned char led_code[]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xbf,0x89}; /*共阳字型段码表,"0"--"F","-",“H”*/unsigned char led0,led1,led2,led3;unsigned char value_array[5];//存放五字节数据的数组unsigned char value_temp, value_humi;void DHT11_Delay_10us(void){unsigned char i;i--;i--;i--;i--;i--;i--;}/*读一个字节的数据*/unsigned char DHT11_ReadValue(void){unsigned char count, value = 0, i;status = OK;//设定标志为正常状态for(i = 8; i > 0; i--){//高位在先value <<= 1;count = 0;//每一位数据前会有一个50us 的低电平时间.等待50us 低电平结束while((dht11 == 0) && (count++ < NUMBER));if(count >= NUMBER){status = ERROR;//设定错误标志return 0;//函数执行过程发生错误就退出函数}//26-28us 的高电平表示该位是0,为70us 高电平表该位1DHT11_Delay_10us();DHT11_Delay_10us();DHT11_Delay_10us();//延时30us 后检测数据线是否还是高电平if(dht11 != 0){//进入这里表示该位是1value++;//等待剩余(约40us)的高电平结束while((dht11 != 0) && (count++ < NUMBER)){dht11 = 1;}if(count >= NUMBER){status = ERROR;//设定错误标志return 0;}}}return (value);}//读温度和湿度函数,读一次的数据,共五字节,读出成功函数返回OK, 错误返回ERROR unsigned char DHT11_ReadTempAndHumi(void){unsigned char i = 0, check_value = 0,count = 0;display(led0,led1,led2,led3);// EA = 0;dht11 = 0; //拉低数据线大于18ms 发送开始信号display(led0,led1,led2,led3); //需大于18 毫秒dht11 = 1; //释放数据线,用于检测低电平的应答信号//延时20-40us,等待一段时间后检测应答信号,应答信号是从机拉低数据线80usDHT11_Delay_10us();DHT11_Delay_10us();DHT11_Delay_10us();DHT11_Delay_10us();if(dht11 != 0) //检测应答信号,应答信号是低电平{ //没应答信号return ERROR;}else{ //有应答信号while((dht11 == 0)&&(count++ < NUMBER)); //等待应答信号结束if(count >= NUMBER) //检测计数器是否超过了设定的范围{dht11 = 1;return ERROR; //读数据出错,退出函数}count = 0;dht11 = 1; //释放数据线//应答信号后会有一个80us 的高电平,等待高电平结束while((dht11 != 0) && (count++ < NUMBER));if(count >= NUMBER){dht11 = 1;return ERROR; //退出函数}//读出湿.温度值for(i = 0; i < SIZE; i++){value_array[i]=DHT11_ReadValue();if(status == ERROR) //调用ReadValue()读数据出错会设定status 为ERROR{dht11 = 1;return ERROR;}//读出的最后一个值是校验值不需加上去if(i != SIZE - 1){ //读出的五字节数据中的前四字节数据和等于第五字节数据表示成功check_value += value_array[i];}} //end fordisplay(led0,led1,led2,led3);//在没用发生函数调用失败进行校验if(check_value == value_array[SIZE - 1]){value_humi = value_array[0];value_temp = value_array[2];dht11 = 1;return OK; //正确的读出dht11 输出的数据}else{return ERROR; //校验数据错}}}void delay_1_002s(void){unsigned char z,b,c;for(z=0;z<10;z++){for(b=0;b<160;b++){for(c=0;c<207;c++);}}}void delay(unsigned char x){unsigned char i,j;for(i=0;i<x;i++)for(j=0;j<120;j++);}void display(unsigned char led0,led1,led2,led3){P2=0xfe;P0=led_code[led0];delay(5);P2=0xfd;P0=led_code[led1];delay(5);P2=0xfb;P0=led_code[led2]&0x7f;delay(5);P2=0xf7;P0=led_code[led3];delay(5);P2=0xff;}unsigned char keyscan(void){unsigned char cord_l;cord_l=P3&0xf0;if(cord_l!=0xf0){display(led0,led1,led2,led3);if(cord_l!=0xf0){while(P3!=0xf0){P3=0xf0; //等待按键释放}return(cord_l);}return(0xf0);}}void ceshiwenshidu(void){unsigned char d;for(;flag4>0;flag4--){d=DHT11_ReadTempAndHumi();display(led0,led1,led2,led3);if(flag3==0){if(d==1){led0=16;led1=16;led2=16;led3=16;}}}flag4=1;}void xianshishidu(void){led0=17;led1=value_humi/10;led2=value_humi%10;led3=0;}void xianshiwendu(void){led0=12;led1=value_temp/10;led2=value_temp%10;led3=0;}void main(){unsigned char key;P3=0xf0;TMOD=0x01;TH0=0x3c;TL0=0xb0;EA=1;ET0=1;TR0=0;delay_1_002s();display(led0,led1,led2,led3);while(1){display(led0,led1,led2,led3);key=keyscan();if(flag1==10){ceshiwenshidu();display(led0,led1,led2,led3);}switch(key){case 0xe0: flag4=2,ceshiwenshidu();break;//开始测试温湿度case 0xd0: xianshishidu(),flag5=1,flag2=0;break;//显示湿度case 0xb0: xianshiwendu(),flag5=1,flag2=1;break;//显示温度case 0x70: flag4=1,TR0=~TR0,flag3=~flag3,flag5=0;break;}}}void shishiceshi_T0(void) interrupt 1{TH0=0x3c;TL0=0xb0;flag1++;if(flag1==NUMBER){flag1=0;if(flag5==0){flag2=~flag2;}if(flag2==0){xianshishidu();}else{xianshiwendu();}}}电气与信息工程系课程设计评分表指导教师签名:________________.. . . 日期:________________注:①表中标*号项目是硬件制作或软件编程类课题必填内容;②此表装订在课程设计说明书的最后一页。

相关文档
最新文档