|
路线栈欢迎您!
您需要 登录 才可以下载或查看,没有帐号?立即注册
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);
- }
- }
- }
复制代码
|
|