产品选型

基于单片机烟雾报警 基于单片机火灾烟雾及温度报警系列设计实例

小编 2024-11-24 产品选型 23 0

基于单片机火灾烟雾及温度报警系列设计实例

                 可调节报警烟雾等级

/***********读数模转换数据********************************************************/

unsigned char ad0832read(bit SGL,bit ODD)

{

unsigned char i=0,value=0,value1=0;

SCL=0;

DO=1;

CS=0;//开始

SCL=1;//第一个上升沿

SCL=0;

DO=SGL;//SGL

SCL=1; //第二个上升沿

SCL=0;

DO=ODD;

SCL=1; //第三个上升沿

SCL=0; //第三个下降沿

DO=1;

for(i=0;i<8;i++)

{

SCL=1;

SCL=0; //开始从第四个下降沿接收数据

value<<=1;

if(DO)

value++;

}

for(i=0;i<8;i++)

{//接收校验数据

value1>>=1;

if(DO)

value1+=0x80;

SCL=1;

SCL=0;

}

CS=1;

SCL=1;

if(value==value1)//与校验数据比较,正确就返回数据,否则返回0

return value;

return 0;

}

科技制作 基于430单片机的烟雾探测器程序示例

这个程序使用了IO口中断和AD采集中断,具有采集烟雾浓度,超过浓度阈值报警等功能;

程序预览

下面是程序示例:

/**********************************************************

作者:狐狸哟X

时间:2018.11.23

功能:基于430单片机的MQ-2烟雾探测器模块应用

***********************************************************/

#include "msp430g2553.h"

#include <intrinsics.h> //延时函数包含的头文件

#define CPU_F ((double)8000000) //配合下面的两条延时函数

#define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0))

#define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0))

#define uchar unsigned char

#define uint unsigned int

static uint Smoke_Deep=0; //烟雾浓度初始值为0

static uint Red_Alert=0; //设定默认允许启动蜂鸣器

/******************************************************************************

名 称:main

功 能:主函数

输入值:无

输出值:无

返回值:无

******************************************************************************/

void main(void)

{

WDTCTL = WDTPW+WDTHOLD; //关闭看门狗定时器

if (CALBC1_8MHZ==0xFF)

{

while(1);

}

DCOCTL = 0;

BCSCTL1 = CALBC1_8MHZ;

DCOCTL = CALDCO_8MHZ; //配置DCO产生8MHz的频率

P1DIR&=~BIT6; //P1.6为输入模式

P1IES&=~BIT6; //P1.6为上升沿中断

P1IE|=BIT6; //P1.6中断使能

P1IFG=0; //清中断标志位

ADC10CTL0 = ADC10SHT_2 + ADC10ON + ADC10IE; //打开10位ADC,允许中断

ADC10CTL1 = INCH_0; // 选择 A0为输入通道

ADC10AE0 |= BIT0; // 选择P1.0口作为采集口

ADC10CTL0 |= ENC + ADC10SC; // 打开AD采样和转换开关

_EINT(); //打开总中断

LPM3; //进入低功耗模式3

}

/******************************************************************************

名 称:ADC10_ISR

功 能:AD采集中断函数

输入值:无

输出值:无

返回值:无

******************************************************************************/

#pragma vector=ADC10_VECTOR //AD采集中断

__interrupt void ADC10_ISR(void)

{

uchar i;

Smoke_Deep=ADC10MEM; //获得烟雾浓度

/********在这里添加驱动显示屏的程序,显示烟雾浓度,可以不加*******/

if(!Red_Alert) //判断是否允许发出警报

{

if(Smoke_Deep>想要的预定值) //如果烟雾浓度大于预定值

{

P1DIR|=BIT5; //P1.5为输出模式

for(i=0;i<20;i++)

{

P1OUT|=BIT5; //驱动蜂鸣器

delay_ms(300); //延时300毫秒

P1OUT&=~BIT5; //暂停蜂鸣器

delay_ms(200); //延时200毫秒

}

}

}

delay_ms(500); //延时0.5秒

ADC10CTL0 |= ENC + ADC10SC; // 再次打开AD采样和转换开关

}

