ImageVerifierCode 换一换
格式:DOCX , 页数:22 ,大小:536.16KB ,
资源ID:6269066      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6269066.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于protues的温湿度测量系统设计.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于protues的温湿度测量系统设计.docx

1、基于protues的温湿度测量系统设计毕业论文学生姓名谢欢欢学 号170907073学院 物理与电子电气工程学院专 业电子信息工程题 目基于PROTUES的温湿度测量系统设计指导教师 付 浩 副教授 2013年5月摘 要:本文采用Protues7.5仿真软件设计以低功耗STC89C51单片机为核心,配置新式的微型低功耗传感器DHT11,使用液晶显示LED1602采集到的数据,实现了温度、湿度两个参数的采集、处理和显示等功能。文章以温室环境作为研究对象,介绍了温湿度温湿度测量电路、单片机外围电路、软件流程、汇编语言源程序的设计、数据采集系统的设计过程及仿真的实现方法。该方法可以提高系统的开发效率

2、、缩短周期和降低成本,为单片机系统的开发提供了手段。结果表明,所设计环境参数温度控制精度稳定在O.1范围之内,湿度的误差可控制在2.0RH以内。关键词:Protues,STC89C51,DHT11,LED1602,温度,湿度 Abstract: By Protues7.5 simulation software design for low power STC89C51 microcontroller as the core, the allocation of new low-power micro-sensors DHT11, using liquid crystal display LE

3、D1602 data collected, realizing the collection of temperature, humidity, two parameters, processing and display functions. Based on greenhouse environment as the research object, this paper introduces the temperature and humidity temperature and humidity measuring circuit, microcontroller peripheral

4、 circuit, software flow, assembly language source program design, the design process of the data acquisition system and the realization of the simulation method. The method can improve system development efficiency, shorten the cycle and reduce costs, provides a means for the development of single-c

5、hip microcomputer system. Results show that the design of environmental parameters, temperature control precision is stable in o. 1 , humidity of the error can be controlled within + / - 2.0% RH.Key words: Protues, STC89C51, DHT11, LED1602, temperature and humidity3.1.6 测量分辨率 9 1 前言在单片机应用系统的传统开发方式中,

6、对系统的硬件电路进行设计完成后,需要制作成实物的电路板,并结合单片机仿真器进行软硬件的联合调试。如果遇到设计中需要修改,则往往需要对电路板重复制板,系统功能的验证不能够及时得到反映1。Proteus7.5仿真软件是一款可以在单片机应用系统仿真研发上应用的EDA软件,是由英国的Labccnter Electronics公司推出的单片机集成开发软件,可通过此软件搭建各种复杂的电路,并通过加载软件程序实现硬件仿纠乱本软件能够仿真51系列、AVR、PIC、ARM等主流单片机,软件集成了虚拟示波器、逻辑分析仪等从而建立起了完备的电子设计开发环境,能够为产品开发节约大量的硬件成本和调试周期2。结合Keil

7、 C51,对数字温湿度测量演示系统进行了设计和仿真。本系统设计采用的Keil5l高级语言集成开发环境一Keil uVision 3 IDE,是由美国Keil Software公司推出的一款主流单片机程序开发软件,它提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。Proteus与Keil软件能够实现良好的联合调试功能,即:通过Proteus绘制硬件原理图,Keil软件编写软件代码,在良好配置的前提下通过Keil软件调用Proteus软件进行仿真及预调试。在工业生产中,需要对多种环境指标进行监控以

8、确保工业生产安全、经济、有效的进行。在检测这些环境参数时往往需要很多设备独立使用, 造成资源的浪费。温湿度测量系统就是针对这一现象而设计的、以单片机为核心的、对温度、湿度同时进行检测的装置6。该装置可以通过传感器采集温度、湿度等环境参数,并进行检测和显示,能够实现对空气中温度以及湿度进行实时测量,所设计环境参数温度控制精度稳定在O.1范围之内,湿度的误差可控制在2.0RH以内7。2 整体方案设计2.1 湿温度测量系统的基本构成本系统主要由STC89C51单片机、DHT11温湿度传感器、晶振电路和1602液晶等部分构成。首先,以STC89C51单片机系统位核心,温湿度传感器为温度、湿度数据采集端

