下载此文档

DTH11串口程序.doc


文档分类:IT计算机 | 页数:约3页 举报非法文档有奖
1/3
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/3 下载此文档
文档列表 文档介绍
/*----------------------------------DHT11数据发送到串口 觉得网上流行的那个程序太乱,故编写了一个大家看的懂的,实用的!亲测可用!! 管脚接P2^0 有疑问加QQ:422457601注:单片机------------------------------------*/#include<>#defineucharunsignedcharucharFlag_D; //防死机标志ucharXBuff[5];//DHT11原始数据暂存器ucharDBuff[5];//DHT11原始有效数据寄存器sbitHQ=P2^0;//信号脚定义/*---------------------------------- 微妙延时T=2*t+5us 注意--t不能写成t--!!-------------------------------*/voiddelay2x(uchart){while(--t);} /*----------------------------- 毫秒延时大约1ms ---------------------------*/voiddelayms(unsignedintt){ while(t--) { delay2x(245); delay2x(245); }} /******************************* 10us延时误差0us**********************************/voiddelay10us(){uchari;i--;i--;i--;i--;i--;i--;}/*------------------------------ 读数区-------------------------------*/uchargetData() //读取一个数据{ uchari,Data=0; for(i=0;i<8;i++) { Flag_D=2; while(!HQ&&Flag_D++); //等待高电位 delay10us(); delay10us(); delay10us(); if(HQ) //如果HQ为1,读1 { Data<<=1; //接收数据从高位到低位,所以要左移 Data|=0x01; Flag_D=2; while(HQ&&Flag_D++); //等待电位拉低再进入下一个读数 if(Flag_D==1)break; } elseData<<=1; //读0 } returnData; //返回数据}voidDHT_Read() //读取数据{ ucharj,temp; HQ=0; delayms(20);//拉低大于18ms HQ=1; delay10us(); delay10us(); delay10us(); delay10us(); HQ=1; if(!HQ) //从机响应 { Flag_D=2; while(!HQ&&Flag_D++); Flag_D=2; while(HQ&&Flag_D++); for(j=0;j<5;j++) //读取5个数据暂存入数组XBuff[5]中{

DTH11串口程序 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数3
  • 收藏数0 收藏
  • 顶次数0
  • 上传人wz_198613
  • 文件大小157 KB
  • 时间2019-11-19
最近更新