单片机实训
2014-2015
姓 名: 学 号: 指导老师: 学 院: 专 业: 完成日期:
摘 要
本课设采用8051系列单片机以及DHT11温湿度传感器相结合的方式来测量周围环境温度,其特点具有采集温度、湿度的时间快,所采集到的温湿度数值精度相对传统温湿度计要高,且易于读数,抗干扰能力强等特点。
DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品有极高的可靠性与卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。
8051单片机是常用于控制的芯片,使用8051单片机能够实现温湿度全程的自动控制,而且8051单片机易于学习掌握。
使用8051型单片机设计温湿度控制系统,可以即时快速精确的反应温室内的温度的变化。完成诸如升温到特定的温度时进行报警,引起注意。
关键词: 8051 DHT11 LCD1602
目录
第一章 系统总体设计„„„„„„„„„„„„„„„„„„„„„„„„„„5 1.1系统实现的主要功能„„„„„„„„„„„„„„„„„„5 1.2系统工作原理„„„„„„„„„„„„„„„„„„„„„5 1.3总体构成„„„„„„„„„„„„„„„„„„„„„„„6 1.3.1总体设计框图„„„„„„„„„„„„„„„„„6 第二章 系统的硬件设计„„„„„„„„„„„„„„„„„„„„„„„„„..7
2.1主控模块设计„„„„„„„„„„„„„„„„„„„„„„„„„„7 2.1.1 主控模块原理图„„„„„„„„„„„„„„„„„„„„„7 2.2 DHT11传感器模块设计„„„„„„„„„„„„„„„„„„„„„7 2.2.1DHT11传感器简介„„„„„„„„„„„„„„„„„„„„„7 2.3数码管显示模块设计„„„„„„„„„„„„„„„„„„„„„„11 2.3.1数码管简介„„„„„„„„„„„„„„„„„„„„„„„„ 2.3.2数码管模块„„„„„„„„„„„„„„„„„„„„„„„„ 2.4蜂鸣器报警模块„„„„„„„„„„„„„„„„„„„„„„„„
第三章 系统的软件设计„„„„„„„„„„„„„„„„„„„„„„„„„..13
3.1总体程序框架流程图„„„„„„„„„„„„„„„„„„„„„„„13
第四章 调试过程和注意问题„„„„„„„„„„„„„„„„„„„...„„„...14
4.1程序下载软件说明„„„„„„„„„„„„„„„„„„„„„„„„ 4.2设计中遇到的问题及解决„„„„„„„„„„„„„„„„„„„„„
结 论„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„...16 谢 辞„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„...17 参考文献„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„.18 附录„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„ 19
第一章系统总体设计
1.1 系统实现的主要功能 本系统所要实现的功能是:
1、温湿度的实时检测和显示。通过数码管实时地显示传感器DHT11检测到
的温湿度的值。
2、当温湿度超出所设定的阈值时便会自动报警。通过蜂鸣器发出声音实现
报警。
1.2 系统的工作原理
本次设计主要涉及了温湿度的测量、显示以及报警。所以再硬件方面涉及了单片机主控模块、传感器模块、数码管显示模块、蜂鸣器报警模块,共四大模块。
传感器模块使用DHT11数字温湿度传感器。通过DHT11检测当前环境下的温湿度,讲所测得的数据提交给单片机进行处理和分析。
数码管显示模块仅仅为了实现湿度与湿度的检测数值显示。左边两位显示的为DHT11传感器检测到的湿度的数值,右边两位则为温度的数值。 蜂鸣器报警模块则用于实现当温度超过所设阈值时鸣响报警。当传感器检测到环境周围的温度大于或等于所设定的安全温度时,驱动蜂鸣器,时蜂鸣器鸣响,引起注意,从而采取降温措施。 1.3.总体构成 1.3.1 总体设计框图
系统总体设计框图如图1.1所示。
第一章系统总体设计
1.1 系统实现的主要功能 本系统所要实现的功能是:
1、温湿度的实时检测和显示。通过数码管实时地显示传感器DHT11检测到的温湿度的值。 2、当温湿度超出所设定的阈值时便会自动报警。通过蜂鸣器发出声音实现报警。 1.2系统的工作原理
本次设计主要涉及了温湿度的测量、显示以及报警。所以再硬件方面涉及了单片机主控模块、
传感器模块、数码管显示模块、蜂鸣器报警模块,共四大模块。
传感器模块使用DHT11数字温湿度传感器。通过DHT11检测当前环境下的温湿度,讲所测得的数据提交给单片机进行处理和分析。
数码管显示模块仅仅为了实现湿度与湿度的检测数值显示。左边两位显示的为DHT11传感器检测到的湿度的数值,右边两位则为温度的数值。
蜂鸣器报警模块则用于实现当温度超过所设阈值时鸣响报警。当传感器检测到环境周围的温度大于或等于所设定的安全温度时,驱动蜂鸣器,时蜂鸣器鸣响,引起注意,从而采取降温措施。 1.3.总体构成 1.3.1 总体设计框图
系统总体设计框图如图1.1所示。
DHT11传感器模块 P12 90C516RD+ 单片机 P17 LCD显示模块 蜂鸣器报警模块 图1.1: 系统总体设计框图
第一章
系统的硬件设计
2.1 主控模块设计
本次课程设计使用的主模块为90C516RD+为核心的芯片。使用时将P12口作为与
DHT11数据端的传输口。P17口接蜂鸣器控制端,以控制报警器控制模块工作。P00-P07则用于控制数码管的显示功能。
2.1.1主控模块原理图
主控模块原理图如图2.1所示。
图2.1: 主控模块原理图
2.2 DHT11传感器模块接口设计
2.2.1 DHT11传感器简介
DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。每个DHT11传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式储存在OTP内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,信号传输距离可达20米以上,使其成为各类应用甚至最为苛刻的应用场合的最佳选则。产品为 3 针单排引脚封装。连接方便,特殊封装形式可根据用户需求而提供。DHT11实物图如图2.2所示。
图2.2:DHT11 实物图
(1)引脚介绍:
Pin1:(VDD),电源引脚,供电电压为3~5.5V。 Pin2:(DATA),串行数据,单总线。 Pin3:(NC),空脚,悬浮。 Pin4:(VDD),接地端,电源负极。
(2)接口说明:
建议连接线长度短于20米时用5K上拉电阻,大于20米时根据实际情况使用合适的上拉电阻。DHT11接口如图2.3所示。
图2.3:单片机与传感器接口
(3)数据帧的描述:
DATA 用于微处理器与 DHT11之间的通讯和同步,采用单总线数据格式,一次通讯时间4ms左右,具体格式在下面说明.操作流程如下:
一次完整的数据传输为40bit,高位先出。
数据格式:8bit湿度整数数据+8bit湿度小数数据+8bit温度整数数据 数据传送正确时校验和数据等于“8bit湿度整数数据 +8bi温度整数数据”
(4)电气特性:VDD=5V,T = 25℃,除非特殊标注。
DHT11的电气特性
参数 供电 供电电流 采样周期
条件 DC 测量 平均 待机 秒
Min 3 0.5 0.2 100 1
typ 5
max 5.5 2.5 1 150
单位 V mA mA uA 次
注:采样周期间隔不得低于1秒钟。
(5)时序描述:
用户MCU发送一次开始信号后,DHT11从低功耗模式转换到高速模式,等待主机开始信号结束后,DHT11发送响应信号,送出40bit的数据,并触发一次信号采集,用户可选择读取部分数据.从模式下,DHT11接收到开始信号触发一次温湿度采集,如果没有接收到主机发送开始信号,DHT11不会主动进行温湿度采集.采集数据后转换到低速模式。
通讯过程如图2.4所示:
图2.4:通讯过程图
总线空闲状态为高电平,主机把总线拉低等待DHT11响应,主机把总线拉低必须大于18毫秒,保证DHT11能检测到起始信号。DHT11接收到主机的开始信号后,等待主机开始信号结束,然后发送80us低电平响应信号.主机发送开始信号结束后,延时等待20-40us后, 读取DHT11的响应信号,主机发送开始信号后,可以切换到输入模式,或者输出高电平均可, 总线由上拉电阻拉高。通讯初始化如图2.5所示。
图2.5通讯初始化要求图
总线为低电平,说明DHT11发送响应信号,DHT11发送响应信号后,再把总线拉高80us,准备发送数据,每一bit数据都以50us低电平时隙开始,高电平的长短定了数据位是0还是1.格式见下面图示。如果读取响应信号为高电平,则DHT11没有响应,请检查线路是否连接正常.当最后一bit数据传送完毕后,DHT11拉低总线50us,随后总线由上拉电阻拉高进入空闲状态。
数字0信号表示方法如图2.6所示:
图2.6:数字0信号电平变化图
数字1信号表示方法如图2.7所示
2.3LCD显示模块
2.4 蜂鸣器报警模块 (1)蜂鸣器介绍
蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计
算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机等电子产品中作发生器件。 (2)蜂鸣器工作原理
蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗配器及共鸣箱、外壳等组成。当接通电源后,多谐振荡器起振,输出1.5~2.5KHZ的音频信号,阻抗匹配器推动压电蜂鸣器片发声。
本课程所使用的蜂鸣器原理图如图2.9
图2.9:蜂鸣器原理图
第三章 系统的软件设计
3.1 总体程序框图流程图 软件设计流程框图如图3.1所示
开始 数码管显示 初始化 定时检测 延时 Y 温湿度检测并传送数据回单片机 判断温度是否超出阈值 报警模块启动 N 图3.1:软件设计流程框图
第四章 调试过程和注意问题
4.1 程序下载软件说明
本课程设计是基于Keil uVision4 环境下开发,该软件支持C语言的编程及调试,运用方便。当在该软件下把程序准确无误编写好之后,通过软件中的编译功能获得后缀名为.hex文件后,再使用程序烧写软件STC_ISP_V483 将数据烧写到系统中。再烧写先应需先将开发板与电脑用连接线连接好,并检查好开发板所对应的COM口,以免烧写失败。 Keil uVision4 软件程序编写窗口: 软件程序编写窗口图入图4.1所示
图4.1:软件程序编写窗口图
4.2设计中遇到的问题及解决 1、蜂鸣器不响
在调试过程中有可能会发现,当温度达到或超过所设定的阈值时,但是蜂鸣器却没有响。解决此问题首先要了解所用的蜂鸣器是有源的还是无源的,属于脉冲蜂鸣器还是直流蜂鸣器。有源直流蜂鸣器直接有电流通过即可鸣响,而无源脉冲蜂鸣器则要加方波信号才能使其发声,所以在程序编写是需要特别注意。
结 论
经过本次的课程设计,首先最大的体会就是,在做仿真跟实物的过程中是完全不同的。在做实物的过程中会遇到很多很多的问题是仿真中所没有的。同样的程序,在仿真中完美的运行,但是放到了实物中却无法得到自己想要的效果。这是因为在实物有很多外界的因素的影响,一方面有可能是硬件的损坏,另一方面是软件与硬件不匹配,导致软件无法驱动硬件,从而硬件无法正常的工作。所以,我们必须要记住,仿真仅仅只是仿真,无法取代实物,仿真永远只能为我们提供参考,不能代替实物。
谢 辞
记过几周的努力,由于第一次进行课程设计,在设计过程中有需要难点需要解决,加上自我的知识不全面,导致设计过程中增添了许多麻烦,在此期间,幸得老师以及同学的指点,给我提供了许多帮助,再通过自己查书以及通过网络解决一些难以解决的问题,从而使我顺利地完成了设计任务,也让我从中重新认识到自学的重要性,以及学以致用的道理。然后经过这次的课程设计提高了遇到问题能解决问题的能力和亲自动手能力,为今后的毕设打下了良好的基础。
参考文献
[1] 李凤霞.C语言程序设计教程 北京:北京理工大学出版社,2010 [2] 李群芳.单片机微型计算机与接口技术 北京:电子工业出版社,2010 [3] 康华光。电子技术基础(数字部分) 北京:高等教育出版社,2011 [4] 杨素行 模拟电子技术基础 北京:高等教育出版社,2010 [5] 巧媛 单片机原理及应用 北京:电子工业出版社,2003 [6] 胡汉才 单片机原理及系统 北京:清华大学出版社,2002 [7] 余发山 单片机原理及应用技术 北京:中国矿业大学出版社,2004 [8] Guiyun Tian Foumdation and Application pf Microcontroller 高等教育出版社
[9] LLH.-Programming.Microcontrollers.C.(Embedded.Technology.Serise)
因篇幅问题不能全部显示,请点此查看更多更全内容