课程设计温湿度传感器Word文件下载.docx
- 文档编号:22935440
- 上传时间:2023-02-06
- 格式:DOCX
- 页数:29
- 大小:223.56KB
课程设计温湿度传感器Word文件下载.docx
《课程设计温湿度传感器Word文件下载.docx》由会员分享,可在线阅读,更多相关《课程设计温湿度传感器Word文件下载.docx(29页珍藏版)》请在冰豆网上搜索。
是否能够及时、准确地测量很重要。
如果单片机来对温度进行控制,利用高精度的温度,湿度控制,强湿功能,体积小,价格低,简单灵活,很好的满足工艺要求。
2.2设计要求
1、实现温度和湿度的测量;
2、按电源键进行测量;
3、湿度的测量范围:
0%~100%RH;
温度的测量范围:
-40~+85℃;
4、湿度测量精度:
±
2.0%RH;
温度测量精度:
0.2℃;
5、在LCD显示屏上显示数据和结果;
第三章系统方案设计及论证
3.1总体方案设计
根据课题要求实现,该系统由采集系统和显示系统组成,以AT89C52单片机为核心,设计如图3-1:
图3-1系统图
3.2方案比较与论证
3.2.1温湿度检测
方案一:
使用AM2301数字温湿度传感器。
该型温湿度传感器,采用3.3-6V直流电源供电,它的各部分参数:
湿度测量的范围为20%~90%RH;
温度测量的范围为0~+50℃;
湿度测量精度为±
5.0%RH;
温度测量精度为±
2.0℃。
虽然它的价格比较便宜,但测温的范围和测湿的范围太小,温度的精度和湿度的精度太低,不符合设计的要求。
方案二:
使用AM2302电容式数字温湿度传感器。
它的各部分参数如下:
由于传感器参数:
湿度0%~100%相对湿度的测量范围;
温度测量范围为40~+80℃;
湿度的测量精度为±
3.0%RH温度的测量精度:
0.5℃。
价格也比较适合,基本可以满足设计要求。
方案三:
使用数字温湿度传感器DHT11。
湿度测量范围:
温度测量范围:
40~+85℃;
湿度测量精度:
2%相对湿度±
0.2℃温度测量精度。
该传感器价格很便宜。
温度和湿度都达到或超过了标题的精度要求,属于低功率传感器。
经过比较,从系统技术参数要求和低功耗方面考虑,选用方案三。
3.2.2处理器选择
采用AT89C51单片机作为处理器,虽能达到要求,但其内存过小,处理精度过低,不是最好的选择;
采用AT89C52单片机,既经济又有较大的内存,能很好的达到设计要求,是本次设计的主选;
采用TI公司的各种单片机,虽然能很好的达到设计的要求,但其成本过高,且程序较复杂,不适宜与本次设计。
通过对比,方案二的AT89C52的功能完全能够符合题目的各个部分和发挥部分的设计,故选用方案二。
3.2.3显示部分
采用LED数码管,其操作简单,显示直观。
不仅程序的设计简易,而且对周围的环境要求很低,方便维护。
但是数码管只可以显示阿拉伯数字,不能显示汉字。
而且硬件设计也相当繁复。
不适用于本设计。
使用LCD液晶,它具有体积小、低功耗、显示丰富等优点。
电路连接简单,价格也便宜。
总的来说,LCD液晶显示更多的内容,所以本设计选用LCD液晶显示程序。
第四章系统的硬件设计与实现
4.1单片机介绍
4.1.1单片机主要性能
AT89C52是由ATMEL公司生产的51单片机的一个型号。
它具有高性能CMOS8位、低电压的优点,使用了该公司的高密度、非易失性存储技术生产,完美兼容MCS-51指令系统,包括8位中央处理器和Flash存储单元,AT89C52功能强大、试用范围非常广。
主要功能特性:
●引脚完全兼容MCS-51产品
●具有8K字节的可重擦写Flash闪存
●1000次擦写周期
●2个读写中断口线
●全静态操作:
0Hz-24MHz
●三级加密程序存储器
●256*8字节内部RAM
●32可编程双向I/O线
●3个16位定时器/计数器
●2个外部中断源,共6个中断源
●可编程串行UART通道
●低功耗的空间和掉电模式
●软件设置睡眠和唤醒功能
4.1.2单片机各引脚功能介绍
AT89C52由40脚双列直插包装的8位通用微处理器组成,使用常用的C51内核,它主要用于会聚调整功能的控制。
功能主要有对会聚主IC内部寄存器、数据RAM及外部接口等部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。
·
P0口:
P0口是8位的漏极开路型双向的I/O口,即为地址/数据总线复用口。
如果被当作输出口,每位可以吸收电流的形式驱动8个TTL逻辑门电路,对端口P0写“1”时,起作用变为高阻抗输入。
当需要访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,期间可以激活内部上拉电阻。
在Flash编程时,P0口负责接受指令字节,但是在程序校验的时候,需要输出指令字节,校验时需要外接上拉电阻。
P1口:
P1是一个带在内部上拉电阻的8位的双向I/O口,P1的输出缓冲级可驱动(吸取或输出电流)4个TTL逻辑门电路。
对端口写“1”,经过里面的上拉电阻把端口拉至高电平,就可作输入口使用。
作输入口用时,因为里面存在上拉电阻,某引脚被外部的信号拉低时会输出一个电流(IIL)。
与AT89C51不同之处是,P1.0和P1.1还有作为定时/计数器2的外部计数输入(P1.0/T2)和输入(P1.1/T2EX)的功能,Flash编程和程序校验的时候,P1接收低8位地址。
P2口:
P2是一个带有上拉电阻的8位双向的I/O口,P2的输出缓冲级能够驱动(吸收或输出电流)4个TTL逻辑门电路。
将端口P2写“1”,通过内部的上拉电阻来港的高水平,此时,可作为输入,作为输入使用时,因为内部上拉电阻,如果某个引脚被外部信号拉低的时候就会输出一个电流(IIL)。
当访问外部程序存储器或16位地址的外部数据存储器时,P2口送出高8位的地址数据。
当访问8位地址的外部数据存储器时,P2口输出P2锁存器的内容。
编程或检查,P2也获得了很高的地址和控制信号。
P3口:
P3口是一组带有内部上拉电阻的8位双向I/O口。
P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。
此时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。
P3口除了作为一般的I/O口线外,此外,它的第二功能P3口还接收一些可以用于Flash闪速存储器编程与程序校验的控制信号才是最重要的。
4.1.3单片机特殊功能寄存器介绍
数据存储器:
AT89C52有256个字节内部RAM,80H-FFH高128个字节与特殊功能寄存器(SFR)地址是重复的,虽然物理上分开,但是高128字节的RAM与特殊功能寄存器的地址相同。
当一条指令访问7FH以上地址单元的时候,指令中使用不同的寻址方式,即为究竟是访问高128字节RAM还是访问特殊功能寄存器是由寻址方式决定的。
直接寻址方式对应的是访问特殊功能寄存器。
定时器0和定时器1:
AT89C52的定时器0和定时器1的工作方式与AT89C51相同。
2定时器:
定时器2是一个16位定时器/计数器。
不仅仅可以当定时器用,而且可用作外部事件计数器,特殊功能的寄存器T2CON的C/T2位负责选择它的工作方式。
定时器2一共有三种工作方式:
捕获方式,向上或向下计数方式以及波特率发生器方式,T2CON的控制位来决定其工作方式。
4.2DHT11数字温湿度传感器介绍
4.2.1DHT11产品概述
DHT11数字温湿度传感器是一种复合传感器,它包含已校准数字信号输出。
通过特殊的数字模块采集技术和温湿度传感技术,以确保产品拥有相当高的可靠性和卓越的长期稳定性。
传感器由一个电阻式感湿元件与一个NTC测温元件组成,跟一个高性能的8位单片机相连接。
因此,产品品质优良,响应速度快,抗干扰能力强,性价比很高。
而且它的每次校准都在及其标准的温湿度实验室中进行。
将所测的校准系数用程序存储在OTP内存中,当需要处理检测到的信号时,传感器会自动调用这些标准系数。
单线串行接口,很容易和快速的系统集成。
它的优点是体积小、低功耗、最高20米以上的远距离信号传递,使它能够在最为严格的场合使用。
4.2.2串行接口
微处理器与DHT11之间的联系与同步通过DATA来实现,它选用单总线的数据格式,一次通话时间大约在4ms左右,数据包括小数部分和整数部分,具体格式会在下文中详细介绍,如果有扩张的小数部分,我们读作零。
操作流程如下:
一次完整的数据传输为40bit,高位先出。
数据格式:
bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据+8bit校验和
数据传递精确时校验和数据等于“8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据”其结果末8位。
当用户MCU传送一次开始的信号后,DHT11就会自动从低功耗模式变换成高速模式,然后等待主机开始信号结束后,DHT11就会传送响应信号,送出40bit的数据,触发信号的采集,用户可以选择读数据。
在从模式下,当DHT11接收到开始信号就会自动触发一次温湿度收集,当接收到主机发送开始信号的时候,他就不会主动进行温湿度的收集.完成收集数据后会自动转换到低速模式。
1.通讯过程如图4-1所示:
图4-1通讯过程图
总线空闲时候的状态为高电平,主机会把总线降低然后等着DHT11响应,主机把总线拉低要大于18毫秒,以确保DHT11可以检测到起始的信号。
当DHT11收到主机的开始的信号后,就会等待主机的开始信号结束,然后发送80us低电平响应信号.主机发送开始信号结束后,延时等待20-40us后,读取DHT11的响应信号,主机发送开始信号后,可以切换至输入模式,或者是输出高电平,总线由上拉电阻拉高。
总线如果为低电平,说明DHT11发送响应信号,DHT11发送响应信号后,再把总线拉高80us,准备发送数据,每一bit数据都会以50us低电平时隙开始,高电平的长短定了数据位是0还是1.格式如图4-2所示.收到高电平响应信号,则DHT11不会响应,检查一下电路连接是否正常.当最后一bit数据传送结束后,DHT11拉低总线50us,然后总线由上拉电阻拉高转为空闲状态。
图4-2
0数字信号表示,如图4-3所示:
图4-3
1数字信号表示。
如图4-4所示:
图4-4
4.31602LCD液晶显示器简介
4.3.11602LCD的基本参数及引脚功能
1602LCD分为带背光和不带背光两种,基控制器大部分为HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别,两者尺寸差别如下图4-5所示:
图4-5LCD尺寸图
4.3.1.11602LCD主要技术参数:
显示容量:
16×
2个字符
芯片工作电压:
4.5—5.5V
工作电流:
2.0mA(5.0V)
模块最佳工作电压:
5.0V
字符尺寸:
2.95×
4.35(W×
H)mm
4.3.1.2.引脚功能说明
1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表4-6所示:
编号
符号
引脚说明
1
VSS
电源地
9
D2
数据
2
VDD
电源正极
10
D3
3
VL
液晶显示偏压
11
D4
4
RS
数据/命令选择
12
D5
5
R/W
读/写选择
13
D6
6
E
使能信号
14
D7
7
D0
15
BLA
背光源正极
8
D1
16
BLK
背光源负极
表4-6
4.3.21602LCD的指令说明及时序
1602液晶模块内部的控制器共有11条控制指令,如表4-7所示:
序号
指令
清显示
光标返回
*
置输入模式
I/D
S
显示开/关控制
D
C
B
光标或字符移位
S/C
R/L
置功能
DL
N
F
置字符发生存贮器地址
字符发生存贮器地址
置数据存贮器地址
显示数据存贮器地址
读忙标志或地址
BF
计数器地址
写数到CGRAM或DDRAM)
要写的数据内容
从CGRAM或DDRAM读数
读出的数据内容
表4-7
与HD44780相兼容的芯片时序表4-8如下:
读状态
输入
RS=L,R/W=H,E=H
输出
D0—D7=状态字
写指令
RS=L,R/W=L,D0—D7=指令码,E=高脉冲
无
读数据
RS=H,R/W=H,E=H
D0—D7=数据
写数据
RS=H,R/W=L,D0—D7=数据,E=高脉冲
表4-8
读写操作时序如图4-9和图4-10所示:
图4-9.读操作时序
图4-10.写操作时序
4.3.31602LCD的一般初始化(复位)过程
写指令38H:
显示模式设置
写指令08H:
显示关闭
写指令01H:
显示清屏
写指令06H:
显示光标移动设置
写指令0CH:
显示开及光标设置
第五章软件设计
5.1主程序和中断程序
图5-1显示主程序流程,实现了温湿度数据的显示与接收,并通过LCD液晶显示屏显示所测的的温湿度。
图5-1主程序流程图
5.2子程序
子程序主要是一个DHT11和LCD1602的程序。
程序的流程图如图5-2所示。
目的是实现DHT11和LCD1602的初始化及其数据处理。
图5-2子程序流程图
总结
通过不懈的努力,终于完成了我的课程设计。
在我开始做课程设计之前,我一直片面的觉得课程设计只是对大学这几年来所学的专业知识的简单的总结,但是在实践的过程中我发现我错了,因为毕业设计不仅是对前面所学知识的一种检验,而且也是对自己能力的以一种提高。
通过课程设计使我明白了我学到的知识只是知识宝库中的冰山一角,还有许多要学习的地方。
原来我总是感觉到已经把所有的东西都学到手了,什么都明白了,有些眼高手低。
通过我在课程设计的实践过程,我懂得了活到老学到老这句名言的真正意义,学习是一个循序渐进的过程,不可能一蹴而就,不管是在以后的工作中、或者生活中都不能停止学习,不断的用知识武装自己,让自己全面发展,更能适应这个科技文化高速发展的世界。
课程设计的过程,让我养成了独立思考的习惯,培养了我实在实际操作中动手的能力,我领悟到了在实践过程中摸索的困难与最终成功时的喜悦,这些对于我的信心或者是工作能力来说都是极大的鼓励与肯定,相信这些会对未来的工作和生活中有非常重要的影响。
虽然我的课程设计是有些缺陷的,但我觉得在此过程中我收获了很多,最大的收获就是在课程设计的设计过程中所学到的财富,他会是我终身受益。
在课程设计实践的过程中,我还深深体会到交流和相互讨论的重要性。
向老师请教,就能够时刻确保在大的方向上我是朝对的方向走;
与同学讨论,可以集思广益、可以迸发灵感,收获新方法。
思想和信息的传递,确保了我的课程设计得以顺利完成。
另外,我还总结出一个结论:
知识要想实现其价值,必须由实践来完成!
参考文献
[1]谢光忠、蒋亚东等.温湿度智能数据采集控制系统的研制:
传感器技术20004.
[2]丁元杰.单片微机原理及应用.北京:
机械工业出版社.1993.
[3]喻评,郭文川.单片机原理与接口技术.北京:
化学工业出版社,2006.
[4]李刚.51系列单片机系统设计与应用技巧.北京:
北京航空航天大学出版社.2004.
[5]余永权.MCS-51系列单片机应用技术.北京:
北京航空航天出版社.2002.
[6]
刘勇.数字电路.北京电:
子工业出版社.2004.
[7]
王法能.单片机原理及应用(简明修订版).北京:
科学出版社.2001.
[8]
赵伟军.PROTEL99SE教程.北京:
人民邮电出版社.2004.
[9]
黄
强.模拟电子技术》北京:
科学出版社.2003.
[10]
徐正惠,胡海影.单片机原理与应用实训教程.北京:
京科学出版社.2004.
[11]
陈晓文.电子电路课程设计.北京:
北京电子工业出版社.2004.
附录一电路图
附录二程序代码
#include<
REG52.h>
intrins.h>
math.h>
stdio.h>
LCD1602.c>
#defineucharunsignedchar
#defineuintunsignedint
typedefunion
{uinti;
floatf;
}value;
inttem,humi,x,y,z,m;
enum{TEMP,HUMI};
sbitDATA=P2^7;
sbitSCK=P2^6;
#definenoACK0
#defineACK1
#defineSTATUS_REG_W0x06
#defineSTATUS_REG_R0x07
#defineMEASURE_TEMP0x03
#defineMEASURE_HUMI0x05
#defineRESET0x1e
ucharjgh[10]={"
000%c"
};
//----------------------------------------------------------------------------------
chars_write_byte(ucharvalue)
{
uchari,error=0;
for(i=0x80;
i>
0;
i/=2)
{if(i&
value)DATA=1;
elseDATA=0;
SCK=1;
_nop_();
_nop_();
SCK=0;
}
DATA=1;
SCK=1;
error=DATA;
SCK=0;
returnerror;
chars_read_byte(ucharack)
uchari,val=0;
{SCK=1;
if(DATA)val=(val|i);
DATA=!
ack;
returnval;
voids_transstart(void)
DATA=1;
DATA=0;
voids_connecti
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 温湿度 传感器