一. 系统概述
本系统采用STM32单片机作为主控制器,通过MQ-2(模拟)烟雾传感器进行烟雾浓度的检测。烟雾浓度和设定的阈值会在数码管上进行实时显示。用户可以通过按键设定烟雾浓度的阈值,一旦检测到的浓度超过此阈值,系统将发出报警提示。
二. 仿真概述
- 本系统会实时进行烟雾浓度的检测与显示,用户可以通过滑动变阻器调整烟雾浓度,并通过按键进行阈值的设定。
- 在烟雾浓度超出设定阈值时,系统会立即发出报警提醒,确保用户能够及时获知情况。
三.程序设计
#include "stm32f10x.h"
#include "Delay.h"
#include "OLED.h"
#include "EXTERN-Key.h"
#include "LED.h"
#include "seg.h"
#include "AD.h"
uint8_t shu;
uint8_t flag;
uint8_t limitshu;
int main(void)
{
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
Externkey_Init();
LED_Init();
systick_init(72);//延时函数系统时钟初始化函数 72M
seg_init();//数码管初始化函数
AD_Init();
while (1)
{
shu = (float)AD_GetValue()/4095*100;
if(flag == 1)
{
seg_display(limitshu);
}
else if(flag == 0)
{
seg_display((int)shu);
if(shu>=limitshu)
{
GPIO_ResetBits(GPIOC, GPIO_Pin_0);
}
else
GPIO_SetBits(GPIOC, GPIO_Pin_0);
}
}
}
24-32f-56