MQ-4甲烷、天然气传感器模块使用说明书简要说明:一、 尺寸:32mm X22mm X27mm 长X宽X高二、 主要芯片:LM393、ZYMQ-4气体传感器三、 工作电压:直流5伏四、 特点:1、具有信号输出指示2、双路信号输出(模拟量输出及TTL电平输出)3、TTL输出有效信号为低电平当输出低电平时信号灯亮,可直接接单片机) 4、模拟量输出0~5V电压,浓度越高电压越高5、对甲烷气体,天然气有较好的灵敏度6、具有长期的使用寿命和可靠的稳定性7、快速的响应恢复特性五、应用:适用于家庭或工厂的甲烷气体,天然气等监测装置标注说明】【原理图】【测试方式】1、传感器先预热20秒左右2、将传感器放在无被测气体的地方,顺时针调节电位器,调节到指示灯亮,然后逆时针转半圈,调到指示灯不亮,然后接近被测气体,指示灯亮,离开被测气体,指示灯熄灭,就证明传感器是好的!【测试程序】实现功能:1、 当测量浓度大于设定浓度时,单片机IO口输出低电平/******************************************************************** 实现功能:此版配套测试程序使用芯片:AT89S52晶振:11.0592MHZ波特率:9600编译环境:Keil作者:zhangxinchun淘宝店:汇诚科技【声明】此程序仅用于学习与参考,引用请注明版权和作者信息! *********************************************************************//********************************************************************说明:1、 当测量浓度大于设定浓度时,单片机IO口输出低电平*********************************************************************/#include //库文件#define uchar unsigned char//宏定义无符号字符型#define uint unsigned int //宏定义无符号整型/******************************************************************** I/O定义*********************************************************************/sbit LED=P1^0; //定义单片机P1口的第1位 (即P1.0)为指示端sbit DOUT=P2^0; //定义单片机P2口的第1位 (即P2.0)为传感器的输入端/******************************************************************** 延时函数*********************************************************************/void delay()//延时程序{uchar m,n,s;for(m=20;m>0;m--)for(n=20;n>0;n--)for(s=248;s>0;s--);}/******************************************************************** 主函数*********************************************************************/void main(){ while(1) //无限循环 { LED=1; //熄灭P1.0口灯 if(DOUT==0)//当浓度高于设定值时 ,执行条件函数 { delay();//延时抗干扰 if(DOUT==0)//确定 浓度高于设定值时 ,执行条件函数 { LED=0; //点亮P1.0口灯 } } }} /******************************************************************** 结束*********************************************************************/【测试程序】*********************************************************************/#include //头文件#define uchar unsigned char //宏定义无符号字符型#define uint unsigned int //宏定义无符号整型code uchar seg7code[10]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //显示段码 数码管字跟uchar wei[4]={0XEf,0XDf,0XBf,0X7f}; //位的控制端 //位控制码sbit ST=P3^0; //A/D启动转换信号sbit OE=P3^1; //数据输出允许信号sbit EOC=P3^2; //A/D转换结束信号sbit CLK=P3^3; //时钟脉冲 uint z,x,c,v,AD0809, date; //定义数据类型/******************************************************************延时函数******************************************************************/void delay(uchar t){ uchar i,j; for(i=0;i0;j--); { ; } }}/********************************************************************** 数码管动态扫描*********************************************************************/void xianshi() //显示函数 { uint z,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振荡信号 **************************************************************************/void timer0( ) interrupt 1 //定时器0工作方式1{TH0=(65536-2)/256; //重装计数初值TL0=(65536-2)%256; //重装计数初值CLK=!CLK; //取反} /************************************************************************* 主函数 **************************************************************************/ void main(){ TMOD=0X01; //定时器中断0CLK=0; //脉冲信号初始值为0TH0=(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.外部特性(引脚功能) ADC08。