问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

雨滴传感器模块有了,单片机stc,希望代码能够实现,3

发布网友 发布时间:2023-10-08 02:10

我来回答

4个回答

热心网友 时间:2023-12-24 05:35

我之前做毕业设计的时候做过,使用ATmega48做的,给你参考下

//H头文件如下:
#ifndef __DHT11_H
#define __DHT11_H

#define uint unsigned int
#define uchar unsigned char
#define ulong unsigned long

extern uchar HH_tem,HL_tem,TH_tem,TL_tem,check;
extern uchar jump;

//***********************************************************************
//定义变量区
//***********************************************************************
#define CLR_BUS(PORTD&=~(1<<PD2))        //总线置低
#define SET_BUS(PORTD|=(1<<PD2))         //总线置高

#define PD2_IN   (DDRD&=~(1<<PD2))        //定义PB0为输入
#define PD2_OUT  (DDRD|=(1<<PD2))         //定义PB0为输出

#define BUS_READ (PIND&0x04)

uchar Read_Byte(void);
void DHT11_Read(void);
void DHT11_init(void);

#endif


//C文件如下:
#include "iom48v.h"
#include "DHT11.h"

void delay_18ms(void)
{
unsigned char a,b,c;
    for(c=21;c>0;c--)
        for(b=50;b>0;b--)
            for(a=2;a>0;a--);
}

void delay_30us(void)
{
unsigned char a;
    for(a=0;a<5;a++);
}

void delay_40us(void)
{
  unsigned char a;
        for(a=10;a>0;a--);
}

void DHT11_init(void)
{
 PD2_OUT;
 SET_BUS;
}

uchar Read_Byte(void)
{
 uchar i,Rbit,Rdata;
 PD2_IN;
 SET_BUS;//上拉输入
 for(i=0;i<8;i++)
 {
  jump=2;
  while((BUS_READ==0)&&(jump!=0));
  delay_30us();
  Rbit=0;
  if(BUS_READ!=0)
  {
   Rbit=1;
  }
  jump=2;
  while((BUS_READ!=0)&&(jump!=0));
  Rdata=Rdata<<1;
  Rdata=Rdata|Rbit;
 }
 return Rdata;
}

void DHT11_Read(void)
{
 
 PD2_OUT;
 CLR_BUS;
 
 delay_18ms();
 SET_BUS;
 delay_40us();
 
 PD2_IN;
 SET_BUS;
 
 jump=2;
 while((BUS_READ==0)&&(jump!=0));
 jump=2;
  while((BUS_READ!=0)&&(jump!=0));
 
 HH_tem=Read_Byte();
 HL_tem=Read_Byte();
 TH_tem=Read_Byte();
 TL_tem=Read_Byte();
 check=Read_Byte();
 
 PD2_OUT;
 SET_BUS;
}


最后调用
DHT11_Read();
这个函数就可以读数了

热心网友 时间:2023-12-24 05:35

留下你的,企,鹅,号追问813169878

来自:求助得到的回答

热心网友 时间:2023-12-24 05:36

貌似应该在51吧发。。。

热心网友 时间:2023-12-24 05:36

http://pan.baidu.com/s/1bnyAr8b
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
联想Z470AM I5处理器与I3 联想ideapad z470 独显默认设置是什么 联想Z470 I5处理器 GT520M的显卡跟普通的GT520M显卡有什么区别 性能怎 ... 我新买了一台联想z470 i3-2310 但是朋友说显卡不太好!! 我玩天龙八部... 联想的z470笔记本 上面 的独显GT520M 能不能 更换 或者是升级阿? ...我的是双显卡的 z470- i5 显卡是 gt520m 能换吗 vivo手机耳机麦克风说话声音小 耳机通话声音小是怎么回事 为什么我手机耳机的麦克风声音很小怎么调 求:7个字的情侣游戏名,纯汉字,有诗意的(不要古诗)。不带任何符号或英文... psp<战地双雄40天>人物如何全部开启?2 电视机、录像机后面插孔上标有“AUDIO IN”“AUDIO...36 好的,我就想说,100分悬赏 平常我在学校学习都很认真的,成...28 圆明园的历史资料10130 XBOX360战地双雄第四十日第一关 圆明园灯会 兰博基尼保养一年多少钱1 ps3破解战地双雄 第40天能否双人分屏玩?1 山东赢方体育产业有限公司怎么样? 左肩有颗痣代表什么意思301 “希望可以每天都有进步”用文言文怎么说10 每天进步一点点用文言文表达5 如何加强中国特色社会主义政治建设3 如何坚定不移的推进中国特色社会主义民主政治建设5 请问沈阳地方招聘网站有哪些? 一般都去什么网站找工作啊? 怎么才能在微信注册一个新的帐号? 为什么微信上我本人所在的位置和别人搜索到我的位置不一样呢 急...24 微信为什么显示的地理位置跟自己所在地不一致呢6 同一手机不同微信账号朋友圈定位信息怎么不一样 伸缩电动门价格大概多少 战地双雄第40天双人游戏 2p武器都重新锁上了,是不是游戏问...2 求PS3所有可以2人以上4人玩的游戏12 右肩上有痣代表什么?1760 战地双雄和战地双雄第四十天哪个好6 我在微贷网汽车抵押贷款一年我现在提前半年还款,后面半年利息还...13 ps3战地双雄第40天怎么存档谢谢了,大神帮忙啊 狗狗不吃狗粮怎么办2443 一个人可以注册几个?370 五星级酒店里卖珠宝怎么样?2 家校共育的绘画一年级手抄报 一年级手抄报 青菜跟油麦菜是不是感光食物10 存款单、银行卡、一本通3种方式存钱的区别2 第16个英文字母是什么12 中国银行存折上有两种是普通活期和活期一本通有什么区别?23 股票K线图中各种颜色代表什么? 股票k线图怎么看涨跌趋势 深水井开始用水泵抽水很清澈,大概两年换了新泵,抽上来的水变红...39 新打的深水井已经抽了好久了,为什么还总是有沙子,该怎么办31 给朋友邮烟算不算违法? 群主如何阻止QQ群内广告红包