首页 > 分享 > 基于STM32单片机的光强温湿度检测proteus仿真

基于STM32单片机的光强温湿度检测proteus仿真

Question-7 已于 2023-10-22 14:36:04 修改

于 2021-05-21 18:25:51 首次发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

硬件设计

链接:https://pan.baidu.com/s/1adijnDk8O81Jwgwz2uKf2Q
提取码:q3dp

仿真图如下所示:
在这里插入图片描述

程序设计

#include "stm32f4xx.h" #include "PMW.h" #include "sys.h" #include "delay.h" #include "ADC.h" #include "beep.h" #include <stdio.h> #include "key.h" #include "tim.h" #include "dht11.h" #include "seg.h" #include "usart.h" #include "lcd.h" //*********************************************************************************************************// //*********************************************************************************************************// uint32_t s=50; extern uint8_t dht11_data[5]; extern int seg2; extern u8 num_select[];//={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; int light_value; int light_mv; int light_value1; int light_mv1; char wendu[] = "Temperature:"; char shidu[] = "Humidity:"; //*********************************************************************************************************// //*********************************************************************************************************// int fputc(int ch,FILE *f) {USART_SendData(USART1,ch);while(USART_GetFlagStatus( USART1,USART_FLAG_TXE )== RESET);return ch; } void TIM2_IRQHandler(void) {uint8_t wen[2]={0,0};uint8_t shi[2]={0,0};int ret;//检查中断是否真的被触发if(TIM_GetITStatus(TIM2, TIM_IT_Update)== SET)//执行功能{Delay_ms(1);ret= dht11_readdata();shi[0]=(dht11_data[0]/10)+0x30;shi[1]=(dht11_data[0]%10)+0x30;wen[0]=(dht11_data[2]/10)+0x30;wen[1]=(dht11_data[2]%10)+0x30;if(dht11_data[2]<10||dht11_data[2]>30||dht11_data[0]>80||dht11_data[0]<30){beep_open();}else{beep_close();}if(ret== -1){printf("出大错!rn");beep_open();}else{printf("湿度:%d.%d 温度:%d.%drn",dht11_data[0],dht11_data[1],dht11_data[2],dht11_data[3]);LCD1602_Show_Str(12,0,(char*)wen);LCD1602_Show_Str(10,2,(char*)shi);} //ADC_SoftwareStartConv(ADC1); //// //while(ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC)== RESET); //// //light_value= ADC_GetConversionValue(ADC1); // // //printf("light_value=%drn",light_value); // // // light_mv=light_value*3300/4096; //mW // // printf("light_mv=%dmvrn",light_mv); ////TIM_SetCompare1(TIM4,light_mv/80);}//清楚中断标志TIM_ClearITPendingBit(TIM2,TIM_IT_Update); } void EXTI0_IRQHandler(void) //按键1 { if(EXTI_GetITStatus(EXTI_Line0) != RESET)//功能 { /* Toggle LED1 */s+=10; /* Clear the EXTI line 0 pending bit */ EXTI_ClearITPendingBit(EXTI_Line0); } } void EXTI1_IRQHandler(void) //按键2 { if(EXTI_GetITStatus(EXTI_Line1) != RESET) //功能 { /* Toggle LED1 */s-=10; /* Clear the EXTI line 0 pending bit */ EXTI_ClearITPendingBit(EXTI_Line1); } } void EXTI2_IRQHandler(void) //按键3 { if(EXTI_GetITStatus(EXTI_Line2) != RESET) { EXTI_ClearITPendingBit(EXTI_Line2); } }

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124

.

.

相关知识

基于stm32单片机智能浇花自动灌溉控制系统Proteus仿真和程序源码全套资料
stm32单片机室内环境温湿度光照强度检测系统
基于STM32的土壤湿度检测自动浇水系统proteus仿真设计(仿真+程序+设计报告+讲解视频)
基于51单片机智能大棚温湿度控制系统
基于STM32单片机远程浇花花盆GSM短信浇水补光灌溉系统
基于STM32的多点温湿度无线传输检测及控制(基于单片机的蔬菜大棚温湿度智能控制系统)
基于STM32单片机光照检测控制系统
基于51单片机教室灯光全自动控制设计( proteus仿真+程序+设计报告+原理图+讲解视频)
探索智能环境监测:基于STM32的温湿度与光照检测系统
基于STM32单片机的温室环境监测系统设计.pdf

网址: 基于STM32单片机的光强温湿度检测proteus仿真 https://m.huajiangbk.com/newsview1515682.html

所属分类:花卉
上一篇: 【STM32学习】(28)STM
下一篇: 客厅放什么植物好?这几种植物,招