/******************************************************************************

名 称:Key_interrput

功 能:IO口中断函数

输入值:无

输出值:无

返回值:无

******************************************************************************/

#pragma vector = PORT1_VECTOR //IO口中断

__interrupt void Key_interrput(void)

{

if(P1IFG&BIT6) //确认中断源来源是P1.6

{

delay_ms(2); //延时2毫秒,消抖

if(P1IFG&BIT6) //确认中断源来源是P1.6

{

P1IFG=0; //清中断标志位

Red_Alert=~Red_Alert;//取反

}

}

}

说明:P1.5口用于驱动蜂鸣器,P1.6口用于控制蜂鸣器工作的使能,P1.0口为模拟信号采集通道。

使用软件:IAR 7.11.2

IAR软件预览

烟雾传感器的电路部分设计在扩展链接中。

烟雾传感器模块

相关问答

mq2 单片机 程序怎么写?

MQ2是烟雾浓度传感器,将其模拟输出AO接入到一个AD转换器(比如ADC0832)上,再读取转换结果就可以了。程序的编写就是读取ADC的值。单片机(Single-ChipMicroco...

我想问一下烟感器装修的时候弄丢了怎么办呢_齐家装修问答

该检测仪采用单片机控制,可以智能判断火灾时烟雾报警器。报警和光电感烟装置及其生产技术,稳定性好,外形美观,安装简单,无需调试,可广泛用于宾馆、...

大仙们还有谁知道!!可燃气体 报警器 和有毒气体 报警器 有什么区别?

重庆有燃气报警器经销商的,只是这里无法把联系方式告诉他你。防治燃气发生爆炸请加装燃气报警器,您可以百度搜寻:永康牌燃气报警器廖先生“咨询。...

如何评价电影《黑寡妇》?

你好非常开心能回答您的问题,那今天我们来聊《黑寡妇》众所周知,漫威的预告片如今都叫“预告骗”,自从预告分析这个类型节目兴起以后,漫威宇宙的预告片,甚...接...

商务谈判者应具有的什么能力

商务谈判的要素I“会听”要尽量鼓励对方多说,向对方说:“yes”,“pleasegoon”,并提问题请对方回答,使对方多谈他们的情况。II巧提问题用开...

机房温度 报警器 价格多少?_土巴兔装修问答

基于单片机语音数字联网火灾报警器设计摘要:使用AT89C51单片机,选用集成温度传感器AD590和气体传感器TGS202作为敏感元件,利用多传感器信息融合技...

《重生》胡一彪是谁派来的,来西关支队的目的是什么?他到底正派还是反派?

“这是关宏峰,还是关宏宇,这是潘粤明,还是潘粤暗?”随着潘粤明在《白夜追凶》中演绎的经典角色在网剧《重生》中再度登场,弹幕里的不少观众产生了一种“串...“...

物联网专业怎么样?

找到职业新方向,从全面了解IoT开始全文共4726字,预计学习时长10分钟物联网(IoT)正以前所未有的速度蓬勃发展,并将长期为各行各业带来新的机遇,助力成功。...这...

怎样储存巢础?

感谢提问:怎样储存巢础?我是山娃养蜂,很高兴回答这个问题,首先要把巢础与巢脾区分开,两者是不一样的,巢础是由加工厂根据巢脾的构造用蜡加工而成,巢脾的形...二...

智能家居包括哪些东西? - 小红薯3697D633 的回答 - 懂得

首先我们来了解智能家居是什么概念,欧派克这样理解:对智能家居产品来说,最重要的是以实用为核心,摒弃掉那些华而不实,只能充作摆设的功能,产品以实...

猜你喜欢