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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

基于单片机的温湿度检测电路优质参考Word格式文档下载.docx

1、5.1温度部分5.2湿度部分(8)5.3液晶显示部分(9)5.4主程序(10)6、所思所感(11)7、参考文献1、作品名称:基于单片机的温湿度检测电路2、作品简介及其功能:随着工业自动化的愈趋完善,各种各样的传感器被用在了各式各样的场合。而温度和湿度这两个重要的参数成为了实现过程控制自动化必不可少的过程。换言之,问题具体化为了选择怎样的传感器及如何去检测温湿度的变化,并根据检测结果调整系统以使之保持在最佳工作状态。本电路即是用来检测环境温度及湿度的情况并实时显示及作出处理的。虽然原理很简单却可靠实用。下面将给出详细描述。 3、电路设计思路及其硬件的选择 先说测温部分。 考虑到测温方案有很多种,

2、包括电阻式测温、热电偶测温等等。而由于外界诸多因素的变化,由分立元件所搭建的电路会受到各种各样的干扰而导致测量结果的偏差,比如电阻会因温度升高而阻值降低,三极管在发热状态下基极电流会升高等等。这会带来测量误差,从而导致一系列负面响应。考虑到这些问题,方案最终被定在了集成温度测量传感器DS18B20上。 DS18B20是美国DALLAS公司生产的集成温度传感器。它将测温、处理及输入输出等模拟+数字电路集成在一块形似三极管的三端芯片上,体积小巧、功能强大,且数据的输入输出只需要一跟端口线,并且可在一根总线上并联多个芯片以实现多点测温。用之与单片机结合简直是温度检测的不二选择。 再说湿度检测部分。

3、湿度检测部分也有许多方案可供选择,同样也有集成湿度检测元件。但考虑到其价格及普遍使用程度,最后放弃了集成元件的方案,改用分立式的电容测湿电路。本电路在工业上使用普遍且方案成熟,不失为可行方法之一。 控制器方面,自然是使用STC89C52了,实惠够用。 辅助部分有键盘部分和显示部分,会在后面有详细的介绍。4、电路的设计与成型:4.1供电部分: 电路图如图4.1.1所示。图4.1.1 电源电路 考虑到取电源的方便性,电路的电源部分采取了标准9V电源接口引入然后用LM7805集成稳压芯片稳压输出稳定5V电压的方案。这种方案最大的好处是节省电源部分的体积,缺点则是无法透彻理解电源稳压的原理及实现方法。

4、 4.2微控制器部分:微控制器电路图如图4.2.1所示:图4.2.1 微控制器电路微控制器为通用的51单片机系统,简单明了。4.3测温部分: 温度检测电路如图4.3.1所示。 如图所示,集成温度传感器的数据接口 直接与单片机的P2.5口相连,且需要加一个10K的上拉电阻。图4.3.1 测温电路4.4测湿部分:测湿电路图如图4.4.1所示。由于测湿传感器是采用的电容式测湿传感器,故对湿度的测量转变为了对变化电容的容值检测。检测容值的有效方案首选由555芯片组成的多谐振荡器,如右图所示。 如图,当电路通电时,电容HS0001被充电。当触发端2脚的电压上升到2*VCC5/3 图4.4.1 测湿电路时

5、,输出端3变为低电平,同时电容通过7脚放电,2脚电平下降;当2脚电平下降到VCC5/3时,输出端3脚转变为高电平。电容HS0001放电所需时间为:Td=RH4*CHS0001*2 当放电结束时,VCC5将通过RH3、RH4向电容HS0001充电。2脚电压由VCC5/3上升到2*VCC5/3所需的时间为:Tu=(RH4+RH3)*CHS0001*2 当3脚上升到2*VCC5/3时,电路又翻转为低电平。如此周而复始,就在电路的输出端3脚得到一个周期性的矩形波,通过单片机的外部中断口可以检测这个矩形波并得到其频率,频率的计算公式如下:f=1/(Td+Tu)=1/(2*RH4+RH3)* CHS000

