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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

温湿度传感器实验报告.docx

1、温湿度传感器实验报告小型智能系统设计-实验项目报告实验名称:基于STC 89C52单片机的温湿度变送器实验日期: 2014年5月2014年6月院 系:电子科学与工程学院 专 业: 微电子科学与工程 * * 学 号:B* EDA实验室开课时间:2013/2014 学年 第二学期摘要随着人们生活水平的不断提高,利用单片机实现智能控制无疑是人们追求的目标之一,它给人带来的方便也是毋庸置疑的,其中温度传感器就是其中的一个典型例子,但是人们对单片机的控制要求越来越高。要为现代人工作,生活,科研,学习提供更好、更方便、更人性化的设施就要从单片机技术入手,一切向数字化、智能控制化方向发展。温湿度变送器基于S

2、TC 89C52 单片机,配以DHT11传感器、DS1302显示器以及RS485中继站,具有精度高、适用范围广、生产加工简单、成本低、支持远距离传送、操作简单等优点。是工农业生产和日常生活都非常实用的一种器件。序 言 3第一章 温度采集器总体设计方案4 1.0 温度采集器设计方案论述4 1.1 方案明细4第二章 硬件设计7 2.0 1-wire总线协议介绍7 2.1 STC89C52的简单介绍8 2.2 DHT11特点及电气特性9 .3 MAX232特点及电气特性10 2.411.0592晶体振荡器电气特性13第三章 系统软件设计13 3.0 主程序设计13 3.1 温度程序设计(DHT11模

3、块)13 3.2 时间程序设计(模块)14第四章 总结与体会14第五章 软件仿真与系统调试16 5.0 protues软件仿真19 5.1 keil version仿真 25 5.2 实物照片 29第六章 附录 29 6.0 主程序源代码 30序 言智能温度传感器 智能温度传感器(亦称数字温度传感器)是在20世纪90年代中期问世的。它是微电子技术、计算机技术和自动测试技术(ATE_)的结晶。目前,国际上已开发出多种智能温度传感器系列产品。智能温度传感器内部包含温度传感器、A/D传感器、信号处理器、存储器(或寄存器)和接口电路。有的产品还带多路选择器、中央控制器(CPU)、随机存取存储器(RAM

4、)和只读存储器(ROM)。 智能温度传感器能输出温度数据及相关的温度控制量,适配各种微控制器(MCU),并且可通过软件来实现测试功能,即智能化取决于软件的开发水平。温室能在不适宜植物生长的季节,为植物提供生育期和增加产量。影响植物生长有多种因素,其中包括温度、湿度、照度这三个重要因素。不适宜的温、湿、照度不仅会阻碍植物生长、影响植物繁殖,也会使病虫害迅速扩散繁殖。因此必须合理控制温室的温、湿、照度,促进作物健康生长,抑制病虫危害,提高作物产量,增加经济效益。目前,绝大多数的温室使用温度计、干湿球湿度计,采用人工观测的方法。这种方法的特点是简单,设备成本很低。缺点是实时性差,检测相对湿度的精度太

5、低,人工工作量大。 而此项设计与传统的数字温度计相比,具有读数方便、测温范围广、测温精度高的优点,尤其是温度采用数字显示,设计更加的人性化。设计所需元件,无论是STC89C52单片机,还是测温、湿度所需的DHT11传感器、时钟芯片DST1302、1602A液晶显示器都是市场上所常见的电子元件,设计成本低廉,精度高非常适合生产。再加以RS485作为中继站,就可以实现对温湿度的远距离传输和数据采集,大大减少了人力物力的投入,提高了工农业现代化水平。第一章 温度采集器系统设计方案10 温湿度采集器设计原理 由于本设计是测温湿度电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温变化的电压或电

6、流采集过来,进行A/D转换后,可以利用单片机进行数据处理,在显示电路上,就可以将被测温度显示出来,这种设计需要利用到A/D转换电路,感温电路比较麻烦。进而考虑到可以利用温湿度传感器,在单片机电路设计中,大多是使用传感器,所以这是非常容易想到的,所以采用DLLAS的DHT11,由此传感器,可以容易的直接读取被测温湿度值,进而进行转换就可以满足设计要求,以上两种设计思路,通过优劣比较,可以发现DHT11的设计思路比较简单,易于电路设计与焊接,故采用第二种方案。温度传感器的电路设计方框图如图1所示,控制器采用单片机STC89C52,温湿度传感器采用DHT11,用户可以通过显示器读出实时温度、湿度值,

