MQ系列气体传感器模块原理图
- 格式:pdf
- 大小:142.05 KB
- 文档页数:1
MQ-2烟雾传感器模块使用说明书简要说明:一、尺寸:32mm X22mm X27mm 长X宽X高二、主要芯片:LM393、ZYMQ-2气体传感器三、工作电压:直流5伏四、特点:1、具有信号输出指示。
2、双路信号输出(模拟量输出及TTL电平输出)3、TTL输出有效信号为低电平。
(当输出低电平时信号灯亮,可直接接单片机)4、模拟量输出0~5V电压,浓度越高电压越高。
5、对液化气,天然气,城市煤气有较好的灵敏度。
6、具有长期的使用寿命和可靠的稳定性7、快速的响应恢复特性五、应用:适用于家庭或工厂的气体泄漏监测装置,适宜于液化气、丁烷、丙烷、甲烷、酒精、氢气、烟雾等监测装置。
【标注说明】【原理图】【测试方式】1、传感器先预热20秒左右。
2、将传感器放在无被测气体的地方,顺时针调节电位器,调节到指示灯亮,然后逆时针转半圈,调到指示灯不亮,然后接近被测气体,指示灯亮,离开被测气体,指示灯熄灭,就证明传感器是好的!【测试程序】实现功能:1、当测量浓度大于设定浓度时,单片机IO口输出低电平/********************************************************************汇诚科技实现功能:此版配套测试程序使用芯片:AT89S52晶振:11.0592MHZ波特率:9600编译环境:Keil作者:zhangxinchunleo【声明】此程序仅用于学习与参考,引用请注明版权和作者信息!*********************************************************************//********************************************************************说明:1、当测量浓度大于设定浓度时,单片机IO口输出低电平*********************************************************************/#include<reg52.h> //库文件#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 <reg52.h> //头文件#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;i<t;i++){for(j=13;j>0;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) //电压显示不能超过5VAD0809=250;date=AD0809*20; //数码管显示的数据值,其中20为采集数据的毫安值xianshi(); //数码管显示函数}}【ADC0809资料】ADC0809中文资料1.主要特性1)8路8位A/D转换器,即分辨率8位。
m q-7传感器详细的内容MQ-7 一氧化碳气体检测用半导体气敏元件MQ-7气体传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO2)。
采用高低温循环检测方式低温(1.5V加热)检测一氧化碳,传感器的电导率随空气中一氧化碳气体浓度增加而增大,高温(5.0V加热)清洗低温时吸附的杂散气体。
使用简单的电路即可将电导率的变化,转换为与该气体浓度相对应的输出信号。
MQ-7气体传感器对一氧化碳的灵敏度高,这种传感器可检测多种含一氧化碳的气体,是一款适合多种应用的低成本传感器。
特点元件外形结构*对一氧化碳气体有良好的灵敏度*长寿命、低成本*简单的驱动电路即可应用*家庭用气体泄漏报警器*工业用一氧化碳气体报警器*便携式气体检测器技术指标产品型号MQ-7产品类型半导体气敏元件标准封装塑封检测气体一氧化碳检测浓度10-1000ppmCO标准电路条件回路电压V c≤10V DC加热电压V H5.0V±0.2V ACorDC(高)1.5V±0.1V ACorDC(低)加热时间T L60±1S(高)90±1S(低)负载电阻R L 可调标准测试加热电阻R H 31Ω±3Ω(室温)加热功耗P H ≤350mW基本测试回路上图是传感器的基本测试电路。
该传感器需要施加2个电 压:加热器电压(V H )和测试电压(V C )。
其中 V H 用于为传 感器提供特定的工作温度。
V C 则是用于测定与传感器串联 的负载电阻(R L )上的电压(V RL )。
这种传感器具有轻微的 极性, V C 需用直流电源。
在满足传感器电性能要求的前提 下,V C 和V H 可以共用同一个电源电路。
为更好利用传感器的 性能,需要选择恰当的RL 值。
敏感体功耗(Ps )值可用计算下式:Ps=Vc 2×Rs/(Rs+R L )2传感器电阻(Rs ),可用下式计算: Rs=(Vc/V RL -1)×R L条件下元件特性 敏感体表面电阻 R s 2K Ω-20K Ω(in100ppmCO) 灵敏度 SRs(in air)/Rs(100ppmCO)≥5浓度斜率α≤0.6(R 300ppm /R 100ppm CO) 标准测试条件温度、湿度20℃±2℃;65%±5%RH 标准测试电路 Vc:5.0V±0.1V ; V H (高): 5.0V±0.1V ; V H (低):1.5V±0.1V 预热时间不少于48小时VcV H GN DR LV RL灵敏度特性 温/湿度的影响图1是传感器典型的灵敏度特性曲线。
MQ-2烟雾传感器模块使用说明书简要说明:一、尺寸:32mm X22mm X27mm 长X宽X高二、主要芯片:LM393、ZYMQ-2气体传感器三、工作电压:直流5伏四、特点:1、具有信号输出指示。
2、双路信号输出(模拟量输出及TTL电平输出)3、TTL输出有效信号为低电平。
(当输出低电平时信号灯亮,可直接接单片机)4、模拟量输出0~5V电压,浓度越高电压越高。
5、对液化气,天然气,城市煤气有较好的灵敏度。
6、具有长期的使用寿命和可靠的稳定性7、快速的响应恢复特性五、应用:适用于家庭或工厂的气体泄漏监测装置,适宜于液化气、丁烷、丙烷、甲烷、酒精、氢气、烟雾等监测装置。
【标注说明】【原理图】【测试方式】1、传感器先预热20秒左右。
2、将传感器放在无被测气体的地方,顺时针调节电位器,调节到指示灯亮,然后逆时针转半圈,调到指示灯不亮,然后接近被测气体,指示灯亮,离开被测气体,指示灯熄灭,就证明传感器是好的!【测试程序】实现功能:1、当测量浓度大于设定浓度时,单片机IO口输出低电平/********************************************************************汇诚科技实现功能:此版配套测试程序使用芯片:AT89S52晶振:11.0592MHZ波特率:9600编译环境:Keil作者:zhangxinchunleo【声明】此程序仅用于学习与参考,引用请注明版权和作者信息!*********************************************************************//********************************************************************说明:1、当测量浓度大于设定浓度时,单片机IO口输出低电平*********************************************************************/#include<reg52.h> //库文件#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 <reg52.h> //头文件#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;i<t;i++){for(j=13;j>0;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) //电压显示不能超过5VAD0809=250;date=AD0809*20; //数码管显示的数据值,其中20为采集数据的毫安值xianshi(); //数码管显示函数}}【ADC0809资料】ADC0809中文资料1.主要特性1)8路8位A/D转换器,即分辨率8位。
MQ-7 一氧化碳气体检测用半导体气敏元件MQ-7气体传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO 2)。
采用高低温循环检测方式低温(1.5V 加热)检测一氧化碳,传感器的电导率随空气中一氧化碳气体浓度增加而增大,高温(5.0V 加热)清洗低温时吸附的杂散气体。
使用简单的电路即可将电导率的变化,转换为与该气体浓度相对应的输出信号。
MQ-7气体传感器对一氧化碳的灵敏度高,这种传感器可检测多种含一氧化碳的气体,是一款适合多种应用的低成本传感器。
特点 元件外形结构 *对一氧化碳气体有良好的灵敏度 *长寿命、低成本 *简单的驱动电路即可应用*家庭用气体泄漏报警器 *工业用一氧化碳气体报警器 *便携式气体检测器技术指标基本测试回路上图是传感器的基本测试电路。
该传感器需要施加2个电 压:加热器电压(V H )和测试电压(V C )。
其中 V H 用于为传 感器提供特定的工作温度。
V C 则是用于测定与传感器串联 的负载电阻(R L )上的电压(V RL )。
这种传感器具有轻微的 极性, V C 需用直流电源。
在满足传感器电性能要求的前提 下,V C 和V H 可以共用同一个电源电路。
为更好利用传感器的 性能,需要选择恰当的RL 值。
敏感体功耗(Ps )值可用计算下式:Ps=Vc 2×Rs/(Rs+R L )2产品型号 MQ-7产品类型 半导体气敏元件标准封装 塑封检测气体 一氧化碳检测浓度 10-1000ppmCO 标准电路条件回路电压 V c ≤10V DC加热电压 V H 5.0V±0.2V ACorDC (高) 1.5V ±0.1V ACorDC (低)加热时间 T L 60±1S (高)90±1S (低)负载电阻R L 可调标准测试条件下元件特性 加热电阻 R H 31Ω±3Ω(室温)加热功耗 P H ≤350mW敏感体表面电阻 R s 2K Ω-20K Ω(in100ppmCO) 灵敏度 S Rs(in air)/Rs(100ppmCO)≥5浓度斜率α≤0.6(R 300ppm /R 100ppm CO) 标准测试条件温度、湿度 20℃±2℃;65%±5%RH 标准测试电路 Vc:5.0V±0.1V ; V H (高): 5.0V±0.1V ; V H(低): 1.5V±0.1V 预热时间不少于48小时VcV HGNDR LV RL传感器电阻(Rs),可用下式计算: Rs=(Vc/V RL-1)×R LSO9001认证企业灵敏度特性 温/湿度的影响图1是传感器典型的灵敏度特性曲线。
MQ-3 酒精传感器模块使用说明书简要说明:一、尺寸: 32mm X22mm X27mm长X宽X高二、主要芯片: LM393 、ZYMQ-3 气体传感器三、工作电压:直流 5 伏四、特点:1、拥有信号输出指示。
2、双路信号输出〔模拟量输出及TTL 电平输出〕3、TTL 输出有效信号为低电平。
〔当输出低电平时信号灯亮,可直接接单片机〕4、模拟量输出 0~5V 电压,浓度越高电压越高。
5、对乙醇蒸汽拥有很高的矫捷度和优异的选择性。
6、拥有长远的使用寿命和可靠的牢固性7、快速的响应恢复特点五、应用:用于灵巧车驾驶人员及其他严禁酒后作业人员的现场检测,也用于其他场所乙醇蒸汽的检测【注明说明】【原理图】【测试方式】1、传感器先预热20 秒左右。
2、将传感器放在无被测气体的地方,顺时针调治电位器,调治到指示灯亮,尔后逆时针转半圈,调到指示灯不亮,尔后凑近被测气体,指示灯亮,走开被测气体,指示灯熄灭,就证明传感器是好的!【测试程序】实现功能:1、当测量浓度大于设定浓度时,单片机IO 口输出低电平/********************************************************************汇诚科技实现功能 : 此版配套测试程序使用芯片: AT89S52晶振:波特率: 9600编译环境: Keilzhangxinchunleo【声明】此程序仅用于学习与参照,引用请注明版权和作者信息!*********************************************************************//********************************************************************说明:1、当测量浓度大于设定浓度时,单片机IO口输出低电平*********************************************************************/#include<reg52.h> // #define uchar unsigned char// #define uint unsigned int //库文件宏定义无符号字符型宏定义无符号整型/********************************************************************I/O定义*********************************************************************/sbit LED=P1^0; sbit DOUT=P2^0; ////定义单片机定义单片机P1 口的第P2 口的第1位〔即1位〔即P1.0 〕为指示端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;//熄灭口灯if(DOUT==0)//当浓度高于设定值时,执行条件函数{delay();//延时抗搅乱if(DOUT==0)//确定浓度高于设定值时,执行条件函数{LED=0;//点亮口灯}}}}/********************************************************************结束*********************************************************************/【测试程序】*********************************************************************/#include <reg52.h>//头文件#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;i<t;i++){for(j=13;j>0;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)// 电压显示不能够高出 5VAD0809=250;date=AD0809*20;// 数码管显示的数据值,其中20 为采集数据的毫安值xianshi();// 数码管显示函数}}【A DC0809 资料】ADC0809中文资料1.主要特点1〕 8 路 8 位 A/ D 变换器,即分辨率8 位。
MQ-2烟雾传感器模块使用说明书简要说明:一、尺寸:32mm X22mm X27mm 长X 宽X 高二、主要芯片:LM393、ZYMQ-2气体传感器三、工作电压:直流5伏四、特点:1、具有信号输出指示。
2、双路信号输出(模拟量输出及TTL电平输出)3、TTL输出有效信号为低电平。
(当输出低电平时信号灯亮,可直接接单片机)4、模拟量输出0~5V电压,浓度越高电压越高。
5、对液化气,天然气,城市煤气有较好的灵敏度。
6具有长期的使用寿命和可靠的稳定性7、快速的响应恢复特性五、应用:适用于家庭或工厂的气体泄漏监测装置,适宜于液化气、丁烷、丙烷、甲烷、酒精、氢气、烟雾等监测装置。
【标注说明】D gF Eg cluizuuu IL Vinuu ■Z153J Y—接5V电源正极W—TTL高低电平输出端-<—接电源负极特点广泛的探碍范囤优异的穏定竹"#命怏高灵敏说/快速响应恢复简单的躺动电跻TTL输出灵敏度调节注意:电位器只针对,TTL输出灵敏度进行调节,顺时针调节灵敏度增高,逆时针调节,灵敏度降低.【原理图】技术参数应用町用于家庭和工厂的气体泄漏监测装胃+适宜于液化气、丁烷、丙烷、甲烷、洒弘氟气、烟ZYMQ-2气体传感器都件i—吒萍牧博层电槻巾:対器孑:尋网匕环丽针状曾弭材料二氧■>忽一金⑷}协5,说笊合蛊药忑7 三氧化二桔— W0目利§平锈堀J.SL-阳L&) 铐黒A榊宀卜丽謎木—德银啊材.\i-Cu)A.标准工作条件符号参数名称技术条件洛注Vc回器电压^15V AC or DC v(加藕电压5,OV±n.2 V AC or DC R:负载电期可调R JI加热电阻3] fi ±30室曲Pn f川煞功耗€900卅B.环境条汁符号鈔弊称技术条fl备注Tao便盾温度-IO'C-501CTas桔存Q-20r-70T:REl相对湿度小于95^RH02氟说度21 %(标准箫件)蛊%浓度發筋晌灵破度特性凰小怕大于2翱4ZYMQ-2T墩元件前箱崗和外璀划:图I听示(站礼1 mL白磁塑AL二伙陶瓷管、和①勧當层,抑憬电極和加热器构成的敏感元件周定在塑料或不锈钢制成的鹽体内■加热器先气敏元件提供了必養的工邮条Ito封馥好的气敏元什令为只针状時唧.英申4牛用F信号取虬2个用于提供加热电詆测量电路如图2听示.E.灵敏度特性曲线區3给出了ZYMQI型P玻元件的灵敏度持性「我中,洱璽,20^, 柑对湿歴2 65%.氧气蔽业:21%RL=3kftRi=元杵在不同气休,亭同娥度卜的电逍值.tUi元件在洁净空咒申韵电列值=【测试方式】1传感器先预热20秒左右。
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<reg52.h> //库文件#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 <reg52.h> //头文件#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;i<t;i++){for(j=13;j>0;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) //电压显示不能超过5VAD0809=250;date=AD0809*20; //数码管显示的数据值,其中20为采集数据的毫安值xianshi(); //数码管显示函数}}【ADC0809资料】ADC0809中文资料1.主要特性1)8路8位A/D转换器,即分辨率8位。
MQ-8 氢气传感器产品描述MQ-8气体传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO 2)。
当传感器所处环境中存在氢气时,传感器的电导率随空气中氢气浓度的增加而增大。
使用简单的电路即可将电导率的变化转换为与该气体浓度相对应的输出信号。
MQ-8气体传感器对氢气的灵敏度高,对其他含氢气体的监测也很理想。
这种传感器可检测多种含氢气体,特别是城市煤气,是一款适合多种应用的低成本传感器。
传感器特点在较宽的浓度范围内对氢气有良好的灵敏度。
长寿命、低成本。
简单的驱动电路即可。
主要应用广泛适用于家庭用气体泄漏报警器,工业用氢气报警器以及便携式气体检测器。
技术指标 传感器示意图Vc V HGNDR LV RL基本电路图 MQ-8测试电路说明:上图是传感器的基本测试电路。
该传感器需要施加2个电压:加热器电压(V H )和测试电压(V C )。
其中 V H 用于为传感器提供特定的工作温度。
V RL 是传感器串联的负载电阻(RL )上的电压。
V C 是为V RL 提供测试的电压,这种传感器具有轻微的极性,V C 需用直流电源。
在满足传感器电性能要求的前提下,V C 和V H 可以共用同一个电源电路。
传感器特性描述图1 传感器典型的灵敏度特性曲线 图2 传感器典型的温度、湿度特性曲线 图中纵坐标为传感器的电阻比(Rs/Ro ),横坐标为气体 图中纵坐标是传感器的电阻比(Rs/Ro )。
Rs 表示在含 浓度。
Rs 表示传感器在不同浓度气体中的电阻值,Ro 表示 1000ppm 氢气、不同温/湿度下传感器的电阻值。
Ro 值传感器在洁净空气中的电阻值。
图中所有测试都是在标 表示在1000ppm 氢气、20℃/55%RH 环境条件下传感器准试验条件下完成的。
的电阻。
注意事项1 必须避免的情况1.1 暴露于有机硅蒸汽中如果传感器的表面吸附了有机硅蒸汽,传感器的敏感材料会被包裹住,抑制传感器的敏感性,并且不可恢复。
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<reg52.h> //库文件#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 <reg52.h> //头文件#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;i<t;i++){for(j=13;j>0;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) //电压显示不能超过5VAD0809=250;date=AD0809*20; //数码管显示的数据值,其中20为采集数据的毫安值xianshi(); //数码管显示函数}}【ADC0809资料】ADC0809中文资料1.主要特性1)8路8位A/D转换器,即分辨率8位。
MQ-7 一氧化碳气体检测用半导体气敏元件MQ-7气体传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO 2)。
采用上下温循环检测方式低温〔1.5V 加热〕检测一氧化碳,传感器的电导率随空气中一氧化碳气体浓度增加而增大,高温〔5.0V 加热〕清洗低温时吸附的杂散气体。
使用简单的电路即可将电导率的变化,转换为与该气体浓度相对应的输出信号。
MQ-7气体传感器对一氧化碳的灵敏度高,这种传感器可检测多种含一氧化碳的气体,是一款适合多种应用的低本钱传感器。
特点元件外形构造*对一氧化碳气体有良好的灵敏度 *长寿命、低本钱 *简单的驱动电路即可 应用*家庭用气体泄漏报警器 *工业用一氧化碳气体报警器 *便携式气体检测器技术指标根本测试回路上图是传感器的根本测试电路。
该传感器需要施加2个电 压:加热器电压〔V H 〕和测试电压〔V C 〕。
其中 V H 用于为传 感器提供特定的工作温度。
V C 那么是用于测定与传感器串联 的负载电阻〔R L 〕上的电压〔V RL 〕。
这种传感器具有轻微的 极性, V C 需用直流电源。
在满足传感器电性能要求的前提 下,V C 和V H 可以共用同一个电源电路。
为更好利用传感器的 性能,需要选择恰当的RL 值。
敏感体功耗〔Ps 〕值可用计算下式:Ps=Vc 2×Rs/(Rs+R L )2传感器电阻〔Rs 〕,可用下式计算: Rs=(Vc/V RL -1)×R L产品型号 MQ-7 产品类型 半导体气敏元件标准封装 塑封 检测气体 一氧化碳 检测浓度 10-1000ppmCO 标准电路条件回路电压V c ≤10V DC加热电压 V H 5.0V±0.2V ACorDC 〔高〕 1.5V ±V ACorDC 〔低〕 加热时间 T L 60±1S 〔高〕90±1S 〔低〕负载电阻R L 可调标准测试条件下元件特性 加热电阻 R H 31Ω±3Ω〔室温〕加热功耗 P H ≤350mW敏感体外表电阻 R s 2K Ω-20K Ω(in100ppmCO) 灵敏度 S Rs(in air)/Rs(100ppmCO)≥5浓度斜率α≤(R 300ppm /R 100ppm CO) 标准测试条件温度、湿度 20℃±2℃;65%±5%RH 标准测试电路 Vc:5.0V ; V H 〔高〕: 5.0V ; V H〔低〕: V 预热时间不少于48小时VcV HGNDR LV RL灵敏度特性温/湿度的影响图1是传感器典型的灵敏度特性曲线。
MQ-8 氢气传感器产品描述MQ-8气体传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO 2)。
当传感器所处环境中存在氢气时,传感器的电导率随空气中氢气浓度的增加而增大。
使用简单的电路即可将电导率的变化转换为与该气体浓度相对应的输出信号。
MQ-8气体传感器对氢气的灵敏度高,对其他含氢气体的监测也很理想。
这种传感器可检测多种含氢气体,特别是城市煤气,是一款适合多种应用的低成本传感器。
传感器特点在较宽的浓度范围内对氢气有良好的灵敏度。
长寿命、低成本。
简单的驱动电路即可。
主要应用广泛适用于家庭用气体泄漏报警器,工业用氢气报警器以及便携式气体检测器。
技术指标 传感器示意图Vc V HGNDR LV RL基本电路图 MQ-8测试电路说明:上图是传感器的基本测试电路。
该传感器需要施加2个电压:加热器电压(V H )和测试电压(V C )。
其中 V H 用于为传感器提供特定的工作温度。
V RL 是传感器串联的负载电阻(RL )上的电压。
V C 是为V RL 提供测试的电压,这种传感器具有轻微的极性,V C 需用直流电源。
在满足传感器电性能要求的前提下,V C 和V H 可以共用同一个电源电路。
传感器特性描述图1 传感器典型的灵敏度特性曲线 图2 传感器典型的温度、湿度特性曲线 图中纵坐标为传感器的电阻比(Rs/Ro ),横坐标为气体 图中纵坐标是传感器的电阻比(Rs/Ro )。
Rs 表示在含 浓度。
Rs 表示传感器在不同浓度气体中的电阻值,Ro 表示 1000ppm 氢气、不同温/湿度下传感器的电阻值。
Ro 值传感器在洁净空气中的电阻值。
图中所有测试都是在标 表示在1000ppm 氢气、20℃/55%RH 环境条件下传感器准试验条件下完成的。
的电阻。
注意事项1 必须避免的情况1.1 暴露于有机硅蒸汽中如果传感器的表面吸附了有机硅蒸汽,传感器的敏感材料会被包裹住,抑制传感器的敏感性,并且不可恢复。
MQ-2烟雾传感器模块使用说明书简要说明:一、尺寸:32mm X22mm X27mm 长X宽X高二、主要芯片:LM393、ZYMQ-2气体传感器三、工作电压:直流5伏四、特点:1、具有信号输出指示。
2、双路信号输出(模拟量输出及TTL电平输出)3、TTL输出有效信号为低电平。
(当输出低电平时信号灯亮,可直接接单片机)4、模拟量输出0~5V电压,浓度越高电压越高。
5、对液化气,天然气,城市煤气有较好的灵敏度。
6、具有长期的使用寿命和可靠的稳定性7、快速的响应恢复特性五、应用:适用于家庭或工厂的气体泄漏监测装置,适宜于液化气、丁烷、丙烷、甲烷、酒精、氢气、烟雾等监测装置。
【标注说明】【原理图】【测试方式】1、传感器先预热20秒左右。
2、将传感器放在无被测气体的地方,顺时针调节电位器,调节到指示灯亮,然后逆时针转半圈,调到指示灯不亮,然后接近被测气体,指示灯亮,离开被测气体,指示灯熄灭,就证明传感器是好的!【测试程序】实现功能:1、当测量浓度大于设定浓度时,单片机IO口输出低电平/********************************************************************汇诚科技实现功能:此版配套测试程序使用芯片:AT89S52晶振:11.0592MHZ波特率:9600编译环境:Keil作者:zhangxinchunleo【声明】此程序仅用于学习与参考,引用请注明版权和作者信息!*********************************************************************//********************************************************************说明:1、当测量浓度大于设定浓度时,单片机IO口输出低电平*********************************************************************/#include<reg52.h> //库文件#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 <reg52.h> //头文件#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;i<t;i++){for(j=13;j>0;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) //电压显示不能超过5VAD0809=250;date=AD0809*20; //数码管显示的数据值,其中20为采集数据的毫安值xianshi(); //数码管显示函数}}【ADC0809资料】ADC0809中文资料1.主要特性1)8路8位A/D转换器,即分辨率8位。
MQ-7 气体传感器特点* 对一氧化碳具有很高的灵敏度和良好的选择性* 具有长期的使用寿命和可靠的稳定性应用用于家庭、环境的一氧化碳探测装置。
适宜于一氧化碳、煤气等的探测。
规格 A. 标准工作条件符号 参数名称 技术条件 备注Vc 回路电压 ≤10VAc or Dc V H (H) 加热电压(高) 5.0V±0.2VAc or Dc V H (L) 加热电压(低) 1.5V±0.1VAc or Dc R L 负载电阻 可调 R H 加热电阻 31Ω±3Ω 室温T H (H) 加热时间(高) 60±1 secondsT H (L) 加热时间(低) 90±1 secondsP H 加热功耗 约350mwb. 环境条件符号 参数名称 技术条件备注 Tao 使用温度 -10℃-50℃Tas 储存温度 -20℃-70℃建议使用范围 RH 相对湿度 小于 95%RHO 2 氧气浓度 21%(标准条件)氧气浓度会影响灵敏度特性最小值大于2% c. 灵敏度特性符号 参数名称 技术参数备注 Rs 敏感体电阻2-20k 在100ppmCO 中 а(300/100ppm)浓度斜率 小于0.6 Rs (300ppm)/Rs(100ppm) 温度:-20℃±2℃ 相对湿度:65%±5% 标准工作条件Vc:5.0V±0.1V VH(高):5.0V±0.1V VH(低):1.5V±0.1V 预热时间 不短于 48小时 探测范围:10ppm-1000ppm 一氧化碳D. 结构、外形、测试电路MQ-7气敏元件的结构和外形如图1所示(结构 A 或 B), 由微型AL 2O 3陶瓷管、SnO 2 敏感层,测量电极和加热器构成的敏感元件固定在塑料或不锈钢制成的腔体内,加热器为气敏元件提供了必要的工作条件。
填充活性炭的过滤腔体,进一步减弱了氮氧化物、烷类等气体的干扰。
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<reg52.h> //库文件#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 <reg52.h> //头文件#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;i<t;i++){for(j=13;j>0;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) //电压显示不能超过5VAD0809=250;date=AD0809*20; //数码管显示的数据值,其中20为采集数据的毫安值xianshi(); //数码管显示函数}}【ADC0809资料】ADC0809中文资料1.主要特性1)8路8位A/D转换器,即分辨率8位。