付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第第页stm32F4使用温湿度传感器模块-->DHT11就是雁凌家的模块,测好了,弄了很久吧发现是他们家的杜邦线不行,以后买模块要看杜邦线质量,还是买点好的太耽误开发周期了我们用的模块是四线转三线的(dht11从四线的引脚变成三线的输出)
线路连接dht11有三根线连出来,vcc,gnd,还有一个负责输入和输出所以最后一根线可以连接到没有被占用的gpio口就能获得数据连接到板子的pb2上面程序编写唤醒dht11->检测dht11是否存在->读取数据
唤醒dht11输出低电平20ms再输出高电平30us
//复位DHT11voidDHT11_Rst(void){DHT11_IO_OUT();//设置为输出DHT11_DQ_OUT=0;//拉低DQdelay_ms(20);//拉低至少18msDHT11_DQ_OUT=1;//DQ=1delay_us(30);//主机拉高20~40us}
检测dht11唤醒后dht11会拉低电频40,80us拉低后会再次拉高40~80us
读取数据读取一位数据dht11会拉低电频拉低后会再次拉高,此时就是当时数据位的值,我们进行检测
u8DHT11_Read_Byte(void){u8i,dat;dat=0;for(i=0;i=100)return1;elseretry=0;while(!DHT11_DQ_INdelay_us(1);};if(retry>=100)return1;return0;}
//从DHT11读取一个位//返回值:1/0u8DHT11_Read_Bit(void){u8retry=0;while(DHT11_DQ_INdelay_us(1);}retry=0;while(!DHT11_DQ_INdelay_us(1);}delay_us(40);//等待40usif(DHT11_DQ_IN)return1;elsereturn0;}
//从DHT11读取一个字节//返回值:读到的数据u8DHT11_Read_Byte(void){u8i,dat;dat=0;for(i=0;iMODERGPIOB->MODER|=0MODERGPIOB->MODER|=1<<(2*2);}//PB12输出模式IO操作函数#defineDHT11_DQ_OUTPBout(2)//数据端口PB12#defineDHT11_DQ_INPBin(2)//数据端口PB12u8DHT11_Init(void);//初始化DHT11u8DHT11_Read_Data(u8*temp,u8*humi);//读取温湿度u8DHT11_Read_Byte(void);//读出一个字节u8DHT11_Read_Bit(void);//读出一个位u8DHT11_Check(void);//检测是否存在DHT11voidDHT11_Rst(void);//复位DHT11#endif
main.c
#include"sys.h"#include"delay.h"#include"usart.h"#include"led.h"#include"key.h"#include"lcd.h"#include"sdram.h"#include"dht11.h"#include"pcf8574.h"
intmain(void){u8t=0;u8temperature;u8humidity;HAL_Init();//初始化HAL库Stm32_Clock_Init(360,25,2,8);//设置时钟,180Mhzdelay_init(180);//初始化延时函数uart_init(115200);//初始化USARTLED_Init();//初始化LEDKEY_Init();//初始化按键SDRAM_Init();//初始化SDRAMLCD_Init();//初始化LCDPCF8574_Init();//初始化PCF8574POINT_COLOR=RED;LCD_ShowString(30,50,200,16,16,"ApolloSTM32F4/F7");LCD_ShowString(30,70,200,16,16,"DHT11TEST");LCD_ShowString(30,90,200,16,16,"ATOM@ALIENTEK");LCD_ShowString(30,110,200,16,16,"2023/1/16");PCF8574_ReadBit(BEEP_IO);//由于DHT11和PCF8574的中断引脚共用一个IO,//所以在初始化DHT11之前要先读取一次PCF8574的任意一个IO,//使其释放掉中断引脚所占用的IO(PB12引脚),否则初始化DS18B20会出问题while(DHT11_Init())//DHT11初始化{LCD_ShowString(30,130,200,16,16,"DHT11Error");delay_ms(200);LCD_Fill(30,130,239,130+16,WHITE);delay_ms(200);}LCD_ShowString(30,130,200,16,16,"DHT11OK");POINT_COLOR=BLUE;//设置字体为蓝色LCD_ShowString(30,150,200,16,16,"Temp:C");LCD_ShowString(30,170,200,16,16,"Humi:%");while(1){if(t%10==0)//每100ms读取一次{PCF8574_ReadBit(BEEP_IO);//读取一次PCF8574的任意一个IO,使其释放掉PB12引脚,//否则读取DHT11可能会出问题DHT11_Read_Data(//读取温湿度值LCD_ShowNum(30+40,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026河北邯郸幼儿师范高等专科学校春季博硕人才选聘26人备考题库附答案详解【巩固】
- 2026河南省人力资源开发中心有限公司招聘5人备考题库带答案详解(精练)
- 2026年宁夏建设投资集团公司校园招聘笔试备考试题及答案解析
- 2026中共江西省委党校(江西行政学院)高层次人才招聘37人备考题库附答案详解(轻巧夺冠)
- 2026中国平安保险(集团)股份有限公司四川分公司招聘备考题库及参考答案详解1套
- 2026西藏中共林芝市委员会宣传部招聘公益性岗位工作人员2人备考题库附答案详解(能力提升)
- 2026年中铁工程设计咨询集团有限公司校园招聘笔试参考题库及答案解析
- 2026年西藏移动校园招聘考试备考试题及答案解析
- 2026丽水龙泉市事业单位招聘25人-统考考试参考题库及答案解析
- 2026中智贵阳人力资本科技有限公司招聘备考题库含答案详解【培优b卷】
- 《八颗行星》课件科学六年级下册教科版
- DB3301T 0480-2024专利分类分级评定管理规范
- 药店聘用执业药师合同书
- 民主决策、民主管理、民主监督制度
- (甘肃一诊)2025年甘肃省高三月考试卷(3月)历史试卷(含答案)
- 电缆头制作安装安全措施
- 《助人技术:探索、领悟、行动三阶段模式》札记
- 2023广西桂林市桂林市七星区专职化社区工作者招聘聘前(第五批)笔试历年典型考题及考点剖析附答案带详解
- 水产动物育种学智慧树知到期末考试答案章节答案2024年上海海洋大学
- 儿科学第九版新生儿黄疸课件
- 成人气管切开拔管中国专家共识解读
评论
0/150
提交评论