




付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第第页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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国汽车用铅酸蓄电池行业市场运营现状及投资规划研究建议报告
- 信息技术-通信行业行业深度报告:太空算力:打破传统地天观重构天基智能版图
- 健康牙齿课件
- 2025年高等教育数字化研究分析报告
- 营销管理部内部管理办法
- 蔡甸区湿地公园管理办法
- 蚌埠市街区经营管理办法
- 证监会融资融券管理办法
- 衢江区土地整治管理办法
- 规划及计划管理暂行办法
- MOOC 高等数学先修课-西南财经大学 中国大学慕课答案
- GB/T 29319-2024光伏发电系统接入配电网技术规定
- 运行人员电气培训课件
- 2024陕西延长石油集团矿业公司所属单位社会招聘笔试参考题库附带答案详解
- 直流微电网下垂控制技术研究综述
- 2024年高考数学复习备考策略讲座
- 髓母细胞瘤护理课件
- 《责任制整体护理》培训课件
- 针灸治疗脾胃病
- 膨胀剂检测报告
- 2023中智集团总部及下属企业公开招聘4人上岸笔试历年难、易错点考题附带参考答案与详解
评论
0/150
提交评论