7、单片机与MAX232相连,可以把TTL电平转化为计算机读取的RS-232电平,然后可以通过9针串行通信口与计算机相连,把读到的数据存储在计算机内。再加以RS-485作为中继站,就可以实现对温湿度的远距离传输和数据采集。方便用户随时调阅并进行数据分析。1 .1 温湿度传感器的总体设计框图 . 图1:硬件总体设计框图第二章 硬件设计2.0 STC89C52的简单介绍端口引脚 第二功能:P1.0 T2 (定时器/计数器T2的外部计数输 入),时钟输出 P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)P1.5 MOSI(在线系统编程用)P1.6 MISO(在线系统编程用) P1.

8、7 SCK(在线系统编程用) P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 INTO(外中断0)P3.3 INT1(外中断1)P3.4 TO(定时/计数器0)P3.5 T1(定时/计数器1)P3.6 WR(外部数据存储器写选通)P3.7 RD(外部数据存储器读选通)此外,P3口还接收一些用于FLASH闪存编 程和程序校验的控制信号。 图2 STC89C52 管脚图 STC89C52的主要性能 STC89C52与MCS-51单片机产品兼容 、8K字节在系统可编程Flash存储器、 1000次擦写周期、全静态操作:0Hz33Hz 、三级加密程序存储器 、 32个可编程I/O

9、口线 、三个16位定时器/计数器八个中断源、全双工UART串行通道、 低功耗空闲和掉电模式 、掉电后中断可唤醒 、看门狗定时器 、双数据指针 、掉电标识符 。2.1 DHT11特点及电气特性DHT11实物图DHT11产品概述DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性和卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。每个DHT11传感器都在极为精确的湿度校验室中进行校准。校准系数

10、以程序的形式存在OTP内存中,传感器内部在检测型号的处理过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,使其成为给类应用甚至最为苛刻的应用场合的最佳选择。产品为4针单排引脚封装,连接方便。DHT11与单片机的接线图引脚说明1pin:VDD 用于供电35.5VDC2pin: DATA 串行数据,单总线3pin: NC 空脚,请悬空4pin: GND 接地,电源负极DHT11技术参数供电电压: 3.35.5V DC输 出: 单总线数字信号测量范围: 湿度20-90%RH, 温度050测量精度: 湿度+-5%RH, 温度+-2分 辨 率: 湿度1%RH, 温

11、度1互 换 性: 可完全互换 ,长期稳定性: 1%RH/年电气特性VDD=5V,T = 25,除非特殊标注参数条件mintypmax单位供电DC355.5V供电电流测量0.52.5mA平均0.21mA待机100150uA采样周期秒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%

12、)630SDHT11主要优点能够进行相对湿度和温度测量全部校准,数字输出卓越的长期稳定性无需额外部件超长的信号传输距离超低能耗4引脚安装完全互换DHT11工作原理2.2 特点及电气特性图管脚图原理MAX232芯片是专门为电脑的RS-232标准串口设计的接口电路,使用+5v单电源供电。内部结构基本可分三个部分:第一部分是电荷泵电路。由1、2、3、4、5、6脚和4只电容构成。功能是产生+12v和-12v两个电源,提供给RS-232串口电平的需要。第二部分是数据转换通道。由7、8、9、10、11、12、13、14脚构成两个数据通道。其中13脚(R1IN)、12脚(R1OUT)、11脚 (T1IN)、

13、14脚(T1OUT)为第一数据通道。8脚(R2IN)、9脚(R2OUT)、10脚(T2IN)、7脚(T2OUT)为第二数据通道。TTL/CMOS数据从T1IN、T2IN输入转换成RS-232数据从T1OUT、T2OUT送到电脑DP9插头;DP9插头的RS-232数据从 R1IN、R2IN输入转换成TTL/CMOS数据后从R1OUT、R2OUT输出。第三部分是供电。15脚DNG、16脚VCC(+5v)。23晶体振荡器电气特性在使用串口做通信时,一个很重要的参数就是波特率,只有上下位机的波特率一样时才可以进行正常的通信。波特率是指串行端口每秒内可以传输的波特位数。可以用以下的公式计算波特率:波特率