9、,通过LCD数码管显示,并进行实时记录,最后通过Protues与Keil连调的方式进行仿真运行。2.2 温湿度测量系统原理温湿度测量系统的设计包括以下几个主要功能模块(1)温湿度检测模块: 系统温湿度的采集用DHT11数字温湿度传感器,它是一款含有已校准数字信号输出的温湿度复合传感器。其应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。传器器包括一个电阻式感湿元件和一个NTC测温元件。(2)数据处理模块:该模块采用微处理器来实现,微处理器模块式整个系统的核心部分,微处理器选用89C51系列单片机,该处理器具有运用灵活、迅速、低功耗的特点。 (3)显示模块:

10、采用常用的LCD1602显示器(4)电源模块:本模块为直流供电,当有电源供电时,直流5V的电源模块,或直接使用USB供电,亦可使用三到四节电池供电。2.3 系统框图 本次设计的温湿度测量系统主要核心就是单片机STC89C51,首先通过DHT11进行数据的采集,并进行放大、AD转换,后通过接口电路将数据传送给单片机,后由单片机传送命令给LED进行数据显示。晶振电路主要是控制单片机的工作频率,若想调节单片机的频率的话,主要就是要看晶振电路的情况。当然电源电路,一直为整个系统提供工作电压,该电路是将220V的交流电通过变压器、桥式整流电路、稳压器变换成5V的直流电。 图1 系统框图3 硬件电路设计3

11、.1 温湿度传感器模块3.1.1 DHT11简介 DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。每个DHT11传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式储存在OTP内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,信号传输距离可达20米以上

12、,使其成为各类应用甚至最为苛刻的应用场合的最佳选则。产品为4 针单排引脚封装。连接方便,特殊封装形式可根据用户需求而提供。3.1.2、传感器性能说明 如下表1所示:参数条件MinTypMax单位湿度分辨率111%RH8Bit重复性1%RH精度254%RH0505%RH互换性可完全互换量程范围03090%RH252090%RH502080%RH响应时间1/e(63%)25,1m/s 空气61015S迟滞1%RH长期稳定性典型值1%RH/yr温度分辨率111888Bit重复性1精度12量程范围050响应时间1/e(63%)630S3.1.3 接口说明 建议连接线长度短于20米时用5K上拉电阻,大于

13、20米时根据实际情况使用合适的上拉电阻。图2 典型应用电路 3.1.4 电源引脚DHT11的供电电压为35.5V。传感器上电后,要等待 1s 以越过不稳定状态在此期间无需发送任何指令。电源引脚(VDD,GND)之间可增加一个100nF 的电容,用以去耦滤波。3.1.5 串行接口 (单线双向)DATA用于微处理器与 DHT11之间的通讯和同步,采用单总线数据格式,一次通讯时间4ms左右,数据分小数部分和整数部分,具体格式在下面说明,当前小数部分用于以后扩展,现读出为零.操作流程如下:一次完整的数据传输为40bit,高位先出。数据格式:8bit湿度整数数据+8bit湿度小数数据+8bit温度整数数

14、据+8bit温度小数数据+8bit校验和数据传送正确时校验和数据等于“8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据”所得结果的末8位。用户MCU发送一次开始信号后,DHT11从低功耗模式转换到高速模式,等待主机开始信号结束后,DHT11发送响应信号,送出40bit的数据,并触发一次信号采集,用户可选择读取部分数据.从模式下,DHT11接收到开始信号触发一次温湿度采集,如果没有接收到主机发送开始信号,DHT11不会主动进行温湿度采集.采集数据后转换到低速模式。1.通讯过程如图3所示图3 通讯过程总线空闲状态为高电平,主机把总线拉低等待DHT11响应,主机把

