微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 单片机与MQ-5传感器

单片机与MQ-5传感器

时间:10-02 整理:3721RD 点击:
先前一直想弄一个煤气泄漏报警器,没时间弄,今天有空准备弄好了,因为够买得传感器模块有LM393电压比较器,输出口为D,所以我就想直接用单片机的P2^0口接到d口上,一个led接到P1^0上,然后烧录测试程序进去,下面是该测试程序。但接线好自后测试灯不会亮,是什么原因,自己找了好久了没找到原因,接线没有接错,我买的单片机开发板是共阴极的,但我改程序自后还是一样没有变坏,传感器自带的led却能正常的亮灭,所以请教各位大神们解答。
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit LED=P1^0;
sbit DOUT=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;
                        }                        
                }
        }
}

把主程序里面的检测去掉,只留led=1,灯亮吗?D是什么电平?

把初始化的LED=1;放在while循环外边,while里面直接是判断,if(DOUT==0) LED=0; else  LED=1;  这样试试

void main()
{      
      LED=1;   
        while(1)
        {        
                     if(DOUT==0)
                      LED=0;
                       else
                     LED=1;                        
        }
}
这样试试,逻辑关系自己改

void main()
{        
LED=1;
        while(1)
        {        
               
                if(DOUT==0)
                {        
                        delay();
                        if(DOUT==0)
                        {
                                LED=0;
                        }        
                        else
                       {
                           LED = 1;
                       }               
                }
        }
}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top