基于AT89C51单片机烟雾传感器

Posted 徐景祥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于AT89C51单片机烟雾传感器相关的知识,希望对你有一定的参考价值。

 

#include <reg51.h>
#include <stdio.h>
#define uchar unsigned char           //宏定义无符号字符型
#define uint  unsigned  int           //宏定义无符号整型

sbit ST=P3^0;   //A/D启动转换信号
sbit OE=P3^1;   //数据输出允许信号
sbit EOC=P3^2;  //A/D转换结束信号
sbit CLK=P3^3;  //时钟脉冲 
uint i,j,AD0809;        //定义数据类型

//延时子函数
void delay()
{
   i = 1000;
   while(i--);
}
/*************************************************************************
                                CLK振荡信号        
**************************************************************************/
void timer0( ) interrupt 1 //定时器0工作方式1
{

TH0=(65536-2)/256;          //重装计数初值
TL0=(65536-2)%256;          //重装计数初值
CLK=!CLK;                          //取反
}

 /*************************************************************************
                                主函数        
**************************************************************************/
 void main()
{ 
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;
       P2 = 0xE0;//报警闪烁LED灯
      delay();
      P2 =~0xE0;
      delay();
      P0 = ~0x06;//数码管报警显示1
      delay();
      P0 = ~0x00;
      delay();
    }    
  }
   
}        

    

 

以上是关于基于AT89C51单片机烟雾传感器的主要内容,如果未能解决你的问题,请参考以下文章

stc12c5a60s2的单片机与at89c51单片机有啥区别论文上面要用

求stc89C52型单片机与DS18B20传感器和MQ-2烟雾传感器电路连接图以及原理

AT89C51单片机进行多机通信等问题求教大神!!明天考试!!在线高分求高人

怎么让KEIL里得到的数据以TXT文本输出(我是用的AT89C51系列单片机)

单片机AT89C51各个引脚的作用都有哪些?

怎么把编好的程序烧录到8051或则AT89C51单片机上啊?