15、总线拉低必须大于18毫秒,保证DHT11能检测到起始信号。DHT11接收到主机的开始信号后,等待主机开始信号结束,然后发送80us低电平响应信号.主机发送开始信号结束后,延时等待20-40us后, 读取DHT11的响应信号,主机发送开始信号后,可以切换到输入模式,或者输出高电平均可, 总线由上拉电阻拉高。图4 DHT11响应总线为低电平,说明DHT11发送响应信号,DHT11发送响应信号后,再把总线拉高80us,准备发送数据,每一bit数据都以50us低电平时隙开始,高电平的长短定了数据位是0还是1.格式见下面图示.如果读取响应信号为高电平,则DHT11没有响应,请检查线路是否连接正常.当最后

16、一bit数据传送完毕后,DHT11拉低总线50us,随后总线由上拉电阻拉高进入空闲状态。 数字0信号表示方法如图5所示图5 数字0信号表示 数字1信号表示方法.如图6所示图6 数字1信号表示3.1.6、 测量分辨率测量分辨率分别为 8bit(温度)、8bit(湿度)。3.2 LCD显示模块3.2.1 LCD1602简介显示模块选择LCD1602液晶显示器,如图7所示,字符型显示模块是一种专门用显示字幕、数字、符号等点阵式LCD,目前常用16*1,16*2,20*2和40*2行等的模块。这里选择16*2。图7 LCD1602(1)1602采用标准的16脚接口,其中: 第1脚:VSS为电源地 第2

17、脚:VDD接5V电源正极 第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会 产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。 第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。 第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。 第6脚:E(或EN)端为使能(enable)端。 第714脚:D0D7为8位双向数据端。 第1516脚:空脚或背灯电源。15脚背光正极,16脚背光负极。(2)LCD1602的指令说明1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。指

18、令1:清显示,指令码01H,光标复位到地址00H位置。指令2:光标复位,光标返回到地址00H。指令3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。指令4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。指令5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标。指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线。 N:低电平时为单行显示,高电平

19、时双行显示。 F: 低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。指令7:字符发生器RAM地址设置。指令8:DDRAM地址设置。指令9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。指令10:写数据。指令11:读数据。(3)读写操作时序如图8、9所示 图8 读操作时序图9 写操作时序 (4)LCD1602的RAM地址映射液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。LCD1602内部显示地址如图10所示: 图10 LCD1602的RAM地址映射3.3.2 L

20、CD1602接口电路 LCD1602与AT89C51单片机连接如图11所示: 图11 LCD1602与STC89C51连接图3.4 电源模块 本模块为直流供电,当有电源供电时,直流5V的电源模块,或直接使用USB供电,亦可使用三到四节电池供电,本样机采用的是电池供电。图12 电源电路3.4 单片机STC89C51模块STC系列单片机是美国STC公司最新推出的一种新型51内核的单片机。片内含有Flash程序存储器、SRAM、UART、SPI、AD、PWM等模块。该器件的基本功能与普通的51单片机完全兼容。图13 89C51单片机的引脚功能说明(1)VCC:电源电压(2)GND:接地(3)P0口:

21、P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复位,在访问期间激活内部上拉电阻。(4)P1口:P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTE逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(ILL)。与AT89C51不同之处是,P1.0和P1.

22、1还可分别作为定时/计数器2的外部计数输入(P 1.0/T2)和输入(P 1.1/T2EX ),参见表2。 Flash编程和程序校验期间,P1接收低8位地址。表2 P1.0和P1.1的第二功能引 脚 号 功能特性P1.0T2(定时/计数器2外部计数脉冲输入),时钟输出P1.1T2EX(定时/计数2捕获/重装载触发和方向控制)(5) P2口:P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(

23、ILL)。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX DPTR指令)时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行MOVX RI指令)时,P2口输出P2锁存器的内容。(6)P3口:P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3口将用上拉电阻输出电流(ILL)。P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,如表3所示。(7)RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高

