全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
/*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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 纺织厂加班管理
- 某机械厂生产管理准则
- 2025-2026年注册土木工程师建筑工程测量模拟试题
- 2025-2026年江苏省苏教版高二英语第10章写作练习题
- 某重型机械厂安全制度
- 3人教版三年级上学期语文期中考试预测试卷以及答案
- 《Unit 6 World festivals》同步练习及答案-2026-2027学年人教大同(新版)小学英语六年级上册
- 超声科年度工作计划(2026版)
- 2026下半年初中化学教资面试历年真题题库
- 2026初中道法教资面试结构化真题题库
- 2026山东鲁东南水资源配置有限公司社会招聘笔试参考题库及答案详解
- 新生儿窒息复苏指南学习课件
- 新版(2026秋新版)北师大版五年级数学上册全册教案合集
- 2026年秋季教育学专业开学第一课 职业发展前景分析教学设计
- 医院关于不合理医疗检查专项治理自查自查自纠总结
- (正式版)DB31∕T 684-2023 《养老机构照护服务分级要求》
- 2026年贵州省纪委监委公开遴选公务员笔试试题及答案解析
- 2026年《中华人民共和国妇女权益保障法》知识竞赛题库(含答案)
- 2026年北京市初级注册安全工程师考试真题及答案
- 2025年广西交通运输厅所属事业单位考试真题(附答案)
- 2026年初中历史统编教材培训总结与教学启示
评论
0/150
提交评论