温湿度传感器_课程设计报告.docx
《温湿度传感器_课程设计报告.docx》由会员分享,可在线阅读,更多相关《温湿度传感器_课程设计报告.docx(32页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、目 录 第1章 概述 . 8 1.1 设计任务与要求 . 8 1.2 设计方案 .9 第2章 硬件设计 . 9 2.1 时钟电路和复位电路 . 9 2.2 温湿度测量电路设计 . 10 2.3按键电路 . 12 第3章 软件设计 . 13 3.1主函数设计 . 13 3.2按键查询 . 14 3.3 实时监控与测试流程图 . 16 . . 第4章 硬件调试与结果分析 . 18 4.1调试过程 . 18 4.2 硬件调试 . 19 第5章 总结 . 21 参考文献 . 22 附录一:系统仿真图. 23 附录二:源程序 . 24 电气与信息工程系课程设计评分表 . 29 第 1 章 概述 1.1
2、设计任务与要求 本课题以单片机为核心,用智能集成温温度传感器DHT11主要实现 检测温度、湿度的检测,将温度湿度信号通过传感器进行信号的采集并转 换成数字信号,再运用单片机进行数据的分析和处理,在数码管上显示当 前温湿度。要求用按键控制系统选择分别对温度或湿度的测试、复位、清 除功能,完成硬件调试。 . . 1.2 设计方案 本课题的温湿度测试,通过单片机 STC-89C51 连接温湿度模块、显 示模块将温度、湿度同时显示。单片机发送一次开始信号后,DHT11 从 低功耗模式转换到高速模式,等待主机开始信号结束后,DHT11 发送响 应信号,送出40bit的数据,并触发一次信号采集,如果没有接
3、收到单片 机发送来的信号,DHT11 不会主动进行温度采集,采集数据后转换到低 速模式。系统设计框图如图1.1所示。 时钟复位 按键电路 DHT11 温度采集电路 单 片 机 图1.1 程序设计框图 第 2 章 硬件设计 电 路 显 示 电 路 2.1 时钟电路和复位电路 MCS-51单片机内部有一个用于构成振荡器的高增益反放大器,引脚 XTAL1 和 XTAL2 分别是反相放大器的输入端和输出端。通常,经由片外 晶体振荡器或陶瓷谐振器与两个匹配电容一起构成一个自激振荡电路。本 课题由片外晶体振荡器与两个匹配电容一起构成了一个内部时钟振荡电 路,为单片机提供时钟源。 . . 本设计复位电路采用
4、按键复位,当开关断开时,与上电自动复位电路 相同;当开关闭合时,电容通过并联的电阻迅速放电,然后,RC 电路充 电,能够保证RST端能够维持一段时间的高电平。如图 2.1所示。 图2.1 时钟及复位电路 2.2 温湿度测量电路设计 DHT11 的供电电压为 35.5V,传感器上电后,要等待1s 以越过不 稳定状态在此期间无需发送任何指令。电源引脚(VDD,GND)之间可 增加一个100nF的电容,用以去耦滤波。数据用于微处理器与DHT11之 间的通讯和同步,采用单总线数据格式,一次通讯时间 4ms 左右,数据分小 数部分和整数部分。如图2.2所示,本电路上拉电阻为5K,数据端接P1.7 (接受
5、温湿度数据)。 . . 图2. 2 温湿度测量电路 2.3 显示电路 本电路由四位一体共阳极数码管显示,采用 9015 三极管做位驱动。 根据发光二极管物理连接的不同,七段数码管可以分为共阴极和共阳极两 种结构。其中P0端口为段选,P2.0P2.3为位选,如图2.3所示。 图2.3 显示电路 . . 2.4按键电路 单片机设计中按键可分为独立式按键和矩阵式按键,本系统由于按键 较少,故采用四个独立按键,上拉电阻为 1K。其中,四个按键功能分别 是显示温度、显示湿度、实时监控显示温湿度、测试温湿度。如图2.4。 图2.4 按键电路 . . 第 3 章 软件设计 本软件设计主要是对距离进行测量、显
6、示。因此,整个软件可分为按 照硬件电路对单片机位定义;温湿度设置子程序;温湿度接收子程序;显 示子程序;延时子程序等。 由于本设计方案要求硬件电路和软件编程相结合,所以选择合适的编 程语言十分重要。C语言执行效率没有汇编语言高,但语言简洁,使用方 便灵活,运算丰富,表达化类型多样化,程序设计自由度大,很好的可重 用性,可移植性等特点基于C语言的众多优点本设计选择此语言来编程。 3.1主函数设计 软件分为两部分,主程序和中断服务程序。主程序完成初始化工作、 温湿度数据接收处理控制。外部中断服务子程序主要完成时间值的读取、 结果的输出等工作,如图 3.1所示。 开始 初始化 显示 扫描 按键 图3
7、.1 主程序流程图 . . 3.2按键查询 独立式按键接口采用直接读入方式工作,直读式键盘接口是一个输入 接口,输入接口主要功能是解决数据输入的缓冲(选通)问题。本设计按 键较少,采用的独立按键。 是否按键? Y 确定键 测 试 显 示 温 度 显 示 湿 度 实 时 测 试 图3.2 查询按键处理 . . 在扫描按键函数中,每按下不同按键会返回一个不同的数值,在主函 数中有按键查询函数判断为那个按键按下,随后进入不同的子函数,如图 3.2所示。 . . 3.3 实时监控与测试流程图 本系统设计分为实时监控与测试模块,图3.3示为测试模块。上电是 数码管显示四个零,当按下测试按键后,系统开始测
8、量环境温、湿度。当 数码管显示四个“”时,表示成功测量温、湿度。当按下温度(湿度)显 示按键,该模块显示测试时的温度(湿度)。当要进行下一次测量时,必 须按下测试按键。 开始 N 是否按键? Y 显示 N 是否按键? Y 调用测试函数 温度按键按下? 湿度按键按下? Y Y 调用显示温度函数 调用显示湿度函数 图3.3 测试流程图 . . 图3.4示为实时监控模块,按下实时监控键后,启动T0定时器开 始定时,每一分钟测试一次温度、湿度,并在四位一体的共阳极数码 管轮流显示温度、湿度。当按下温度(湿度)显示按键后,该模块只 显示实时的温度(湿度)。当再次按下实时监控按键后。定时器T0关 闭。 开
9、始 N 是否按键? Y 显示 N 是否按键? Y 重装初值启动定时器 调用测试函数 轮流显示温湿度 图3.4 实时监控模块 . . 第 4 章 硬件调试与结果分析 4.1调试过程 在编写此程序前,感觉DHT11的通信程序和取数程序最为难写,在 之前的学习中我并没有接触过单总线的通信时序图。通过查阅资料和参考 现有的程序,然后在老师讲解和与本组的其他组员谈论后,终于弄明白这 方面的知识。而在测量函数中,刚开始并没有测得数据,通过查阅书籍我 设置了一个全局变量,一步一步跟踪每一步并显示在P1的LED灯上,一 步一步跟踪,完善了 DTH11 的通信与取数函数。 但在通信与取数函数与按键函数衔接时,总
10、是有一定的概率测不到数 据,慢慢的调试我发现我的通信与取数函数要连续调用两次才能每次正确 的读取数据,在此,我设置了一个全局变量作为一个标志位, 每次按下测 量键是将该标志位设置为2,使通信与取数函数循环两次,这样保证了每 次按下测试按键后就能与DHT11正确的通信从而保证得到正确的数据。 在实时监控这个模块中,为了保证温、湿度能循环显示、按键后能只 显示温度(湿度)。由于按键有限,所以一下设置了很多的标志位。因为 标志位太多,而没有将所有的环节考虑进去,一下程序有调试了很久才正 确的实现要求的功能。 . . 4.2 硬件调试 如图4.1所示,按下左下角按键时,单片机开始与DHT11通信并开始
11、 测试温、湿度。图示为测量温、湿度成功。 图4.1 初始化 当按下图示按键时,数码管显示此时或实时监控的环境湿度。其中最 前端的“C” 表示此时显示的事环节温度,如图4.2。 图4.2 显示湿度 . . 当按下此按键时,数码管显示此时或实时监控的环境温度。其中最前 端的“H”表示此时显示的是环境湿度,如图4.3。 图4.3 显示温度 . . 第 5 章 总结 这次单片机课程设计不仅巩固了以前学过的知识,而且学到了很多书 本上没有没到的知识,掌握了一种系统的研究方法,可以进行一些简单的 编程,通过这次课程设计我们明白理论与实际相结合是很重要的,只有理 论知识还不够,理论实践相结合才能提高实际动手
12、能力和独立思考的能 力。同样,在学习中也发现了自己的不足之处,例如对以前所学过的知识 理解不够深刻,掌握不够牢固。 课程设计是培养学生综合运用所学知识,发现、提出、分析和解决实 际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考 察过程。随着科学技术发展的日新日异,单片机已经成为当今计算机应用 中空前活跃的领域, 在生活中可以说得是无处不在。因此作为二十一世 纪的大学来说掌握单片机的开发技术是十分重要的。 回顾起此次单片机课程设计,我仍感慨颇多。的确,从选题到定稿, 从理论到实践,在接近两个星期的日子里,可以说得是苦多于甜,在设计 的过程中遇到问题,可以说得是困难重重,难免会遇
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 温湿度 传感器 课程设计 报告
限制150内