DHT11
来源:互联网 发布:淘宝策划工资多少 编辑:程序博客网 时间:2024/05/21 22:40
DHT11你到底哪里出错了 有心人帮我看看 我把代码贴了
#include <reg52.h>#include <intrins.h>#define uchar unsigned char#define uint unsigned int// #define size 5// #define ERROR 0sbit DHT=P2^0;uchar flag;uchar value_arr[5];uchar temp,shidu;//此表为 LED 的字模, 共阴数码管 0-9 - unsigned char code arr[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40}; //段码控制void delay10us(){_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();}void delayms(uint i){uchar x,y;for(x=i;x>0;x--){for(y=124;y>0;y--);}}uchar readvalue() //读一字节{uchar dat=0,i;for(i=8;i>0;i--){DHT=0;delay10us();delay10us();delay10us();delay10us();delay10us();DHT=1;DHT=dat&0x80;if(DHT==0){delay10us();delay10us();delay10us();}else{delay10us();delay10us();delay10us();delay10us();delay10us();delay10us();delay10us(); /*while(DHT!=0){dat=1;} */}dat<<=1;}DHT=0;delay10us();delay10us();delay10us();delay10us();delay10us();return dat;}void readtempandshidu(void) //读数据{uchar i=0,check_dat=0,count=0;EA=0;DHT=0;delayms(18);//if(flag==18)//{//flag=0;DHT=1;delay10us();delay10us();delay10us();//delay10us();DHT=0;while(DHT==0&&count++<20);DHT=1;while(DHT!=0&&count++<20);/*while(DHT==0){delay10us();delay10us();delay10us();delay10us();delay10us();delay10us();delay10us();delay10us();}DHT=1;delay10us();delay10us();delay10us();delay10us();delay10us();delay10us();delay10us();delay10us();DHT=0; */for(i=0;i<5;i++){value_arr[i]=readvalue();if(i!=4){check_dat+=value_arr[i];}}if(check_dat==value_arr[4]){shidu=value_arr[0];temp=value_arr[2];DHT=1;EA=1;}//}/* else { EA=1;//return 0; } */} void display(uchar dat){uchar ge,shi,bai;bai=dat%1000/100;shi=dat%100/10;ge=dat%10;P1=0XFE;P0=arr[bai];delayms(2);P1=0XFD;P0=arr[shi];delayms(2);P1=0XFB;P0=0X80;delayms(2);P1=0xf7;P0=arr[ge];} void init0(){TMOD=0X01;TH0=(65535-50000)%256;TL0=(65535-50000)/256;EA=1;ET0=1;TR0=1;}void t0() interrupt 1{TH0=(65535-50000)%256;TL0=(65535-50000)/256;flag++;}void main(){uchar biao=0;delayms(1000);readtempandshidu();delayms(3000);init0();while(1){if(flag==60){flag=0;biao++;readtempandshidu();}if(biao%3==0){display(temp);}else{display(shidu);}}}
- DHT11
- DHT11驱动程序
- 20141116 【 Arduino - DHT11 】 温湿度传感器DHT11使用
- 温湿度传感器DHT11
- dht11太打击自信
- GPS OLED DHT11 Arduino
- Android DHT11驱动
- DHT11温湿度传感器
- 温度、湿度传感器dht11
- 温湿度传感器-DHT11
- DHT11湿度传感器开发
- zigbee学习之DHT11
- Arduino - DHT11温湿度传感器
- arduino DHT11 温湿度传感器
- 树莓派驱动DHT11模块
- DHT11数字温湿度传感器
- [51]dht11温湿模块
- 温湿度传感器---DHT11
- linux下替代windows的软件列表(plus plus)
- STL源码剖析---vector
- Ubuntu远程控制Windows XP系统
- hdu1754
- debug调试汇编代码
- DHT11
- Linux下的shell与make
- MEF和泛型 MEF Generics
- protobuf windows java 环境搭建(编译出protobuf需要的jar包,解决编译时OutOfMemory的问题)
- C++ Primer 学习笔记(四)——表达式
- 林平:品牌电商转化率分析
- jsp页面useBean和import的区别
- 如何让家用或公司ADSL宽带拥有国际顶级域名
- 破解电脑中密码的常规方法