1、基于KL25温湿度传感器设计报告嵌入式系统及应用报告题目:DH1温湿度传感器设计组员:齐亨班级:物联131学号:135161026年07月15日摘 要在工业生产中,电流、电压、温度、湿度和开关量都是常用的主要被控参数。其中,温湿度控制也越来越重要。在工业生产的很多领域中,人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制。采用KL2芯片对温湿度进行控制不仅具有控制方便、简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大的提高产品的质量和数量。因此,KL25芯片对温湿度的控制问题是一个工业生产中经常会遇到的控制问题。温湿度控制系统在国内各行各业的应用虽然己
2、经十分广泛,但从国内生产的温度控制器来讲,总体发展水平仍然不高,同日本、美国、德国等先进国家相比,仍然有着较大的差距。成熟的温湿控产品主要以“点位”控制及常规的ID控制器为主,它们只能适应一般温度系统控制,而用于较高控制场合的智能化、自适应控制仪表,国内技术还不十分成熟,形成商品化并广泛应用的控制仪表较少.随着我国经济的发展及加入WTO,我国政府及企业对此都非常重视,对相关企业资源进行了重组,相继建立了一些国家,企业的研发中心,开展创新性研究,使我国仪表工业得到了迅速的发展。目前,温湿度控制器产品从模拟、集成温度控制器发展到智能数码温度控制器。智能温控器(数字温控器)是微电子技术、计算机技术和
3、自动测试技术的结合,特点是能输出温度数据及相关的温度控制量,适配各种控制器,并且它是在硬件的基础上通过软件来实现控制功能的,其智能化程度也取决于软件的开发水平,现阶段正朝着高精度高质量的方向发展,相信以我国的实力,温湿控技术在不久的将来一定会为于世界前列!DHT11温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性和卓越的长期稳定性。产品为4针单排引脚封装,连接方便。二、硬件设计:2. DHT1特点及电气特性DHT11实物图HT1产品概述DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,它应
4、用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性和卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NC测温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。每个DHT1传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式存在T内存中,传感器内部在检测型号的处理过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,使其成为给类应用甚至最为苛刻的应用场合的最佳选择。产品为4针单排引脚封装,连接方便。H11与单片机的接线图引脚说明1pn:VDD 用于供电3.5Vpi: DAT 串
5、行数据,单总线n:N 空脚,请悬空p:ND 接地,电源负极D11技术参数供电电压: 3.5V DC输 出: 单总线数字信号测量范围: 湿度0-90%RH, 温度050测量精度:湿度+-%R, 温度+-2分辨 率: 湿度1%R, 温度1互 换 性: 可完全互换,长期稳定性:/inlu #iclue stoh typedef union /定义联合体, ugnedin i;fla f; value; /定义联合体类型名称为vaue#e oCK 0 diAK 1 fn TATS_REGW 0x 0x06 = 0000 0110 #defie TUS_RE_R 0x07 /0x = 0000 011
6、f MEARE_TEP 0x0 /0x03 = 0000 01#efie MEASUR_HUMI 0x05 /5 = 000 01#dein RESEx1 /01e= 001 110#dfin DA P_6 /定义SA代表的是P16脚 #defne P17dein bn P20ngne char d,d2,,4,d,d6,7; /定义无符号字符型变量 oid it(unsinednt s) /定义wait函数,主要用于软件循环,延时作用 unsignedcha ,k; wil(m) f(g = 0;g = 17; +) for(k =0;k 0;i =2) /i 赋初始值08 = 12, 执行
7、判断是i 0,执行语句是i i / ; 即 12,6,3,6,8,4,2,(0),8位 f (& lu) SA =;ele ; CL = ; /此时SL端口处,也就是1_7引脚处是高电平 Qait(); /因为写入需要时间,所以程序之中加入下面几条语句 Wait(); Qat(); ait();QWai(); SC = 0; 使能p1_眼角处低电平,使的数据写入(具体需要看单片机控制芯片的手册 asm(P); asm(); D 1; SCL = 1; sm(NOP); err = DA; Qat(); Qat();Qat(); DA 1; SCL = 0; rurn error; car s_
8、rad_ye(signedcar ck) /读取数据,按照字节位的顺序读取(位)28 =1000000 ,4 = 00000, 32 0010000,1= 001 000,8 001000,4 = 0 010 , 2 = 0 01, 1 000001 unsine cha i,va =0; D=1;for(i= 08;i 0;i = ) /同上 SCL 1;if (SD) /判断SD处是否有高电平 al=(a | i); /进行或操作 lse val =(val |000); SC = 0;QWait(); Qai(); QWt(); Wait(); Wait(); SDA = !ack;SC
9、 =1; Wa(); Wait(); Wait(); Wait();QWa(); SCL = ; SDA = 1; return al; /返回读取到的数据,一个字节,八位 void stanssart(oid) /传输使能函数,就是给控制器引脚处相应电平,使对应模块工作 DA =1; SL = 0; QWt(); QWi();SC= 1; QWt(); Wt();SDA 0;Qit(); it(); SC = 0; QWait(); QWait(); QWait(); ait(); QWat(); SCL= ;Wai();QWit();SDA = 1; QWat(); Wait(); SC=
10、 0;Wait();QWi();i_connecionest(od) /复位操作函数 sige char i; SD =1;SCL=0; for( = 0;i 9; i+) SCL 1;QWit(); Wait();C=0; ait();QWit(); s_trastart(); /调用开始函数 char smsr(unigd char *p_value, unind char *pchecksum,usignedcr mode) /函数,主要统计传输的数据个数unsgeder =0; nignd inti,; s_transat(); swih(mode) ase 3 :er+= s_wre
11、_ye(3); break;cae 5:er= s_rit_byte(5);brek; defaut:brek; for(i = ;i 655;i+) for(j= 0;j 65535;j+) if(SA = ) ea; if(SD= 0)break; f(SDA) er+ ; *(p_vlue) = s_ra_byte(ACK);*(pvale+ 1) = s_ea_ye(C); *p_chcksu s_byte(noACK); d= *(p_vue);d7=*(_value+1);retu er; i calcsth11(float *p_humdity ,flot *_eperatre)
12、/计算温度值 cont flat1=- .0; cons float C2 =+0.0405; costfloa3 - 0.0000028; cost flot T1 +0.01; ons ot T2 + .0008; foat h* p_umity; lot* p_temperatre; loat _lin;foat h_true;flat t_C; C =* .01 -44.0;r_li=3* r r + C2 * rh + C1;h_true = (t * 0. - 4- 25) *(T1 + T2 r) h_lin; (rh_tru 00) rh_tue 0; if(rhtrue 0.
13、1) rh_re = 0.1; *_teperaure tC; *_humiity =rh_tr; oimin()/主函数 value humi_va,temp_val; /声明两个联合体变量 unsind char ero,chcksu;声明两个无符号的字符型变量 itRT(); /初始化串口 PI|= 0xC0; /初始化P引脚, 0=11000 ,使P1_7和P_5引脚为ein = 0; _netionree(); whil(1)/无限循环操作 ero ; errr += s_maure((unsignedcr) &hum_va.i,&ecsu,5);/读入串口的数据进行温度的计算 1
14、= d6;d2 d; rror += s_measre((unsignd car*)&te_val.i,&hecksm,3);d= 6;=;i(rror != ) s_onnectonreset(); ese hum_val. (flot)hmi_vali; temp_al.f = (oat)tm_val.; humi_val.f = d1 *256 + 2;tem_l.f d3 * 26 +4; ca_sth(hum_al.,&temp_val.f); ritf(tm:5.1f mi:%5.1%,emp_valf,humialf); / prinf(:%x h1:%xn,1,2); /pri
15、nt(t:% h2:%xn,d3,d4); Wait(150); 四、设计调试和心得体会 系统软件的主程序是调用子程序的,它是所有子程序在功能上的汇总,是整个程序的“首脑”,CU是从从主程序开始读程序的,所以主程序的设计尤为重要。这个系统软件的主程序主要完成温度在位8段的数码管上显示温度的功能。4.1功能实现分析该硬件电路在最后测试中实现了准确的温湿度采集、能够传给L5芯片发送采集到得参数。基本实现了设计任务,并可根据外界运用需要更换和外扩其他功能传感器。42 心得体会经过一个礼拜设计,调试和实践,我们已经在电路板上成功仿真运行了显示模块和温湿度测试模块。仿真运行结果符合最初的实验设计要求。
16、唯有实践方能出真知,这次做的产品给我们上了一次很生动的课。总的来说这次实践,我们学到许多,不仅仅是书本或者是网上的资料给我们的知识,更重要的是动手实践后的体会,感悟。 由于时间的原因在设计过程中不能很好的做出我们设计所要达到的要求,对于以上的不足,我们只有通过以后的努力不断的提升。在设计中我们基本实现了温湿度的读取,在后级电路中由于个人能力有限,而不能实现后级驱动电路,在这方面我相信在以后的学习生涯中能得到解决,最后我要感谢我的导师陈儒敏老师,在他的帮助下我们做好了基于K25芯片温湿度控制系统的课程设计,同时我也要感谢那些在我遇到难题时候给予我帮助的同学和好友。五丶成果展示下面为运行成功显示成果参 考 文 献张毅刚单片机原理及应用M.北京:高等教育出版社,2003.2万光毅.单片机实验与实践教程北京:北京航空航天
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1