付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第第页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-2030中国线性α-烯烃行业供需现状及投资可行性专项调研研究报告
- 2026年首都医科大学国家医疗保障研究院人员招聘备考题库完整参考答案详解
- 机关干部职工培训课件
- 2025至2030中国汽车零部件产业发展现状及未来趋势研究报告
- 2025至2030中国光伏发电产业链成本效益与政策导向深度分析报告
- 老年人住院护理中的患者安全
- 2026年武汉市公安局蔡甸区分局招聘警务辅助人员43人备考题库带答案详解
- 2026年长沙市天心区教育局白沙幼教丽发新城幼儿园教职工招聘备考题库完整参考答案详解
- 2026年西昌市黄联关镇人民政府公开招聘9名综合应急救援队伍人员备考题库及答案详解1套
- 2025年安全生产事故年度综合分析报告
- 2026年1月福建厦门市集美区后溪镇卫生院补充编外人员招聘16人考试参考试题及答案解析
- 2026年腹腔镜缝合技术培训
- 2026年广西贵港市华盛集团新桥农工商有限责任公司招聘备考题库及一套答案详解
- 地铁安检施工方案(3篇)
- 小学生寒假心理健康安全教育
- 汽机专业安全培训课件
- 2026高考蓝皮书高考关键能力培养与应用1.批判性与创造性思维能力的基础知识
- 多学科团队(MDT)中的医患沟通协同策略
- 期末复习知识点清单新教材统编版道德与法治七年级上册
- 账务清理合同(标准版)
评论
0/150
提交评论