本产品采用单片机+最小系统+LCD1602液晶显示模块+MQ-3模块+ADC0832模块+蜂鸣器模块+LED指示灯模块+按键模块设计而成。
单片机型号:STC89C52/51、AT89C52/51、AT89S52/51可任选,默认发STC系列单片机,需要其他型号拍时可留言或和客服联系。
- 1.采用MQ-3酒精传感器采集酒精浓度,AD0832模数转换芯片将MQ-3酒精传感器采集到的的电压信号转换成数字信号给单片机。
- 2.采用LCD1602液晶屏显示当前酒精浓度值和报警值。可以按键设置报警值。
- 3.四个按键设置、加、减,单独的是复位按键。
- 4.当酒精浓度没有超过设置的阀值时,绿灯闪亮,当酒精浓度超过上限值时,红灯闪烁同时蜂鸣器报警。
- 5.可以加继电器报警的同时继电器吸合,模拟智能汽车防酒驾检测器,切断发动机。继电器也可以加风扇模拟酒精仓库酒精泄露,浓度过高时及时启动换气,防止火灾的发生。
【资源下载】下载地址如下(862):https://docs.qq.com/doc/DTlRSd01BZXNpRUxl
//程序头函数
#include <reg52.h>
#include <intrins.h> //包含头文件
//显示函数
#include <display.h>
#include "eeprom52.h"
//宏定义
#define uint unsigned int
#define uchar unsigned char
//管脚声明
sbit LED_R= P2^2; //红色指示灯
sbit LED_G= P2^0; //绿色指示灯
sbit FENG = P2^5; //蜂鸣器
sbit CS = P1^4;
sbit Clk = P1^2;
sbit DATI = P1^3;
sbit DATO = P1^3; //ADC0832引脚
//按键
sbit Key1=P2^6;
sbit Key2=P2^7;
sbit Key3=P3^7;
/*******************************定义全局变量********************************/
unsigned char dat = 0; //AD值
unsigned char CH=0; //通道变量
unsigned int sum=0; //平均值计算时的总数
unsigned char m=0;
bit bdata flag; //定义位变量
uchar set; //设置变量
//函数声明
extern void Key();
/*
void delay(uint z)
{
uint i,j;
for(i=0;i<z;i++)
for(j=0;j<121;j++);
}
*/
//酒精含量变量
uchar temp=0;
//指示灯变量
uchar WARNING=25; //报警值变量
/******************把数据保存到单片机内部eeprom中******************/
void write_eeprom()
{
SectorErase(0x2000);
byte_write(0x2000, WARNING);