




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
/*DHT11 简单应用 显示在数码管上(我的数码管是两个74HC595 不懂的可以问我)*建议显示在液晶上*/#include#includechar T_H1,T_L1,RH_H1,RH_L1,checkdata1;char T_H2,T_L2,RH_H2,RH_L2,checkdata2;char F16T,F16RH,tshi,tge,rhshi,rhge;sbit DHT11 = P21;uchar bdata output;uchar location,j,i,ge,shi;uint num=0,num1,num2;uchar code segment= 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77, /*共阴7段LED段码表*/ 0x7c,0x39,0x5e,0x79,0x71,0x76,0x73,0x3e,0x00;sbit srclk=P42;sbit rclk = P41;sbit ser = P44;sbit out_put= output7; /*传感器接受数据的响应命令*/ void delay(uint x); void Delay32us(); void Delay22ms(); void Delay500ms();void shumaguan(uchar wei,uchar duan)output = wei;for(j=0;j8;j+)/位码ser = out_put;srclk=0;srclk=1;srclk=0;output = _crol_(output,1);output = duan;/段码for(j=0;j8;j+)ser=out_put;srclk=0;srclk=1;srclk=0;output = output1; rclk=0;rclk=1;rclk=0;void shuru() num=0; while(num1000) shumaguan(0x01,segmenttshi);shumaguan(0x02,segmenttge);shumaguan(0x10,segmentrhshi);shumaguan(0x20,segmentrhge);shumaguan(0,segment19); char COM(void) char i,temp,comdata; /*判断信号时0还是1*/for(i=0;i8;i+) while(!DHT11); Delay32us(); temp=0; if(DHT11) temp=1; /当DHT11变为低电平时,开始下bit 的传送comdata = comdata1;comdata = comdata|temp; while(DHT11);return comdata; /*主机的开始信号 和 从机的响应信号*/*DHT11的主函数*/void getDHT11() DHT11=0; Delay22ms(); /主机拉低22ms DHT11=1; Delay32us(); /总线由上拉电阻拉高 主机延时20-40us /判断从机是否有低电平响应信号 如不响应则跳出,响应则向下运行 if(!DHT11) /T ! /判断从机是否发出 80us 的低电平响应信号是否结束 while(!DHT11); /判断从机是否发出 80us 的高电平,如发出则进入数据接收状态 while(DHT11); /*接收数据的命令 每次传送八位*/RH_H1 = COM();RH_L1 = COM();T_H1 = COM();T_L1 = COM();checkdata1 = COM(); if(T_H1+T_L1+RH_H1+RH_L1=checkdata1) RH_H2 = RH_H1;RH_L2 = RH_L1;T_H2 = T_H1;T_L2 = T_L1;F16RH = RH_H2+RH_L2/1000;F16T = T_H2+T_L2/1000;tshi = F16T/10;tge = F16T%10;rhshi = F16RH/10;rhge = F16RH%10;/*主函数*/void main()EA = 1 ;ET0= 1;TR0 = 1;TMOD = 0X01;TH0 = (65536-1000)/256;TL0 = (65536-1000)%256;while(1)DHT11=0;getDHT11();shuru();/*延时子程序*/void time1() interrupt 1/延时20微秒TH0 = (65536-1000)/256;TL0 = (65536-1000)%256;num=num+1;num1=num1+1;num2=num2+1;void Delay32us()/12.000MHzunsigned char i;_nop_();_nop_();i = 93;while (-i);void Delay22ms()/
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- JJF 2313-2025多参数在线激光粒度仪校准规范
- 2025年福州东盟海产品交易所有限公司总经理职位职业经理人市场化选聘考前自测高频考点模拟试题及参考答案详解一套
- 2025福建三明大田县公开招聘紧缺急需专业教师7人考前自测高频考点模拟试题及1套完整答案详解
- 小学安全培训收费标准表课件
- 2025年临沂兰陵县教育系统部分事业单位公开招聘教师(5人)考前自测高频考点模拟试题有答案详解
- 2025江苏连云港市海州湾发展集团有限公司及子公司招聘20人考前自测高频考点模拟试题及完整答案详解
- 2025广东广州市中山大学孙逸仙纪念医院超声科医教研岗位招聘模拟试卷及答案详解(历年真题)
- 安全培训教学课件制作
- 2025江西吉安市直三家公立医院编外招聘33人考前自测高频考点模拟试题附答案详解(黄金题型)
- 2025福建省高速公路集团有限公司招聘43人考前自测高频考点模拟试题及参考答案详解
- 临床医师定期考核必刷题库及答案(一)
- 职业本科《大学英语》课程标准
- 2024年承包建设工程合同
- 英语语法课程教学大纲
- 《陆上风电场工程概算定额》NBT 31010-2019
- 水平四初中羽毛球大单元教学教案(18课时)
- 2024年河北石家庄市高速公路集团限公司面向社会公开招聘收费人员150名公开引进高层次人才和急需紧缺人才笔试参考题库(共500题)答案详解版
- 酒店住宿抵款协议书
- 【基于WBS分解图的工程项目施工进度管理与优化案例探析22000字(论文)】
- 配电箱安全专项教育培训课件
- 智慧医保监管一体化平台建设方案
评论
0/150
提交评论