| 
 | 
 
路线栈欢迎您!
您需要 登录 才可以下载或查看,没有帐号?立即注册 
 
 
 
x
 
STM32芯片DTH11 PROTEUS仿真带℃报警 
 
温度40度自动报警,平均40度以上。 
原理图(proteus仿真工程文件可到本帖附件中下载) 
 
 
 
 
 
 
- #include “stm32f10x.h”
 
 - #include "LQ12864.h"
 
 - #包括“adc.h”
 
 - #include "dth11.h"
 
  
- 无效 main_delay(u32 毫秒)
 
 - {
 
 -         整数 i, j;
 
 -         for(i = 0; i < ms; i++)
 
 -         {
 
 -                 对于(j = 0;j < 1000;j++)
 
 -                 {
 
 -                         ;
 
 -                 }
 
 -         }
 
 - }
 
  
- 无效 GPIO_配置(无效)
 
 - {
 
 -   GPIO_InitTypeDef GPIO_InitStructure;
 
 -         
 
 -         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOD|RCC_APB2Periph_GPIOC,启用);
 
 -         
 
 -         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8; //LED0-->PA.8 ????
 
 -         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //????
 
 -         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//IO ???? 50MHz
 
 -         GPIO_Init(GPIOA, &GPIO_InitStructure); //????????? GPIOA.8
 
 -         
 
 -         GPIO_SetBits(GPIOA,GPIO_Pin_8); //PA.8 ???
 
 - }
 
 - 诠释主要(无效)
 
 - {         
 
  
-         u8 温度 = 0,嗡嗡声 = 0;
 
 -         无符号字符 buf[100] = { 0 };
 
 - // delay_init() ;
 
 -         LCD_Init() ;         
 
 -         Adc_Init();
 
 -         DHT11_Init();
 
 - GPIO_配置();
 
 -         而(1)
 
 -         {
 
 -                 DHT11_Read_Data(&temp, &hum);
 
 -                 sprintf(buf,“温度:%d 嗡嗡声:%d”,温度,嗡嗡声);
 
 -                 LCD_P6x8Str(2, 3, buf);
 
 -   如果(温度> 40)
 
 -         {
 
 -                     GPIO_ResetBits(GPIOA, GPIO_Pin_8);
 
 -                  延迟(2000);
 
 -                 延迟(2000);
 
  
-         }
 
 -         别的
 
 -         { GPIO_SetBits(GPIOA, GPIO_Pin_8);
 
 -         延迟(200);
 
 -         }
 
 -                 }
 
 -         }
 
 
  复制代码 
 
 |   
 
 
 
 |