6、1*2 进而得到电容值的计算公式:CHS0001=1/(2*RH4+RH3)*f*2 这样就能得到测湿电容CHS0001的电容值并与湿度一一对应起来了。4.5报警部分:报警部分如图4.5.1所示。当温度或者湿度超过设定值时,单片机会控制蜂鸣器发声报警。电路中的三极管9012当做开关管使用,给低电平就导通。图 图4.5.1 报警电路4.6键盘部分:键盘部分如图4.6.1所示。由于整体电路不需要很多按键,所以用不到矩阵键盘的方案。单片机只需要检测哪个按键有了低电平,即可确定哪个按键被按下了。图图4.6.1 按键电路4.7显示部分:显示部分如图4.7.1所示。本电路采用了1602液晶显示,接口简单,

7、控制方便。由于本电路占用单片机的I/O口并不多,所以采用了并行接口方式。图4.7.1 液晶显示电路4.8整体电路及其PCB板:整体电路如图4.8.1所示:图4.8.1 整体电路PCB图如图4.8.2所示:图4.8.2 PCB印制板图5、电路软件的设计:5.1温度部分:用单片机控制DS18B20非常方便。先对之进行初始化,之后就能从其中读出数据了。以下是程序。/初始化程序段void init_18B20(void) reset_18B20();/总线复位 wbyte_18B20(0xcc);/忽略检查ROM匹配操作 wbyte_18B20(0x4e);/设置写模式(写暂存器) /*wbyte_1

8、8B20(0x21);/设置温度上限为33【设置则精度只能是0.5】 wbyte_18B20(0x1c);/设置最低温度为28*/ wbyte_18B20(0x1f);/写温度计配置寄存器/数据提取程序段uint getdat_18B20() float c; uint temp; uchar h,l; conv_18B20(); delay_18B20(1);/稍作延时 wbyte_18B20(0xbe);/发送读取温度数据的命令 l=rbyte_18B20();/读取低8位 h=rbyte_18B20();/读取高8位 flag_18B20=h&0x80; if(flag_18B20) /

9、最高位为1,温度为负 temp=h; temp=temp8;/读取的高8位数据装在temp高8位 temp=temp|l; temp=temp+1; c=temp*0.0625; temp=c*100+0.5; else return(temp); /温度整数部分2位,小数部分2位5.2湿度部分:由于需要检测的信号是一定频率的方波,所以最佳检测方案莫过于用单片机的计数器在一定时间内进行计数,进而计算出其频率。其函数如下所示。/初始化程序段,用于对外部中断0和定时器0进行初始化设置void init_freq() TMOD=0x02; TH0=56; TL0=56;/定时器0,计时中断一次为20

10、0us EA=1; ET0=1; EX0=1;/开外部中断0 IT0=1;/跳变沿触发方式 (“0”为低电平触发方式) TR0=1;/中断程序段void EX0_int()interrupt 0 num+;void T0_timer0()interrupt 1 time+; if(time=500)/200us*500=100ms,此乃100ms的定时 EX0=0;/先把外部中断关掉 TR0=0;/再把定时器关掉 time=0;/记得复位,很重要 display_freq(); num=0;/同时把中断计数清零 TR0=1;/开启定时 EX0=1;/开启外部中断5.3液晶显示部分:液晶显示部分

11、已经是固化程序了,程序如下:/初始化void init_1602() en_1602=0; wcom_1602(0x38);/数据总线8位,显示两行5*7点阵/字 wcom_1602(0x0c);/开显示功能,且光标不显示,不闪烁 wcom_1602(0x06);/写入一个字后光标后移,且屏幕不移动/显示程序void wcom_1602(uchar c) rw_1602=0; rs_1602=0; P0=c;delay_1602(2); en_1602=1;void wdat_1602(uchar d) rs_1602=1; P0=d;void wsingle_1602(uchar hang,uchar lie,uchar dat) uchar k; if(hang=1)k=0x80; if(hang=2)k=0xc0; k=k+lie-1; wcom_1602(k); wdat_1602(dat);void wstring_1602(uchar hang,uchar lie,uchar *dat) uchar *p=dat

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

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