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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

单片机温度湿度控制程序dht11文档格式.docx

1、void delay(uint x)/ uint a,b; for(a=x;a0;a-) for(b=10;bb-); void delay1(uint x)/延时程序 for(b=100;void write_com(uchar com)/液晶写指令操作 P0=com; rs=0; lcden=0; delay(10); lcden=1;void write_date(uchar date)/液晶写数据操作 P0=date; rs=1;void init()/液晶初始化 write_com(0x38); delay(1); write_com(0x0c); write_com(0x06);

2、write_com(0x01);void LCD_Display(uchar buff1,uchar buff2)/液晶显示程序 uchar aa; init();/液晶初始化 write_com(0x80+16);/写入第一行数据指令 for(aa=0;aa(TM*10) beep=0; else if(humi_value(HM*10) beep=0; else beep=1;void main() uint m=0; TM=25;/设定温度初始门限值:25C HM=50;/设定湿度初始门限值:50% YZ_Resh(); beep=1;/关闭蜂鸣器 LCD_Display(table3,

3、table4);/显示系统本系统信息 while(1) key_test();/监测按键状态,并根据对应按键改变温度湿度门限值,并显示 if (m100)/循环计时,3秒钟 m+; Delay_1ms(30); else/当m=100时即为3秒时间到,则进行温度湿度数据采集 m=0; ReadTempAndHumi();/采集温度湿度数据 TempAndHumi_Resh();/更新液晶显示缓存中的温度湿度数值/显示当前温度湿度实测值以及门限值 beep_control();/根据门限值以及实测值进行警报状态设置#include x-) for(y=124;yy-);static void D

4、elay_10us(void)/10微秒延时 uchar i; i-;static uchar ReadValue(void)/读一个字节数据的程序 uchar count,value=0,i; status=OK;/设定标志位正常状态 for(i=8;ii-) value=1;/高位在前进行接收数据 count=0; while(dht11=0&count+=NUMBER)/若大于最大数值则出错 status=ERROR;/设定错误标志 return 0;/函数执行过程发生错误就退出函数 Delay_10us();/进行30us的延时 if(dht11!=0)/再次检测是否为高电平 valu

5、e+;/进入本函数说明信号为1,则进行自加 while(dht11!=0&NUMBER) dht11=1; if(count=NUMBER) status=ERROR; return 0; return(value);/返回读取的结果extern uchar ReadTempAndHumi(void)/读取一次温度湿度数据,共5个字节 uchar i=0,check_value=0,count=0; EA=0; dht11=0;/拉低数据线20ms Delay_1ms(20); dht11=1;/释放数据线,以用于检测低电平应答信号 Delay_10us();/延时40us if(dht11!

6、=0)/检测应答信号,应答信号为低电平 EA=1;/无低电平。则报错 return ERROR; /有应答信号/等待应答信号结束=NUMBER)/若计数大于最大计数值 dht11=1; EA=1; return ERROR;/读数错误,退出函数 dht11=1; while(dht11! for(i=0;iSIZE;i+)/开始读取湿度值、温度值 value_arrayi=ReadValue();/调用读数据函数 if(status=ERROR) EA=1; return ERROR; if(i!=SIZE-1) check_value+=value_arrayi;/进行数据累加用于数据校验

7、if(check_value=value_arraySIZE-1)/若校验数据正确,则输出数据 /扩大温度湿度10倍数值 humi_value=value_array0*10; temp_value=value_array2*10; return OK;2 、dht11.c 执行文件3、/*定义DHT11温度湿度头文件*/#ifndef _DHT11_H_#define _DHT11_H_#define OK 1#define ERROR 0extern void Delay_1ms(unsigned int ms);extern unsigned char ReadTempAndHumi(void);#endif

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

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