Get清风MQ3酒精传感器设计原理图与其程序.docx

上传人:b****4 文档编号:4133858 上传时间:2023-05-06 格式:DOCX 页数:14 大小:1.60MB
下载 相关 举报
Get清风MQ3酒精传感器设计原理图与其程序.docx_第1页
第1页 / 共14页
Get清风MQ3酒精传感器设计原理图与其程序.docx_第2页
第2页 / 共14页
Get清风MQ3酒精传感器设计原理图与其程序.docx_第3页
第3页 / 共14页
Get清风MQ3酒精传感器设计原理图与其程序.docx_第4页
第4页 / 共14页
Get清风MQ3酒精传感器设计原理图与其程序.docx_第5页
第5页 / 共14页
Get清风MQ3酒精传感器设计原理图与其程序.docx_第6页
第6页 / 共14页
Get清风MQ3酒精传感器设计原理图与其程序.docx_第7页
第7页 / 共14页
Get清风MQ3酒精传感器设计原理图与其程序.docx_第8页
第8页 / 共14页
Get清风MQ3酒精传感器设计原理图与其程序.docx_第9页
第9页 / 共14页
Get清风MQ3酒精传感器设计原理图与其程序.docx_第10页
第10页 / 共14页
Get清风MQ3酒精传感器设计原理图与其程序.docx_第11页
第11页 / 共14页
Get清风MQ3酒精传感器设计原理图与其程序.docx_第12页
第12页 / 共14页
Get清风MQ3酒精传感器设计原理图与其程序.docx_第13页
第13页 / 共14页
Get清风MQ3酒精传感器设计原理图与其程序.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

Get清风MQ3酒精传感器设计原理图与其程序.docx

《Get清风MQ3酒精传感器设计原理图与其程序.docx》由会员分享,可在线阅读,更多相关《Get清风MQ3酒精传感器设计原理图与其程序.docx(14页珍藏版)》请在冰点文库上搜索。

Get清风MQ3酒精传感器设计原理图与其程序.docx

Get清风MQ3酒精传感器设计原理图与其程序

MQ-3酒精传感器设计原理图与其程序

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;//定义单片机P1口的第1位〔即P1.0〕为指示端

sbitDOUT=P2^0;//定义单片机P2口的第1位〔即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//宏定义无符号字符型

#defineuintunsignedint//宏定义无符号整型

codeucharseg7code[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输入高电平时,输出三态门翻开,转换结果的数字量输出到数据总线上。

【图片展示】

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2