找回密码
 注册
关于网站域名变更的通知
查看: 553|回复: 2
打印 上一主题 下一主题

MQ-2烟雾传感器工作原理 手册 单片机源代码等下载

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-1-11 01:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
MQ-2烟雾传感器工作原理 手册 单片机源代码等下载( t: N+ _9 Z+ S7 L
: `! O6 k0 X' S% w
* l- o* O+ a. P  F: K6 T
单片机源代码:
) s& T6 f0 @* K6 n- c0 K7 ~#include <reg52.h>             //头文件
! @. K) G) y" k9 o#define uchar unsigned char           //宏定义无符号字符型- d" B$ G2 ~9 f
#define uint  unsigned  int           //宏定义无符号整型3 l) h' ]' `+ U/ H% u0 z
code uchar seg7code[10]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //显示段码 数码管字跟: s: a' i% q. @) ~" v  n& W
uchar wei[4]={0XEf,0XDf,0XBf,0X7f};  //位的控制端                                                                 //位控制码
  R& e& q# d7 {sbit ST=P3^0;   //A/D启动转换信号3 @# _7 g( L8 K% @; a" D
sbit OE=P3^1;   //数据输出允许信号
3 |: a$ g- ~9 i: b5 Nsbit EOC=P3^2;  //A/D转换结束信号0 m# Y9 h4 I9 u3 z8 \, W8 _% h
sbit CLK=P3^3;  //时钟脉冲  ( |- O: q  ^7 c& ~4 j" s
uint z,x,c,v,AD0809, date;        //定义数据类型
% N* [6 I9 v* J% E, ]: M& u9 O& Q/******************************************************************
; y9 U, U: f( ?) \; I9 c8 y延时函数7 [( R. C, s/ H" D
******************************************************************/, x' W& z1 S! j3 l
void delay(uchar t)
& M2 P7 ^1 {0 |2 j% S{
* ?- f. I+ Y4 c: }2 Q7 n  Q* u  uchar i,j;7 P9 q/ B5 d8 D+ k
   for(i=0;i<t;i++)
: V5 Y3 R9 n" I: k; j: a) R; L   {
# l# F7 X9 P4 [- G1 E( e+ o            for(j=13;j>0;j--);
- P! p4 Y& Y5 q5 ?6 ]' o% q         { ;
4 ^, D+ S' Z1 w         }7 A# H2 x7 ?# K5 S" b
   }( J6 H% j' a0 Q; S. J
}: O$ h9 z0 [7 q; t3 ?
/**********************************************************************( a! z: S& @( i/ W) \! p& D/ h
                数码管动态扫描
! ]; n" z3 ^" @*********************************************************************/
0 n+ v; J5 y6 h" p2 Kvoid xianshi() //显示函数
: H$ V$ x6 K0 c9 _3 V2 p6 X7 H {
/ y, l/ T5 o; L' g! ouint z,x,c,v;! @- w2 q; d! i- r5 i0 ~
  z=date/1000;                         //求千位
- `6 D$ i& S1 ~6 Z: |  x=date%1000/100;                 //求百位
" K5 e. @9 [+ B8 q( B7 J  c=date%100/10;                 //求十位
: V2 J# A. r' f: U2 ?9 Z  v=date%10;                         //求个位
$ O7 y! v0 r- c3 X
7 K% e+ b/ m6 Q      P2=0XFF;4 u6 x& s9 u# G: q: c8 S- z4 n0 q
          P0=seg7code[z]&0x7f;& [; l4 F5 l' J* q+ {
          P2=wei[0];/ M' B9 a7 R. H& \# H
          delay(80);+ g  O' W( |5 K8 N
          P2=0XFF;  % E7 S  \: Z$ N; x
      P0=seg7code[x];- ~  ]: v) f1 O& }  ]" B
          P2=wei[1];" W) j6 J7 Y4 P$ K+ q* A$ M! A
          delay(80);
! t( b) I: s* [; N+ c; S          P2=0XFF;  
) I& t$ A6 n& z) W             P0=seg7code[c];
+ m  v2 V5 p4 L! f          P2=wei[2];* `: D6 n: H: S% R; s2 l
          delay(80);0 B/ r$ V+ |8 d9 S
          P2=0XFF;  ( G# Y" e' G! v6 S
      P0=seg7code[v];
6 {. J/ M, \1 H          P2=wei[3];
2 A4 I5 i9 u+ B          delay(80); 2 V" L, q! O5 Y3 |
          P2=0XFF;
2 L! K. A. @7 {% S3 F. k  }  ]5 |2 b5 N6 L
/*************************************************************************
# T# X/ n" x7 v6 P                                CLK振荡信号        + q: T* b' A) M" f
**************************************************************************/
# Y6 O6 J# F# P" D, _7 q+ dvoid timer0( ) interrupt 1 //定时器0工作方式18 z& X- d! m1 c$ e: W) G( t+ Y) u3 O
{
3 Z; c# T& K, w: A7 A% n
, _8 C2 q; L! T  Z/ R# V  A3 u8 jTH0=(65536-2)/256;          //重装计数初值
$ D- V( k( g/ }: kTL0=(65536-2)%256;          //重装计数初值7 r# B! H( ]3 ^6 B
CLK=!CLK;                          //取反% c. `/ k0 Q& m! r
}9 k% V  q# j4 r4 v5 @* E4 g
3 [1 F) Z! v1 p; `4 x
/*************************************************************************" L/ z, i5 N9 Z* |7 U* M4 z
                                主函数        ! Z" n; T9 B9 b- b5 N/ V3 g# r
**************************************************************************/
$ z- @9 F% t1 { void main()0 |2 E4 Q" ?# ^! t1 Q  g: s
{
1 O7 }& q. X2 K0 ^TMOD=0X01;                          //定时器中断0# [) n6 H$ l4 Q& A& `7 `
# h6 t' R/ G+ S* v! n4 N
CLK=0;                                  //脉冲信号初始值为0
' f) @2 d/ Y& ^3 x* wTH0=(65536-2)/256;          //定时时间高八位初值; b/ x  y% S  @% p, L' m% I: q
TL0=(65536-2)%256;          //定时时间低八位初值
5 x5 ^# r# W, M; J! W; Q  IEA=1;                                  //开CPU中断
4 W8 t9 {4 P: [/ E2 d7 v. o0 ]ET0=1;                                  //开T/C0中断
" A7 U& w6 ~, o, Y0 s, W# b- iTR0=1;
7 Y( }% |( F0 o  ` while(1)                           //无限循环
" X8 f, U; t; `) i, v; C( a        {6 |4 z& F. k/ Z4 }* l
        ST=0;                                //使采集信号为低
; b; T6 c; X( M! i        ST=1;                                //开始数据转换
+ h3 d$ O0 }, h" x# g: k& ]; F        ST=0;                                //停止数据转换
2 P, ~, s8 f% G4 y: ]        while(!EOC);                //等待数据转换完毕
% S5 H4 O4 e0 S        OE=1;                                //允许数据输出信号* c: ], d0 _% K0 o% b
        AD0809=P1;                    //读取数据3 X1 L' J0 R* |9 ]5 t0 p
        OE=0;                                //关闭数据输出允许信号
0 b9 [* K  `. {. \        if(AD0809>=251)                //电压显示不能超过5V
0 w* i- w$ w. o( h( u        AD0809=250;, \5 t9 t) {. C% r2 Q+ B4 Q2 e2 S
        date=AD0809*20;                //数码管显示的数据值,其中20为采集数据的毫安值
. c* k4 m5 S$ n  f        xianshi();                        //数码管显示函数
3 \6 j* S/ U7 L8 i% U- L2 W0 z0 o. f* |

3 |$ [# T4 W  q: `; l/ y! R  ?3 r…………限于本文篇幅 余下代码请下载附件…………4 i' Y2 m6 i7 M5 u

% K- v3 L9 `8 {% UMQ-2烟雾传感器资料下载:: @2 x. l0 [% f* [* @, w# a
MQ-2烟雾传感器模块.rar (2.15 MB, 下载次数: 0) $ `: P( i! e& t1 X( W3 P

8 L, R- A' [- S: {2 t% g1 l% f# M

该用户从未签到

2#
发表于 2019-1-11 15:22 | 只看该作者
看看楼主的代码
头像被屏蔽

该用户从未签到

3#
发表于 2019-1-11 15:46 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-10-31 06:55 , Processed in 0.156250 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表