14、()定时器溢出速率上述公式中设置了寄存器中的位为时就可以把波特率提升倍。通常会使用定时器工作在定时器工作模式下,这时定时值下的作为计数,作为自动重装值,在这个定时模式下,定时器溢出后,的值会自动重装到,再次开始计数,这样可以不用软件去干预,使得定时更准确。在这个定时模式二下定时器溢出速率计算公式如下:溢出速率计数速率()上式中的“计数速率”与所使用的晶体振荡器频率有关,在芯片中定时器启动后会在每一个机器周期使用定时寄存器的值增加,一个机器周期等于个振荡周期,作用可以得知芯片的技术速率为晶体振荡频率的,一个的晶振使用在芯片上,那么芯片的计数速率就为。通常晶体是为了得到标准无误差的波特率24MAX

15、485 DATASHEET,电路图内容介绍:MAX485是用于RS-485与RS-422通信的低功耗收发器,每个器件中都具有一个驱动器和一个接收器。MAX485的驱动器摆率不受限制,可以实现最高2.5Mbps的传输速率。这种收发器在驱动器禁用的空载或满载状态下,吸取的电源电流在120(A 至500(A 之间。驱动器具有短路电流限制,并可以通过热关断电路将驱动器输出置为高阻状态,防止过度的功率损耗。接收器输入具有失效保护特性,当输入开路时,可以确保逻辑高电平输出。MAX485引脚(管脚)图及工作电路第三章系统软件设计3系统软件的主程序是调用子程序的,它是所有子程序在功能上的汇总,是整个程序的“首

16、脑”,是从从主程序开始读程序的,所以主程序的设计尤为重要。这个系统软件的主程序主要完成温度在位段的数码管上显示温度的功能。主程序设计如下:3温度程序设计(模块)3时间程序设计(DS1302模块)4时间程序设计模块在某些方面与温度设计模块具有很大的相似性,在这里主要介绍一下,其中的显示程序(具体详细程序参见附录后的详细程序清单)。void ds1302_display(void) /显示时分 P2=0xf7; /P2负责位选 P0=tabshi/16;/P0负责段选 delay(); P2=0xfb; P0=tabshi%16; delay(); P2=0xfd; P0=tabfen/16; d

17、elay(); P2=0xfe; P0=tabfen%16; delay();第四章 总结与体会 本次试验,通过设计焊接一个温度传感器,让我们对单片机的基本知识有了一个大致的了解,同时也引起了我们对单片机的兴趣。学习单片机知识是一个软硬结合的学习过程。在实际做这个试验时,我们遇到的困难有硬件连线方面的,也有软件设计方面的。比如在设计软件时,由于对单片机C语言一窍不通,所以在设计软件的时候显得分外掣肘,无从下手。这时候,通过看书和上网查阅相关的资料,我们了解了一些单片机C语言的基础知识,这时候,虽然还是写不出一个完整而准确、可运行的单片机C程序,但是,我们已经可以基本的看懂书本上和网上提供的源程

18、序了。再比如硬件方面,试验中所使用的元器件,无论是单片机STC89C52,还是温度传感元件DHT11,我们都对它们没有任何的了解,更谈不上连线了,这时候,上网是一个很不错的方法,网上提供了很多这样的例子,尽管不完全相同,但作为参考已足够了。 这次实验,我觉得收获最大的,既不是对单片机的了解,也不是对动手能力的提高,固然,这两点都是十分重要的。但是,我觉得,还有比这更加重要的,那就是解决问题的方法。一个问题可以有千万种方法解决,但是要在这千万种方法中找到最合适的,是比较困难的,因为每个人的方法都不尽相同,而且受到各种条件的约束,找到自己合适的方法就更困难了。在本次的试验中,我们面临着时间与知识的

19、双重考验。首先由于时间原因,我们不能花大把大把的时间在这项实验上面,这是十分可惜的。其次,我们缺少单片机方面的知识。所以,我们可以依靠的最强大的力量就是图书馆和网络了,这两者都具备各自的优势,图书馆的资源更加准确,网络则更加方便,结合两种,就可以做到最好。于是,我们一方面寻求来自图书馆的图书帮助,通过翻阅单片机的相关资料,对单片机的知识有了一个大概的了解,然后通过网络上的论坛找到了一些相关的实例,通过分析实例,然后再设计自己的电路和系统软件,这样,双管齐下,事半功倍。同时,对于这次的开放性试验,我也体会到了团队合作的重要性与必要性,中国古语:众人拾柴火焰高,面对一个难题,我们固然是要具备独立思

20、考的能力,但是也不能忽略团队合作的重要意义。通过分工协作,纵然是很大的困难,也能将它分成若干模块,分工到个人,最后再交流总结。这样,我们就能很好的解决问题了。在面对巨大难题的时候,团队合作就显得尤为重要。其次,通过这次的实验,我也感觉到了自己在动手方面的不足与欠缺。这需要我在今后的学习中努力锻炼自己的动手能力。同时,我也深刻的认识到了“谋定而后动”的重要性。我们搭完电路,仿真通过,但是这还没有结束,因为实际的硬件连线与在仿真软件上搭电路是不能相提并论的,在实际的硬件连线中,需要我们考虑的因素更多,更复杂。这需要我们在动手之前,仔细的规划好硬件布局,然后再进行焊接。 唯有实践方能出真知,这次做的

21、产品给我们上了一次很生动的课。总的来说这次实践,我们学到许多,不仅仅是书本或者是网上的资料给我们的知识,更重要的是动手实践后的体会,感悟。 第五章 软件仿真与系统调试5.0 软件仿真 protues8.0未启动调试按钮之前启动调试按钮:显示默认温湿度:TEMP(温度):26.9Huni(湿度):45.3%点击DHT11中的加减按钮增加温度,后选择shift,增加湿度:TEMP(温度):26.9CHuni(湿度):87.6%STC89C52 单片机工作状态,以及引脚使用情况。DS1602液晶显示器九孔通用串口模拟仿真以及引脚使用情况DHT11温湿度传感器模拟仿真图5.1 keil version

22、4软件仿真图5.2 实物照片 去掉显示器的内部结构整体实物图第六章 附录附录:程序代码/DS1602程序(1602.c):#include/内部等待函数*unsigned char LCD_Wait(void) LcdRs=0; LcdRw=1; _nop_(); LcdEn=1; _nop_(); LcdEn=0; return DBPort; /向LCD写入命令或数据*#define LCD_COMMAND 0 / Command#define LCD_DATA 1 / Data#define LCD_CLEAR_SCREEN 0x01 / 清屏#define LCD_HOMING 0x0

23、2 / 光标返回原点void LCD_Write(bit style, unsigned char input) LcdEn=0; LcdRs=style; LcdRw=0; _nop_(); DBPort=input; _nop_();/注意顺序 LcdEn=1; _nop_();/注意顺序 LcdEn=0; _nop_(); LCD_Wait(); /设置显示模式*#define LCD_SHOW 0x04 /显示开#define LCD_HIDE 0x00 /显示关 #define LCD_CURSOR 0x02 /显示光标#define LCD_NO_CURSOR 0x00 /无光标

24、#define LCD_FLASH 0x01 /光标闪动#define LCD_NO_FLASH 0x00 /光标不闪动void LCD_SetDisplay(unsigned char DisplayMode) LCD_Write(LCD_COMMAND, 0x08|DisplayMode); /设置输入模式*#define LCD_AC_UP 0x02#define LCD_AC_DOWN 0x00 / default#define LCD_MOVE 0x01 / 画面可平移#define LCD_NO_MOVE 0x00 /defaultvoid LCD_SetInput(unsigne

25、d char InputMode) LCD_Write(LCD_COMMAND, 0x04|InputMode);/初始化LCD*void LCD_Initial() LcdEn=0; LCD_Write(LCD_COMMAND,0x38); /8位数据端口,2行显示,5*7点阵 LCD_Write(LCD_COMMAND,0x38); LCD_SetDisplay(LCD_SHOW|LCD_NO_CURSOR); /开启显示, 无光标 LCD_Write(LCD_COMMAND,LCD_CLEAR_SCREEN); /清屏 LCD_SetInput(LCD_AC_UP|LCD_NO_MOVE

26、); /AC递增, 画面不动/液晶字符输入的位置*void GotoXY(unsigned char x, unsigned char y) if(y=0) LCD_Write(LCD_COMMAND,0x80|x); if(y=1) LCD_Write(LCD_COMMAND,0x80|(x-0x40);/将字符输出到液晶显示void Print(unsigned char *str) while(*str!=0) LCD_Write(LCD_DATA,*str); str+; /SHT10程序(SHT10.c):#include#define noACK 0 /继续传输数据,用于判断是否结束通讯#define ACK 1 /结束数据传输,/地址 命令 读/写#define STATUS_REG_W 0x06 /000 0011 0#define STATUS_REG_R 0x07 /000 0011 1#define MEASURE_TEMP 0x03 /000 0001 1#define MEASURE_HUMI 0x05 /000 0010 1#define RESET 0x1e /000 1111 0/写字节程序char s_write_byte(unsigned char value) unsigned char i,error=0; for (i=0x80;i0;i

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

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