DHT11完成例程

DHT11完成例程

ID:37709028

大小:16.92 KB

页数:7页

时间:2019-05-29

DHT11完成例程_第1页
DHT11完成例程_第2页
DHT11完成例程_第3页
DHT11完成例程_第4页
DHT11完成例程_第5页
资源描述:

《DHT11完成例程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、/********************************************************************************************///除了dht11的接口外,其他的电路原理图与天祥的C51板对应//现象是循环显示温度和湿度各显示三秒#include"dht11.h"#includesbitDULA=P2^6;//数码管位定义sbitWELA=P2^7;staticunsignedcharflag;//中断计数标志static

2、unsignedcharcodearray[]={//数码管编码0x3f,0x06,0x5b,0x4f,0x6,0x6d,0x7d,0x07,0x7f,0x6f};externintwendu,shidu;staticvoidInitTime(void);voidDelay_1ms(unsignedintms);staticvoidSMG_Display(unsignedintvalue);intmain(void){unsignedcharmark=0;//先等上电稳定Delay_1ms(1000

3、);//因为读一次数据dht11才会触发一次采集数据.//即在先使用数据时采集一次数据ReadTempAndHumi();//因为在两次采集数据需一定的时间间隔,这里还可减少Delay_1ms(3000);//设定定时器InitTime();while(1){//三秒读一次温湿度if(flag==60){flag=0;mark++;/*//读温湿度,可检测函数调用是否失败,//函数返回OK(1)表示成功,返回EROR(0)表示失败//OK和EROR是在dht11.H中定义的宏*/ReadTempAn

4、dHumi();}if(mark%2==0){//显示温度SMG_Display(wendu);}else{//显示湿度SMG_Display(shidu);}}return0;}//设定定时器staticvoidInitTime(void){TH0=(unsignedchar)((65535-50000)>>8);TL0=(unsignedchar)(65535-50000);TMOD=0X01;TR0=1;ET0=1;EA=1;}//数码管显示函数staticvoidSMG_Display(un

5、signedintvalue){unsignedcharge,bai,shi;ge=value%10;shi=value%100/10;bai=value%1000/100;WELA=1;P0=0XFE;WELA=0;P0=0XFF;DULA=1;P0=array[bai];DULA=0;Delay_1ms(2);WELA=1;P0=0XFD;WELA=0;P0=0XFF;DULA=1;P0=array[shi];P0

6、=0x80;/*显示小数点*/DULA=0;Delay_1ms(2);WELA=

7、1;P0=0XFB;WELA=0;P0=0XFF;DULA=1;P0=array[ge];DULA=0;Delay_1ms(2);}//中断函数voidtimer(void)interrupt1{TH0=(unsignedchar)((65535-50000)>>8);TL0=(unsignedchar)(65535-50000);flag++;}/****************************************************************************

8、****************/二、保存文件名dht11.h(保存时必须命名为dht11.h)/********************************************************************************************//********************************************************************************************/#ifndef__dht11_H

9、__#define__HDT11_H__//设定标志(staticunsignedcharstatus)的宏值#defineOK1#defineEROR0externvoidDelay_1ms(unsignedintms);//函数的返回值表示读取数据是否成功OK表示成功EROR表示失败externunsignedcharReadTempAndHumi(void);#endif/*********************************************

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。