历史上的今天
返回首页

历史上的今天

今天是:2025年01月16日(星期四)

正在发生

2019年01月16日 | 基于DS18B20温度传感器和MQ2烟雾传感器的火灾报警器设计

2019-01-16

一、概述

火灾自动报警系统(Fire Alarm System,简称FAS系统)是人们为了早期发现通报火灾,并及时采取有效措施,控制和扑灭火灾,而设置在建筑物中或其它场所的一种自动消防设施,是人们同火灾作斗争的有力工具。

  本设计中以温度探头和烟雾传感器作为火灾报警器的传感装置,并以LED和蜂鸣器作为示警装置。

  二、功能

  ●高温检测。传感器选用DS18B20,当环境温度大于40℃,高温报警指示灯亮,LCD1602第一行显示温度。

  ●环境烟雾浓度检测。传感器选用MQ2烟雾传感器,AD0809作模数转换传烟雾浓度数据给单片机。当环境烟雾浓度大于50时,烟雾浓度指示灯亮,LCD1602第二行显示烟雾浓度。

  当温度和烟雾浓度同时过高时,蜂鸣器发出报警声音。

  三、硬件设计

  温度传感器:DS18B20

  烟雾传感器:MQ2。MQ2输出的模拟电压信号,使用ADC0809作模数转换后输入单片机。

  


  四、程序设计

  


  部分程序段:

  ○LCD1602显示部分程序

  #define LCD_DATA P0 //lcd1602的引脚

  sbit LCD_RS = P2^0;

  sbit LCD_RW = P2^1;

  sbit LCD_EN = P2^2;

  void LCD_Init(void)

  {

  Delay20ms();

  LCD_WriteCmd(0x38); //8位机接口、双行显示、5×7字符点阵;

  LCD_WriteCmd(0x0c); //显示开启、光标不显示也不闪烁;

  LCD_WriteCmd(0x01); //清屏;

  LCD_WriteCmd(0x06); //光标右移一位、整屏不移动;

  LCD_Goto(0,0);

  }

  void LCD_WriteDat(unsigned char lcd_dat)

  {

  unsigned char tmp;

  tmp = LCD_ReadStatus(); //读状态;

  while((tmp & 0x80)) //是否忙 ?

  {

  tmp = LCD_ReadStatus();

  }

  LCD_RS = 1;

  LCD_RW = 0;

  LCD_DATA = lcd_dat;

  _nop_();

  LCD_EN = 0;

  _nop_();

  _nop_();

  LCD_EN = 1;

  }

  void LCD_WriteCmd(unsigned char lcd_cmd)

  {

  unsigned char tmp;

  tmp = LCD_ReadStatus();

  while((tmp & 0x80))

  {

  tmp = LCD_ReadStatus();

  }

  LCD_RS = 0;

  LCD_RW = 0;

  LCD_DATA = lcd_cmd;

  _nop_();

  LCD_EN = 0;

  _nop_();

  _nop_();

  LCD_EN = 1;

  }

  unsigned char LCD_ReadStatus(void)

  {

  unsigned char tmp;

  #if 0

  LCD_RS = 0;

  LCD_RW = 1;

  LCD_EN = 1;

  tmp = LCD_DATA;

  LCD_EN = 0;

  #endif

  LCD_DATA = 0xff;

  LCD_RS = 0;

  LCD_RW = 1;

  LCD_EN = 0;

  _nop_();

  _nop_();

  LCD_EN = 1;

  tmp = LCD_DATA;

  return tmp;

  }

  void LCD_Goto(unsigned char x,unsigned char y)

  {

  unsigned char tmp;

  if(y) //若是第二行;

  {

  tmp = 0xc0 + x;

  LCD_WriteCmd(tmp);

  }

  else

  {

  tmp = 0x80 + x;

  LCD_WriteCmd(tmp);

  }

  }

  void LCD_Display(unsigned char row,unsigned char *str)

  {

  if(row)

  {

  LCD_Goto(0,1);

  }

  else

  {

  LCD_Goto(0,0);

  }

  while(*str != '\0')

  {

  LCD_WriteDat(*str++);

  }

  }

  ○ADC0809部分程序

  //AD0809的IO口以及变量定义

  sbit OE=P2^7;

  sbit EOC=P2^6;

  sbit START=P3^0;

  void AD0809()//0809转换数据

  {

  START=0;_nop_();

  START=1;_nop_();

  START=0;_nop_();

  while(EOC==0);

  OE=1;_nop_();

  density=P1;_nop_();

  OE=0;

  }

  ○DS18B20部分程序

  sbit DQ=P2^3; //DS18B20数据端

  //2、DS18B2模块

  void delay_18B20(unsigned int i)

  {

  while(i--);

  }

  //ds18b20初始化函数

  void Init_DS18B20(void)

  {

  unsigned char x=0;

  DQ = 1; //DQ复位

  delay_18B20(2); //稍做延时

  DQ = 0; //单片机将DQ拉低

  delay_18B20(60); //精确延时 大于 480us

  DQ = 1; //拉高总线

  delay_18B20(2);

  x=DQ; //稍做延时后 如果x=0则初始化成功 x=1则初始化失败

  delay_18B20(15);

  }

  //ds18b20读一个字节

  unsigned char ReadOneChar(void)

  {

  unsigned char i=0;

  unsigned char dat = 0;

  for (i=8;i>0;i--)

  {

  DQ = 0; // 给脉冲信号

  dat>>=1;

  DQ = 1; // 给脉冲信号

  if(DQ)

  dat |=0x80;

  delay_18B20(4);

  }

  return(dat);

  }

  //ds18b20写一个字节

  void WriteOneChar(unsigned char dat)

  {

  unsigned char i=0;

  for (i=8; i>0; i--)

  {

  DQ = 0;

  DQ = dat&0x01;

  delay_18B20(2);

  DQ = 1;

  dat>>=1;

  }

  }

  五、仿真图

  

  图3 火灾报警器仿真图