24、电平将使单片机复位。表3 P3口的第二功能端口引脚第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2(外中断0)P3.3(外中断1)P3.4T0(定时/计数0)P3.5T1(定时/计数1)P3.6(外部数据存储器写选通)P3.7(外部数据存储器读选通) (8)/VPP:外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH ) 。端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存端状态。如端为高电平(接VCC端),CPU则执行内部程序存储器中的指令。Flash存储器编程时,该引脚加上+12V的编程允许电源VPP,当然这必须是

25、该器件是使用12V编程电压VCC 。(9)XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。(10)XTAL2:振荡器反相放大器的输出端。(11)数据存储器:89C51有256个字节的内部RAM,80H-FFH高128个字节与特殊功能寄存器(SFR)地址是重叠的,也就是高128。字节的RAM和特殊功能寄存器的地址是相同的,但在物理上它们是分开的。当一条指令访问7FH以上的内部地址单元时,指令中使用的寻址方式是不同的,也即寻址方式决定是访问高128字节。RAM还是访问特殊功能寄存器。如果指令是直接寻址方式则为访问特殊功能寄存器。(12)中断:89C51共有6个中断向量:两个外中断(INT0

26、和INT1),3个定时器中断(定时器0, 1, 2)和串行口中断。(13)时钟振荡器: 89C51中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器,振荡电路参见图13(a)图所示。外接石英晶体(或陶瓷谐振器)及电容C1、C2接在放大器的反馈回路中构成并联振荡电路,对外接电容C1、C2虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程度及温度稳定性,如果使用石英晶体,我们推荐电容使用30pF士10pF,而如果使用陶瓷谐振器,建

27、议选择40pF士l0pF。用户也可以采用外部时钟。采用外部时钟的电路如图13(b)图所示。这种情况下,外部时钟脉冲接到XTAL1端,即内部时钟发生器的输入端,XTAL2则悬空。(a)内部振荡电路(b)外部振荡电路 图14 振荡电路 4 系统软件设计4.1 系统程序设计思想及流程图系统初始化后, 温湿度部分:复位传感器, 读取温湿度数据, 进行处理, 当温度处于快速变化过程中时,系统不停的进行温度信号的采集,数据输入单片机,并在显示器上进行显示。 图15 程序流程图4.2 系统主要程序主程序:主函数:#include#include#include#includeBYTE code dis1 =

28、 Humidity: ;BYTE code dis2 = Temperature:; void DisplayInit() unsigned char i; lcd_pos(0); i=0; while(dis1i!=0) lcd_wdat(dis1i); i+; lcd_pos(41); i=0; while(dis2i!=0) lcd_wdat(dis2i); i+; void main() unsigned int temp=0; unsigned char DHT11_H,DHT11_T; Delay_ms(1000); lcd_init(); / 初始化LCD Delay_ms(10

29、); DisplayInit(); while(1) temp = Read_DHT11(); DHT11_H=temp/256; if(DHT11_H100) lcd_pos(11); lcd_wdat(DHT11_H/10+0); lcd_wdat(DHT11_H%10+0); lcd_pos(0x0d); lcd_wdat(%); lcd_pos(0x0e); lcd_wdat(R); lcd_wdat(H); /if DHT11_T=temp%256; if(DHT11_T100) lcd_pos(0x4C); lcd_wdat(DHT11_T/10+0); lcd_pos(0x4D); lcd_wdat(DHT11_T%10+0); lcd_pos(0x4e); lcd_wdat(0xdf); /显示 lcd_wdat(C); Delay_ms(1000); DHT11驱动程序#includeunsigned char Read_DHT11_Byte() unsigned char temp,flag,Data=0,DataTemp; for(temp=0;temp8;temp+) flag=2; while(!DHT11)&flag+);/ Delay_10u

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1