![单片机温度湿度控制程序_第1页](http://file4.renrendoc.com/view/9d02c12177571353a1d0e35def479bcf/9d02c12177571353a1d0e35def479bcf1.gif)
![单片机温度湿度控制程序_第2页](http://file4.renrendoc.com/view/9d02c12177571353a1d0e35def479bcf/9d02c12177571353a1d0e35def479bcf2.gif)
![单片机温度湿度控制程序_第3页](http://file4.renrendoc.com/view/9d02c12177571353a1d0e35def479bcf/9d02c12177571353a1d0e35def479bcf3.gif)
![单片机温度湿度控制程序_第4页](http://file4.renrendoc.com/view/9d02c12177571353a1d0e35def479bcf/9d02c12177571353a1d0e35def479bcf4.gif)
![单片机温度湿度控制程序_第5页](http://file4.renrendoc.com/view/9d02c12177571353a1d0e35def479bcf/9d02c12177571353a1d0e35def479bcf5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1、温度湿度控制主程序(单片机)#iiiclude#include dhtll.h”frdefine uchai unsigned char#define umt unsigned mtsbit beep=P2A3;sbit kl=P3A2;sbit k2=P3 八3;sbit k3=P3A6;sbit k4=P3 八 7;sbit rs=P3A5;sbit lcden=P3z 4;uchai table0=T:00.00 TM:00.0侦初始化液晶温度实测值以及门限值缓存uchai tablel=”H:00.00 HM:00.0 ”力初始化液晶湿度实测值以及门限值缓存uchai table3
2、=Tliis is T/H test”;/系统开机显示内容初始化缓存uchai table4=nResult is coming”;/系统开机显示内容初始化缓存static uchar flag;extern mt temp_valuejiunu_value;void Delay_lnis(uint ms);umt TM,HM;void delay(uint x)/umt a,b;fbi(a=x;aO;a)foi(b=10;b0;b-);void delayx)延时程序umt a,b;fbi(a=x;a0;a)for(b=100;b0;b.);void wiite_com(uchai- com
3、)/液晶写指令操作P0=com;rs=O;lcden=0;delay(lO);lcden=l;delay(lO);lcden=0;void wiite_date(uchai- date)/液晶写数据操作PO=date;rs=l;lcden=0;delay(lO);lcden=l;delay(lO);lcden=0;void init()液晶初始化write_com(0 x3 8);delay(l);write_com(0 x0c);delay(l);wiite_com(0 x06);delay(l);write_com(0 x01);delay(l); _void LCD_Display(uc
4、har buffi,uchai- buff2)/液晶显示程序 uchar aa;imtO;/液晶初始化wnte_com(0 x80+16);/写入第一行数据指令delay ;for(aa=0;aa 16;aa+)/写入第一行待显示数据 /wnte_date(buffl aa);wiite_com(OxcO+16);写入第二行数据指令for(aa=0;aa 16;aa+)写入第一行待显示数据wiite_date(buff2aa);fbr(aa=O; aa(TM* 10)beep=0;elseif(hunii_value(HM* 10)(beep=0;else(beep=l;)void main(
5、)uiiit m=0;TM=25;设定温度初始门限值:25 CHM=50;设定湿度初始门限值:50%YZ_Resh()y/更新液晶显示缓存的门限值beep= 1;/关闭蜂鸣器LCD_Display(table3,table4)y/ 显示系统本系统信息while(l)key_testO;/监测按键状态,并根据对应按键改变温度湿度门限值,并显示 if (m 100)循环计时,3秒钟 (m-H-;Delay_lms(30);else当m=100时即为3秒时间到,则进行温度湿度数据采集(m=0;ReadTempAndHuiniO;/采集温度湿度数据TempAiidHunu_Resh();/更新液晶显示
6、缓存中的温度湿度数值LCD_Display(tableO.tablel);/显示当前温度湿度实测值以及门限值beep_control();/根据门限值以及实测值进行警报状态设置#iiiclude include dhtlLh”#define uchar unsigned char#define umt unsigned mtdefine NUMBER 20#define SIZE 5sbit dhtll=P2z 2;static uchar status;static uchar value_anaySIZE;/定义存放DHT11采集的5个字节的数组 mt temp_vah】e,humi_va
7、hie;static uchar ReadVhlue(void);extern void Delay_lms(uint ms)/秒延时,延时时间为 ms 亳秒uiiit x,y;fbr (x=ms; x0 ;x)for(y=124;y0;y-);static void Delay_lOus(void)/!0 微秒延时uchar i;;i-;i-;i-;i-;i-;static uchar ReadValue(void)/ 读一个字节数据的程序uchar count.value=04;statu s=OK;/设定标志位正常状态fbi(i=8;i0;i)value=l; 高位在前进行接收数据 co
8、unt=0;while(dhtl l=0&counti=NUNIBER)/若大于最大数值则出错(status=ERRORy/设定错误标志remni 0;/函数执行过程发生错误就退出函数)Delay_10us0;/进行 30us 的延时Delay_10usQ;Delay_10usQ;if(dhtll! =0)/再次检测是否为高电平(value+;/进入本函数说明信号为1,则进行自加while(dhtll !=0&countKNUMBER)(dhtll=l;if(count=NUMBER)(status=ERROR:return 0;)retuin(value)力返回读取的结果extern uch
9、ar ReadTempAiidHumi(void)/读取一次温度湿度数据,共5个字节 uchar i=0.check_value=0.count=0;EA=0;dhtll=O;拉低数据线20msDelay_lms(20);dhtn=i;/w放数据线,以用于检测低电平应答信号Delay_10us();/延时 40usDelay_10us();Delay_10us();Delay_10us();if(dhtl 1 !=0)检测应答信号,应答信号为低电平fEA=1;/无低电平。贝IJ报错return ERROR:else有应答信号while(dht 11 =0&count4H-=NUNIBER)/若
10、计数大于最大计数值dhtll=l;EA=1;return ERROR/读数错误,退出函数)count=0;dhtll=l;while(dhtl 1 !=0&count+=NUNIBER)(dhtll=l;EA=1;return ERROR:)for(i=0;iSIZE;i+)/开始读取湿度值、温度值(value_airayi=ReadValueQ;/ 调用读数据函数if(status=ERROR)(dhtll=l;EA=1;return ERROR;)if(i!=SIZE-l)(check_value+=value_arrayi;/进行数据累加用于数据校验)if(check_value=val
11、ue_airaySIZE-1 )/?校验数据正确,则输出数据(扩大温度湿度10倍数值hunii_value=value_anayO * 10;temp_value=value_anay2 * 10;dhtll=l;EA=1;return OK;)elseEA=1;return ERROR;2、dhtll.c执行文件include #include dhtll.h#define uchai unsigned chardefine umt unsigned mtdefine NUMBER 20define SIZE 5sbit dhtll=P2z 2;static uchar status;sta
12、tic uchar value_airaySIZE;/定义存放DHT11采集的5个字节的数组 mt temp_value ,hunn_value;static uchar ReadVhlue(void);extern void Delay_ 1 ms(uint ms)亳秒延时,延时时间为ms亳秒uiiit x,y;fbr(x=ms; x0 ;x)for(y=124;y0;y-);static void Delayl0us(void)/l0 微秒延时uchar i;i-;1-;1-;1-;1-;static uchar ReadValue(void)/ 读一个字节数据的程序uchar count
13、.value=04;statu s=OK;/设定标志位正常状态fbi(i=8;i0;i)value= 1 ;高位在前进行接收数据count=0;while(dhtl l=0&countKNUMBER);if(count=NUNIBER)/若大于最大数值则出错statu s=ERROR;设定错误标志return 0;/函数执行过程发生错误就退出函数)Delay_10usQ;/Z进行 30us 的延时Delay_10usQ;Delay_10usQ;if(dhtll! =0)再次检测是否为高电平(value+;/进入本函数说明信号为1,则进行自加while(dhtll !=0&countT=NUMB
14、ER)(status=ERROR:return 0;)retuin(value)/返回读取的结果extern uchar ReadTempAiidHumi(void)/读取一次温度湿度数据,共5个字节 uchar i=0.check_value=0.count=0;EA=0;dhtll=O;/拉低数据线20msDelay_lms(20);dhtll=l;释放数据线,以用于检测低电平应答信号Delay_10us();/延时 40usDelay_10us();Delay_10us();Delay_10us();if(dhtll!=O)检测应答信号,应答信号为低电平EA=1;/无低电平。则报错ret
15、urn ERROR:else 有应答信号while(dhtll=0&count-=NUNIBER)/若计数大于最大计数值dhtll=l;EA=1;return ERROR/读数错误,退出函数)count=0;dhtll=l;while(dhtl 1 !=0&count+=NUNIBER)(dhtll=l;EA=1;return ERROR:z)for(i=0:iSIZE;i+)/开始读取湿度值、温度值(value_anayi=ReadValue();/ 调用读数据函数if(status=ERROR)(dhtll=l;EA=1;return ERROR;)if(i!=SIZE-l)(check_value+=value_arrayi J!进行数据累加用于数据校验)if(check_value=value_anaySIZE-1 )/若校验数据正确,则输出数据 (扩大温度湿度10倍数值hunii_value=value_anayO *10:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年全球及中国虚拟购物平台行业头部企业市场占有率及排名调研报告
- 2025-2030全球长焊颈法兰行业调研及趋势分析报告
- 2025-2030全球碳纤维管状编织物行业调研及趋势分析报告
- 2025-2030全球集成存储解决方案行业调研及趋势分析报告
- 思想道德修养与法律基础
- 罗湖区政府投资项目代建合同范本
- 水电专业承包合同
- 政府采购项目的采购合同
- 大型高炮广告牌制作合同
- 出租车运营承包合同
- 供电公司一把手讲安全
- 译林版七年级下册英语单词默写表
- 人教版五年级上册数学简便计算大全600题及答案
- 2016-2023年湖南高速铁路职业技术学院高职单招(英语/数学/语文)笔试历年考点试题甄选合集含答案解析
- 政治单招考试重点知识点
- 专题01 中华传统文化-中考英语时文阅读专项训练
- 北京四合院介绍课件
- 《国有企业采购操作规范》【2023修订版】
- 土法吊装施工方案
- BLM战略规划培训与实战
- GB/T 16475-2023变形铝及铝合金产品状态代号
评论
0/150
提交评论