推荐阅读

史海拾趣

AZ Displays公司的发展小趣事

随着技术的不断进步和市场需求的不断变化,AZ Displays的产品应用领域也在不断拓展。除了传统的消费电子领域外,公司的产品还广泛应用于航空电子、医疗、导航系统、工业控制等多个领域。通过与各行业合作伙伴的紧密合作,AZ Displays成功打开了新的市场大门,实现了业务的快速增长。

Aborn Electronics Inc公司的发展小趣事

随着产品线的不断丰富和技术实力的不断提升,Aborn Electronics开始积极寻求市场拓展。公司先后在国内外多个地区设立了销售网点和分支机构,并通过参加各类行业展会和论坛,加强与其他企业的交流与合作。同时,Aborn Electronics注重品牌建设,通过提升产品质量和服务水平,逐渐树立起了良好的企业形象和口碑。

EDDING公司的发展小趣事

在2000年代初,ECLIPSE公司是一家专注于企业级软件开发的公司。公司内部的一个小型团队开发了一个名为“Eclipse”的集成开发环境(IDE),用于提高内部项目的开发效率。随着Eclipse的内部使用越来越广泛,公司高层意识到其巨大的潜力,决定将Eclipse开源,并成立专门的Eclipse部门来管理和推广这一项目。通过开放源代码和社区合作,Eclipse迅速吸引了全球开发者的关注,并逐渐成长为开源开发领域的领军者。

eLED.com Corp公司的发展小趣事

eLED.com Corp是一家专注于LED(发光二极管)领域的电子公司,成立于XX世纪初。公司创始人XX先生,在半导体行业拥有多年的研发经验,他看到LED技术在照明和显示领域的巨大潜力,于是决定创立eLED.com Corp。公司初期主要致力于LED产品的研发和生产,凭借其高效率和长寿命的特点,逐渐在市场上获得认可。

为了进一步提升产品质量和技术水平,eLED.com Corp不断投入研发资金,引入先进的生产设备和技术人才。通过与高校和研究机构的合作,公司成功开发出一系列具有自主知识产权的LED产品,逐渐在行业中树立了良好的口碑。

富满电子(FM)公司的发展小趣事

作为一家有影响力的企业,eLED.com Corp始终关注社会责任的履行。公司积极参与各类公益活动,关注教育、环保和扶贫等领域。通过捐款捐物、志愿服务等方式,eLED.com Corp为社会做出了积极的贡献。此外,公司还注重员工培训和福利待遇的提升,努力为员工创造一个良好的工作环境和发展空间。通过这些举措的实施,eLED.com Corp不仅赢得了社会的广泛赞誉和支持,还为企业的发展注入了新的动力。

ALPS公司的发展小趣事

