MQ3酒精传感器设计原理图与其程序.docx
《MQ3酒精传感器设计原理图与其程序.docx》由会员分享,可在线阅读,更多相关《MQ3酒精传感器设计原理图与其程序.docx(25页珍藏版)》请在冰豆网上搜索。
MQ3酒精传感器设计原理图与其程序
MQ-3酒精传感器模块使用说明书
简要说明:
一、尺寸:
32mmX22mmX27mm长X宽X高
二、主要芯片:
LM393、ZYMQ-3气体传感器
三、工作电压:
直流5伏
四、特点:
1、拥有信号输出指示。
2、双路信号输出〔模拟量输出及TTL电平输出〕
3、TTL输出有效信号为低电平。
〔当输出低电平时信号灯亮,可直接接单片机〕
4、模拟量输出0~5V电压,浓度越高电压越高。
5、对乙醇蒸汽拥有很高的矫捷度和优异的选择性。
6、拥有长远的使用寿命和可靠的牢固性
7、快速的响应恢复特点
五、应用:
用于灵巧车驾驶人员及其他严禁酒后作业人员的现场检测,也用于其他场所乙醇蒸汽的检测
【注明说明】
【原理图】
【测试方式】
1、传感器先预热20秒左右。
2、将传感器放在无被测气体的地方,顺时针调治电位器,调治到指示灯亮,尔后逆时针转
半圈,调到指示灯不亮,尔后凑近被测气体,指示灯亮,走开被测气体,指示灯熄灭,就证明传感器是好的!
【测试程序】
实现功能:
1、当测量浓度大于设定浓度时,单片机IO口输出低电平
/********************************************************************
汇诚科技
实现功能:
此版配套测试程序
使用芯片:
AT89S52
晶振:
波特率:
9600
编译环境:
Keil
zhangxinchunleo
【声明】此程序仅用于学习与参照,引用请注明版权和作者信息!
*********************************************************************/
/********************************************************************
说明:
1、当测量浓度大于设定浓度时,单片机
IO
口输出低电平
*********************************************************************/
#include//#defineucharunsignedchar//#defineuintunsignedint//
库文件
宏定义无符号字符型
宏定义无符号整型
/********************************************************************
I/O
定义
*********************************************************************/
sbitLED=P1^0;sbitDOUT=P2^0;//
//定义单片机定义单片机
P1口的第
P2口的第
1位〔即
1位〔即
P1.0〕为指示端
P2.0〕为传感器的输入端
/********************************************************************
延时函数
*********************************************************************/
voiddelay()//延时程序
{
ucharm,n,s;
for(m=20;m>0;m--)
for(n=20;n>0;n--)
for(s=248;s>0;s--);
}
/********************************************************************
主函数
*********************************************************************/
voidmain()
{
while
(1)//无量循环
{
LED=1;//熄灭口灯
if(DOUT==0)//当浓度高于设定值时,执行条件函数
{
delay();//延时抗搅乱
if(DOUT==0)//确定浓度高于设定值时,执行条件函数
{
LED=0;
//
点亮
口灯
}
}
}
}
/********************************************************************
结束
*********************************************************************/
【测试程序】
*********************************************************************/
#include
//
头文件
#defineucharunsignedchar//
宏定义无符号字符型
#defineuintunsigned
int
//
宏定义无符号整型
codeuchar
seg7code[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//
显示段码
数码管字跟
ucharwei[4]={0XEf,0XDf,0XBf,0X7f};
//
位的控制端
//
位控制码
sbitST=P3^0;
//A/D
启动变换信号
sbitOE=P3^1;
//
数据输出赞同信号
sbitEOC=P3^2;
//A/D
变换结束信号
sbitCLK=P3^3;
//
时钟脉冲
uintz,x,c,v,AD0809,date;
//
定义数据种类
/******************************************************************
延时函数
******************************************************************/
voiddelay(uchart)
{
uchari,j;
for(i=0;i{
for(j=13;j>0;j--);
{;
}
}
}
/**********************************************************************
数码管动向扫描
*********************************************************************/
voidxianshi()//
显示函数
{
uintz,x,c,v;
z=date/1000;
//
求千位
x=date%1000/100;
//
求百位
c=date%100/10;
//
求十位
v=date%10;
//
求个位
P2=0XFF;
P0=seg7code[z]&0x7f;
P2=wei[0];
delay(80);
P2=0XFF;
P0=seg7code[x];
P2=wei[1];
delay(80);
P2=0XFF;
P0=seg7code[c];
P2=wei[2];
delay(80);
P2=0XFF;
P0=seg7code[v];
P2=wei[3];
delay(80);
P2=0XFF;
}
/*************************************************************************
CLK振荡信号
**************************************************************************/
voidtimer0()interrupt1//
准时器
0工作方式1
{
TH0=(65536-2)/256;
//
重装计数初值
TL0=(65536-2)%256;
//
重装计数初值
CLK=!
CLK;
//取反
}
/*************************************************************************
主函数
**************************************************************************/
voidmain()
{
TMOD=0X01;
//
准时器中断0
CLK=0;
//
脉冲信号初始值为0
TH0=(65536-2)/256;
//
准时时间高八位初值
TL0=(65536-2)%256;
//
准时时间低八位初值
EA=1;
//
开CPU中断
ET0=1;
//
开T/C0中断
TR0=1;
while
(1)
//
无量循环
{
ST=0;
//使采集信号为低
ST=1;
//开始数据变换
ST=0;
//停止数据变换
while(!
EOC);
//等待数据变换达成
OE=1;
//赞同数据输出信号
AD0809=P1;
//读取数据
OE=0;
//关闭数据输出赞同信号
if(AD0809>=251)
//电压显示不能够高出5V
AD0809=250;
date=AD0809*20;
//数码管显示的数据值,其中
20为采集数据的毫安值
xianshi();
//数码管显示函数
}
}
【ADC0809资料】
ADC0809中文资料
1.主要特点
1〕8路8位A/D变换器,即分辨率
8位。
2〕拥有变换起停控制端。
3〕变换时间为100μs
4〕单个+5V电源供电
5〕模拟输入电压范围0~+5V,不
需零点和满刻度校准。
6〕工作温度范围为-40~+85摄氏度
7〕低功耗,约15mW。
2.内部结构
ADC0809是CMOS单片型逐次逼近式
A/D变换器,内部结构如图13.22
所示,它由8路模拟开关、地址锁存与译码器、比较器、
8位开关树型D/A变换器、逐次
逼近
ADC0809内部结构框图
存放器、三态输出锁存器等其他一些电路组成。
因此,
ADC0809可办理8路模拟量输入,且有三态输出能力,既可与各种微办理器相连,也可单独
工作。
输入输出与
TTL兼容。
3.外面特点〔引脚功能〕
ADC0809芯片有28条引脚,采用双列直插式封装,下面说
明各引脚功能。
IN0~IN7:
8路模拟量输入端。
2-1~2-8:
8位数字量输出端。
ADDA、ADDB、ADDC:
3位地址输入线,用于选通8路模拟输入中的一路。
ALE:
地址锁存赞同信号,输入,高电平有效。
START:
A/D变换启动信号,输入,高电平有效。
EOC:
A/D变换结束信号,输出,当A/D变换结束时,此端输出一个高电平〔变换期
间素来为低电平〕OE:
数据输出赞同信号,输入,高电平有效。
当A/D变换结束时,此端输入一个高电平,才能翻开输出三态门,输出数字量。
CLK:
时钟脉冲输入端。
要求时钟频率不高于640KHZ。
REF〔+〕、REF〔-〕:
基准电压。
Vcc:
电源,单一+5V。
GND:
地。
ADC0809的工作过程是:
第一输入3位地址,并使ALE=1,将地址存入地址锁存器中。
此地
址经译码选通8路模拟输入之一到比较器。
START上升沿将逐次逼近存放器复位。
下降沿启
动A/D变换,此后EOC输出信号变低,指示变换正在进行。
直到A/D变换达成,EOC变为
高电平,指示A/D变换结束,结果数据已存入锁存器,这个信号可用作中断申请。
当OE
输入高电平时,输出三态门翻开,变换结果的数字量输出到数据总线上。
【图片显现】