基于单片机的湿度计课程设计.doc

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数字湿度计设计 一、设计任务 设计一个以单片机为核心的湿度测量系统,可实现的功能为: 能实时测量所处环境的湿度值,误差0.5%; 系统可有用户预设湿度值,测湿范围0—100%; 如若超出预设值时,系统会自动报警,即发光二极管亮,同时蜂鸣器发出报警; 系统采用数码管显示,能显示设定温度值和测得的实际值; 设计出原理图和实际电路板图。 二、设计方案 按照系统设计攻能要求,确定系统有5个模块组成:主控制器,数字湿度传感器,报警电路,按键电路及驱动先是电路。 主控制器的功能有单片机来完成,主要负责处理由数字湿度传感器送来的数据,并把处理好的数据送向显示模块。数字湿度传感器主要来采集周围环境参数,并把所采集来的数据送向主控制器。按键电路主要用来完成单片机的复位操作和湿度初始值的设定。由于单片机输出电流太小(仅有几毫安),所以增加驱动电路主要用来驱动八位数码管发光的。 三、硬件电路设计 Pc板图 元器件的选则 湿度传感器 湿度传感器的温度系数。湿敏元件除对环境湿度敏感对温度都十分敏感,而且在不同的相对湿度下其温度系数是有差异的。温漂非线性,我们需要在电路上加温度补偿式。湿度传感器温漂曲线的线性化直接影响到补偿的效果,非线性的温漂补偿不出较好的效果,采用单片机软件补偿,或者无温度补偿的湿度传感器也是保证不了全温范围的精度,只有采用硬件温度跟随性补偿才会获得真实的补偿效果。应注意的是多数湿敏元件在40℃以上的环境是无法正常工作。 DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。每个DHT11传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式储存在OTP内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,信号传输距离可达20米以上,使其成为各类应用甚至最为苛刻的应用场合的最佳选则。产品为 4 针单排引脚封装。连接方便,特殊封装形式可根据用户需求而提供。 实物图 引脚说明 通信过程 总线空闲状态为高电平,主机把总线拉低等待DHT11响应,主机把总线拉低必须大于18毫秒,保证DHT11能检测到起始信号。DHT11接收到主机的开始信号后,等待主机开始信号结束,然后发送80us低电平响应信号.主机发送开始信号结束后,延时等待20-40us后, 读取DHT11的响应信号,主机发送开始信号后,可以切换到输入模式,或者输出高电平均可, 总线由上拉电阻拉高。 LCD 液晶显示器1602液晶也叫1602字符型液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。1602LCD是指显示的内容为16X2,即可以显示两行,每行1615 个字符液晶模块(显示字符和数字)。目前市场上字符液晶大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。 四、软件设计 软件任务,程序框图 程序: #includereg52.h #includemath.h #includeINTRINS.H #define uint unsigned int #define uchar unsigned char sbit seg1=P2^0; sbit seg2=P2^1; sbit seg3=P2^2; sbit DQ=P1^3;//ds18b20 端口 sfr dataled=0x80;//显示数据端口 Ucharcode duan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,}; uchar code we[]={0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfe,0xff,}; uchar huanchong[]={0,0,0,0,0,0,0,0,}; uchar dispcount,T0count,time,temp[8]; sbit led=P1^2; bit flag; uint temp1; uchar flag_get,count,num,minute,second; unsigned long x; void delay1(uchar MS);

文档评论(0)

yurixiang1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档