作为一家有影响力的企业,eLED.com Corp始终关注社会责任的履行。公司积极参与各类公益活动,关注教育、环保和扶贫等领域。通过捐款捐物、志愿服务等方式,eLED.com Corp为社会做出了积极的贡献。此外,公司还注重员工培训和福利待遇的提升,努力为员工创造一个良好的工作环境和发展空间。通过这些举措的实施,eLED.com Corp不仅赢得了社会的广泛赞誉和支持,还为企业的发展注入了新的动力。

问答坊 | AI 解惑

ARM培训视频-dsp-CPLD-FPGA开发视频-嵌入式系统开发-单片机开发视频

ARM培训视频-dsp-CPLD-FPGA开发视频-嵌入式系统开发-单片机开发视频 ------------------------------------------------------------------ 【ARM培训视频】课程主要内容 1.概念和基本工具: 嵌入式系统基本概念、嵌入式操作系统介绍 嵌入式系 ...…

查看全部问答>

推荐FPGA+单片机开发板。。。

联华众科FPGA开发板 FA130 北京联华众科科技有限公司 http://www.lianhua-zhongke.com.cn Abstract  摘 要:联华众科FPGA开发板FA130核心器件为 Altera Cyclone系列的EP1C3,配置芯片为EPCS1,FA130上可以运行SOPC Bui ...…

查看全部问答>

GPRS模块和手机的功能一样吗?

最近做一个项目,想在其中使用无线模块。有个初级的问题想不明白,请各位大侠给解惑。就是当我给我以前的使用IP网络的发送端上面装上GPRS模块后,使用网络的时候,是不是就是像普通的手机一样?每个手机都有一个唯一的手机号,装上GPRS网络后,是 ...…

查看全部问答>

关于wince5.0 的IE支持flash的问题。

如何让wince5.0的IE支持flash呢?在adobe的网站上找到了用于ppc的flash插件,但不能用于wince, 听说,有人把ppc相应的dll考到了wince里,wince就可以用ppc的软件了,真的可能吗? 还有我的硬件是x86的,能否找到用于x86的ppc系统文件呢(dll), ...…

查看全部问答>

Bootloader 的概念

    简单地说,Bootloader 就是这么一小段程序,它在系统上电时开始执行,初始化硬件设备、准备好软件环境,最后调用操作系统内核。    可以增强Bootloader 的功能,比如增加网络功能、从PC 上通过串口或网络下载文 ...…

查看全部问答>

高亮度LED在汽车照明应用的问题

 1.可靠性与使用寿命   LED的预期使用寿命为5万个小时,而卤钨灯为2万个小时,钨白炽灯为3千个小时。相对于白炽灯,LED的结构坚固,不容易受振动影响,使用过程中光输出亮度也不会明显下降。基于多个LED的照明方案还具备“冗余度”好处,即使一 ...…

查看全部问答>

求助!附程序!MSP430F169用I2C控制ADV7183写数据程序调试不成功!!急!!

#include "io430.h" #include "In430.h" int tx_count; volatile unsigned char I2CBuffer[3]; void Init_Port(void) { P1DIR=0xFF; P2DIR=0XFF; P3DIR=0xFF; P4DIR=0xFF; P5DIR=0xFF; P6DIR=0xFF; P1SEL = 0; } void ...…

查看全部问答>

我是一个什么都不懂的菜鸟,想学有关硬件的开发,请各位前辈指导

我偶然间发现这个论坛,然后对这个开发感兴趣,而且和自己的工作有那么一丁点关系,在工作中使用3维制作软件,里面会用到虚拟的摄像机,我就想如果有传感器控制会更加方便。所以希望在此学习。请各位前辈告诉我该如何入门。谢谢…

查看全部问答>

疑问中?有这样的一个版块吗,找了好久没有找见?

一直想寻一个这样的版块,也许有这样的版块,只是我没有找到而已。 在这个版块中,大家可以对一个共同的问题的完美解决齐心尽力。而现在太多的兄弟姐妹们都往上传很多的东西,也有很多的人下载了想去看,可是真正的去钻研这些资料的真的很少,还不 ...…

查看全部问答>

请教zigbeeRF4CE和zigbee pro能否兼容

zigbeeRF4CE是主要家电控制的,如电视、音响和空调等。zigbee 2007 pro里包含HA profile,如果利用它开发的智能家居产品,如灯、窗帘等。我的问题是利用zigbeeRF4CE协议栈开发的遥控器能不能控制利用zigbee pro协议栈中HA profile开发的灯、窗帘等 ...…

查看全部问答>