一.系统概述
系统内使用MQ-4进行酒精浓度检测,通过显示屏实时显示酒精浓度,使用按键可以对酒精浓度阈值进行设定,当检测到酒精浓度超过设定阈值就会控制报警。
二.仿真概述
- LCD1602上显示酒精浓度和设置的阈值,此时的酒精浓度小于设定的阈值并不会报警
- 此时的酒精浓度等于设定的阈值就开始报警,可以通过按键对设定的阈值进行调节
三.程序设计
#include <stm32f10x.h>
#include <Lcd1602.h>
#include <Led.h>
#include <Ds18b20.h>
#include <Beep.h>
#include <Relay.h>
#include <key.h>
#include "PCF8591.h"
int main(void)
{
u8 AC,ACmax = 50;
Key_Init();
Lcd1602_Init();
Beep_Init();//PA13
PCF8591_Init();
Lcd1602_Write_String(0x80,6,(u8*)"AC :");
Lcd1602_Write_String(0xc0,6,(u8*)"ACmax:");
Lcd1602_Write_String(0x89,6,(u8*)"mg/ml");
Lcd1602_Write_String(0xc9,6,(u8*)"mg/ml");
while(1)
{
AC =PCF8591_ADC_Input(0x90,1);
Lcd1602_Write_Num8(0x87,AC);
Lcd1602_Write_Num8(0xc7,ACmax);
if(AC>=ACmax)
{
Beep_1;delay_ms(100);
Beep_0;delay_ms(100);
}
else
{
Beep_0;
}
if(Key0==0)
{
ACmax++;
}
if(Key1==0)
{
ACmax--;
}
}
}
24-32f-29