谁有关于单片机蜂鸣器c程序的一氧化碳浓度测试的原理图及c程序?多谢了

  摘要:设计了一种以单片机STC12C5A60S2为核心的室内CO浓度的实时检测和报警系统。设计主要由半导体一氧化碳传感" />
免费阅读期刊
论文发表、论文指导
周一至周五
9:00&22:00
基于STC12C5A60S2单片机的家庭CO 气体报警器的设计
2014年8期目录
&&&&&&本期共收录文章20篇
  摘要:设计了一种以单片机STC12C5A60S2为核心的室内CO浓度的实时检测和报警系统。设计主要由半导体一氧化碳传感器,STC12C5A60S2单片机,液晶显示电路和报警电路组成,可以实现室内一氧化碳浓度的实时采集显示,并能调整报警值以及当浓度超过报警值时自动进行声光报警。实验证明,该系统性能可靠,灵敏度高。 中国论文网 /8/view-5139860.htm  关键词:单片机; 气体传感器; 声光报警   中图分类号:TP311 文献标识码:A 文章编号:(6-03   CO(一氧化碳)是常见的室内主要污染物之一,当一氧化碳进入人体后会和人体血液中的血红蛋白结合,进而阻止血红蛋白与氧气的结合,从而引起机体组织缺氧,严重时导致人体窒息死亡,这就是一氧化碳中毒。由于一氧化碳是一种无色、无臭、无味的气体,故容易被忽略而引起中毒[1]。家庭CO中毒多见于液化灶具泄漏或煤气管道泄漏,北方的冬天用煤炉取暖,排烟不畅时也时常发生,近几年使用燃气热水器造成CO中毒也经常出现报道。因此,研究和设计一氧化碳检测和报警电路的是非常重要和迫切的。现有一氧化碳检测仪器主要是面对工矿企业或公共场所的检测,价格高昂,该文设计了一款经济实用的适用于家庭的CO检测和报警器。   1 系统设计   本系统包括CO气体传感器,信号调理电路,STC12C5A60S2微处理器,液晶显示电路,声光报警电路和按键电路组成,系统的总体设计框图见图1。   该设计以单片机为核心,控制模数转换,显示和声光报警。系统首先通过CO气体传感器测量室内的CO浓度,将CO浓度信息转换成电压信号,电压信号经信号调理电路完成对信号的处理和A/D转换,将模拟电信号转换为数字信号后送到微处理器进行处理,微处理器对收到的信号进行计算处理,一方面控制液晶模块显示出当前的浓度值,另一方面将当前测得的浓度值与预设的报警值进行比较,如果测得的浓度值大于预设的报警值则启动声光报警。   2 硬件设计   2.1 CO气体传感器   目前市场上常见的CO传感器主要有电化学气体传感器、催化型可燃气体传感器、固态传感器、红外吸收气体传感器几种类型[1],由于此次设计是针对家庭使用,考虑到使用环境和成本等因素,选择了固态半导体传感器MQ-7气敏传感器。MQ-7传感器的气敏材料是在清洁空气中电导率低的电解质二氧化锡(SnO2),二氧化锡是目前应用最多的一种气敏材料,具有灵敏度高、响应快、稳定性好、使用简单等特点。测量CO气体浓度时二氧化锡需要工作在C的工作温度上,所以传感器内部除了气敏元件,还要有加热器,使得二氧化锡保持在最佳工作温度上。MQ-7传感器的测试电路见图2,测量时需加两个电压:测试电压和加热电压。   图2中,VH为加热电压,VC为测试电压,其中 VC需要用直流电源,在满足传感器电性能要求的前提下,VC和VH可以共用同一个电源电路,实际测量时VC和VH都接了+5V电源。MQ-7使用时需要预热一段时间,以保证测量的稳定性,测量时空气中的CO吸附在气敏元件二氧化锡的表面,导致传感器的电导率增大,并且随着空气中一氧化碳的浓度增加时,传感器的电导率也相应增加,两者具有一定比例关系。通过外加负载RL将电导率值转换成输出电压值VL。传感器表面电阻RS与输出电压信号VL的关系为:   MQ-7传感器测量CO的浓度范围为10-1000ppm,具有良好的灵敏度,正常使用时使用寿命可达到5年。   2.2信号处理电路   信号处理电路核心采用LM393,LM393是一款简单使用的电压比较集成电路,具有工作电压范围宽、消耗电流小(0.4mA)、输入失调电压小(±2mV)、共模输入电压范围宽等特点。其工作时单电源、双电源均可工作,单电源: 2V~ 36V, 双电源:±1.0V~±18V,MQ-7的信号处理电路见图3[3]。   图3中,当空气中CO的浓度很低时,传感器呈较高电阻,电压比较器LM393输出高电平,当CO浓度达到一定值时,传感器电阻变小, LM393输出低电平,控制外电路的工作,例如启动排风扇开始排风,同时发光二极管发光。RP为灵敏度调节电阻,用于调整气敏信号的最低值。   2.3信号调理及单片机电路   信号调理电路主要是对将传感器输出的电信号转换成适合于单片机处理的数字信号,图3中传感器输出了一个0-5V的模拟电压信号,所以信号不需要进行放大,直接接A/D转换电路就可以将传感器输出的模拟电压信号转换成适合于单片机的数字信号。   本设计选择了STC12C5A60S2单片机,它是宏晶科技生产的高速/低功耗/超抗干扰的新一代单片机,它的工作电压为 5.5V - 3.3V(5V 单片机),之所以选择这款单片机,主要原因如下:   1)它是增强型 8051 CPU,1T,单时钟/ 机器周期,指令代码兼容传统的8051单片机,编程方便;   2)自带A/D转换,10位精度,共8路,转换速度可达250K/S,不用外接A/D,减小了系统成本;   分辨率 R=[12n=%]   3)工作频率范围:0~35MHz,相当于普通8051的 0~420MHz;   4)片上集成1280字节 RAM,有EEPROM功能;   5)共4 个16位定时器。   由于STC12C5A60S2单片机自带模数转换功能,所以本设计的信号调理部分直接采用的是单片机的模数转换功能,使用时将传感器输出的模拟信号直接输出到单片机的P1.1脚,当检测到信号时,单片机首先启动模数转换电路将测量的模拟电压信号转换成数字信号,然后再对数字信号进行计算处理。   3 软件设计   软件设计部分主要包括数据的采集处理、按键部分、LCD显示部分、报警部分。其中按键功能采用扫描查询方式实现,在整个程序执行的每个周期中对按键状态扫描一次,对数据也进行一次采集。主程序流程如图4。   根据国家日起实施的《室内空气质量标准》,规定了室内1小时的CO均值不超过100ppm,所以本系统的预设报警值设定为了100ppm,当室内的CO浓度超过100ppm启动声光报警,当浓度值低于报警值时,声光报警电路停止供电,以减少系统的功耗,系统设置了按键部分,用户可以根据自己的需要适当的调整报警值,为了防止MQ-7气敏传感器工作不稳定时引起误报警,当浓度值超过报警值后延长一段时间后重新采集数据,如果两次采集的数据都超过报警值,就进行声光报警。为了保证测量的精度,通过对标准浓度气体的测量,对系统进行标定。   4 结束语   本设计将CO气体浓度的检测处理和报警电路通过单片机结合起来,实现了CO浓度高低的直观动态显示以及声光报警功能,具有灵敏度和报警浓度可调、工作稳定、使用寿命长等特点,系统采用了自带A/D转换的低功耗单片机,同时对声光报警电路分时供电,整体电路实现了低功耗。实验证明,该设计性能稳定可靠,在温度变化不大的情况下可以精确的测量室内的CO浓度。由于MQ-7传感器对温湿度有一定敏感性,在环境比较恶劣的情况下需要做温度补偿,这可以通过外加温度测量电路实现。   参考文献:   [1] 张志伟.基于MSP430单片机的便携式CO检测仪的设计[J].绿色质量观察,2010(9):30-32.   [2] 关中辉,贺玉凯,刘中奇.煤矿井下一氧化碳气体检测发展与研究[J].矿山机械,2006(5):21-24.   [3] 张平川,薛宏甫.基于单片机的轿车内一氧化碳气体测控系统设计[J].电子设计工程,2013(4):140-145.
转载请注明来源。原文地址:
【xzbu】郑重声明:本网站资源、信息来源于网络,完全免费共享,仅供学习和研究使用,版权和著作权归原作者所有,如有不愿意被转载的情况,请通知我们删除已转载的信息。
xzbu发布此信息目的在于传播更多信息,与本网站立场无关。xzbu不保证该信息(包括但不限于文字、数据及图表)准确性、真实性、完整性等。MQ-7(QM-N7)CO 51单片机的MQ7 CO传感器关于模拟量和数字量的程序。可监测室内CO浓度 Other Embeded program 其他嵌入式/ 内容 254万源代码下载-
&文件名称: MQ-7(QM-N7)CO& & [
& & & & &&]
&&所属分类:
&&开发工具: C++ Builder
&&文件大小: 432 KB
&&上传时间:
&&下载次数: 81
&&提 供 者:
&详细说明:51单片机的MQ7 CO传感器关于模拟量和数字量的程序。可监测室内CO浓度-51 SCM MQ7 CO sensor analog and digital program. Can monitor the indoor concentration of CO
文件列表(点击判断是否您需要的文件,如果是垃圾请在下面评价投诉):
&&MQ-7(QM-N7)CO气体传感器.pdf&&TTL输出测试程序&&...............\STARTUP.A51&&...............\STARTUP.LST&&...............\STARTUP.OBJ&&...............\chengxu&&...............\chengxu.LST&&...............\chengxu.M51&&...............\chengxu.OBJ&&...............\chengxu.Opt&&...............\chengxu.Uv2&&...............\chengxu.c&&...............\chengxu.hex&&...............\chengxu.lnp&&...............\chengxu.plg&&...............\chengxu_Opt.Bak&&...............\chengxu_Uv2.Bak&&模拟量测试参考程序&&..................\ADC0809.pdf&&..................\ADC0809中文资料.txt&&..................\Last Loaded ourhc.DBK&&..................\keil&&..................\....\STARTUP.A51&&..................\....\STARTUP.LST&&..................\....\STARTUP.OBJ&&..................\....\chengxu&&..................\....\chengxu.LST&&..................\....\chengxu.M51&&..................\....\chengxu.OBJ&&..................\....\chengxu.Opt&&..................\....\chengxu.Uv2&&..................\....\chengxu.__i&&..................\....\chengxu.c&&..................\....\chengxu.hex&&..................\....\chengxu.lnp&&..................\....\chengxu.plg&&..................\....\chengxu_Opt.Bak&&..................\....\chengxu_Uv2.Bak&&..................\ourhc.DSN&&..................\ourhc.PWI
&[]:纯粹是垃圾&[]:纯粹是垃圾&[]:纯粹是垃圾&[]:很好,推荐下载
&近期下载过的用户:
&&&&&&&&&&[]
&相关搜索:
&&&&&&&&&&
&输入关键字,在本站254万海量源码库中尽情搜索:
&[] - 盲信号用于语音识别,应用maltab开发环境编写的程序代码,
&[] - 用51单片机和MQ-7测一氧化碳,并用液晶12864显示
&[] - 空气质量传感器 MQ135传感器 有害气体检测模块 包括模拟量及数字量的输出程序
&[] - MQ-系列传感器程序,使用STC12C5A60S2单片机自带AD,将采集到的数据上传到串口
&[] - 430 气体检测程序 解压后可以直接生成文件使用
&[] - MQ 中间件通讯的示例源码,可以实现不同客户端间的实时与非实时通信
&[] - MQ-2气体传感器的程序,有设置亮灯超过浓度时灯亮起报警
&[] - 一篇介绍MQ-n系列传感器的文章,里面详细介绍了引脚如何使用,具体接法,适合新手直接使用
&[] - CO检测仪的程序,带用1602显示,可以利用proteus图中滑动变阻器改变CO浓度,超标报警
&[] - 采用红外线传感器,测量甲烷,一氧化碳气体传感器采用英国CITY传感器,输出信号为交流信号,程序通过计算,显示浓度51单片机秒表C程序
15:25:14&&&来源:51hei &&
本程序所用的原理图下载:&点这里&,芯片使用的stc89c52;电路找到相应部分即可.这是一整个单片机开发板的电路图其他的忽略.
本程序的keil工程下载:&/f/miaobiao.rar&& 以下是通过测试的源代码:
*功能:用定时器0实现,实现60秒定时,精确度为1毫秒
*&& 利用key1独立按键实现定时器的启动和停止,
*&& 利用key2独立按键实现秒表的清零;
*作者:徐冉
*注意事项:若打开两个定时器时,必须使用两个定时器,
*&&&& 否则两个定时器都不工作!!!
/**********stc89C52-RC 51hei单片机实验板**********/
/**********51hei-5开发板**********/
sbit wela = P2^7;
sbit dula = P2^6;
sbit key1 = P3^4;
sbit key2 = P3^5;
sbit FM&& = P2^3;//蜂鸣器
uchar code table[] = {&&
&&&&&& 0x3F,& //"0"
&&&&&&&&&&&&&&& 0x06,& //"1"
&&&&&&&&&&&&&&& 0x5B,& //"2"
&&&&&&&&&&&&&&& 0x4F,& //"3"
&&&&&&&&&&&&&&& 0x66,& //"4"
&&&&&&&&&&&&&&& 0x6D,& //"5"
&&&&&&&&&&&&&&& 0x7D,& //"6"
&&&&&&&&&&&&&&& 0x07,& //"7"
&&&&&&&&&&&&&&& 0x7F,& //"8"
&&&&&&&&&&&&&&& 0x6F,& //"9"
&&&&&&&&&&&&&&& 0x77,& //"A"
&&&&&&&&&&&&&&& 0x7C,& //"B"
&&&&&&&&&&&&&&& 0x39,& //"C"
&&&&&&&&&&&&&&& 0x5E,& //"D"
&&&&&&&&&&&&&&& 0x79,& //"E"
&&&&&&&&&&&&&&& 0x71,& //"F"
&&&&&&&&&&&&&&& 0x76,& //"H"
&&&&&&&&&&&&&&& 0x38,& //"L"
&&&&&&&&&&&&&&& 0x37,& //"n"
&&&&&&&&&&&&&&& 0x3E,& //"u"
&&&&&&&&&&&&&&& 0x73,& //"P"
&&&&&&&&&&&&&&& 0x5C,& //"o"
&&&&&&&&&&&&&&& 0x40,& //"-"
&&&&&&&&&&&&&&& 0x00,& //熄灭
&&&&&&&&&&&&&&& 0x40& //自定义
uint counter, num_h, num_m;
void delay(uint xms);
void display_h(uint num_h);
void init();
void display_m(uint num_m);
void keyscan_D();
void keyscan_Q();
void main()
& dula = 1;
& P0 = table[22];
& dula = 0;
& wela = 1;
& wela = 0;
& keyscan_D();
& keyscan_Q();
& display_h(num_h);
& display_m(num_m);
//定时器0初始化函数
void init()
&TMOD = 0x01;
&TH0 = 0xFC;
&TL0 = 0x67;
//毫秒位显示子函数
void display_h(uint num_h)
&uchar bai,shi,
&bai = num_h / 100 % 10;
&shi = num_h / 10 % 10;
&ge& = num_h % 10;
&dula = 1;
&P0 = table[bai];
&dula = 0;
&wela = 1;
&P0 = 0xf7;
&wela = 0;
&P0 = 0x00;
&delay(1);
&&& dula = 1;
&P0 = table[shi];
&dula = 0;
&wela = 1;
&wela = 0;
&P0 = 0x00;
&delay(1);
&dula = 1;
&P0 = table[ge];
&dula = 0;
&wela = 1;
&wela = 0;
&P0 = 0x00;
&delay(1);
//秒位显示子函数
void display_m(uint num_m)
&uchar shi_, ge_;
&shi_ = num_m / 10 % 10;
&ge_ = num_m % 10;
&dula = 1;
&P0 = table[shi_];
&dula = 0;
&wela = 1;
&wela = 0;
&P0 = 0x00;
&delay(1);
&dula = 1;
&P0 = table[ge_];
&dula = 0;
&wela = 1;
&wela = 0;
&P0 = 0x00;
&delay(1);
//延时子函数
void delay(uint xms)
&for(i = i > 0; i--)
&& for(j = 125; j > 0; j--);
//独立按键1检测子函数 ,开启和关闭
void keyscan_D()
&if(key1 == 0)
& delay(10);
& if(key1 == 0)
&& TR0 = ~TR0;
&& FM = 0;
&& while(!key1);
&& FM = 1;&&
//独立按键2检测子函数,清零
void keyscan_Q()
&if(key2 == 0)
& delay(10);
& if(key2 == 0)
&& counter = 0;
&& num_h = 0;
&& num_m = 0;
&& FM = 0;
&& while(!key2);
&& FM = 1;
//定时器0中断子程序
void int_time0() interrupt 1
&TH0 = 0xFC;
&TL0 = 0x67;
&counter++;
&if(counter == 1)
& counter = 0;
& num_h++; //毫秒自增
& if(num_h == 1000)
&& num_h = 0;
&& num_m++; //秒自增
&& if(num_m == 60)
&&& num_m = 0;
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
51单片机相关资源
秒表相关资源
C程序相关资源
编辑:什么鱼
本文引用地址:
本周热门资源推荐
EEWORLD独家您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
一氧化碳浓度检测、报警及自排系统的设计.doc47页
本文档一共被下载:
次 ,您可免费全文在线阅读后下载本文档
文档加载中...广告还剩秒
需要金币:100 &&
你可能关注的文档:
··········
··········
一氧化碳浓度检测、报警及自排系统的设计
随着经济和科学技术的快速发展,人们对生活质量的提高和生活环境的改善越来越重视,液化气、煤气进入家庭的使用为人们带来了方便,也改善了城市的环境,但同时也给人们带来了潜在的危险,其中一氧化碳是最主要的危险源。一氧化碳是一种无色无味同时这些气体燃料在使用中,若管道和阀门密封不好,它们泄露出去,轻者引起中毒,重者造成火灾,危及人们的生命财产。由于这些原因,对于气体的检测与控制就变得很重要了,研究各种气体的检测方法与气体传感器也随之成为一个重要课题。
本论文主要实现对煤气泄露浓度的测量、报警及自排,系统主要以半导体气体传感器为研究对象,以单片机为主控芯片结合一氧化碳浓度检测传感器及外围电路组成信号报警器。通过写入单片机的程序控制使报警器在检测到CO浓度超过预先设置值时自动报警并启动一氧化碳自排系统进行抽排从而避免煤气中毒事件的发生。
关键词:气体传感器,单片机,浓度检测,报警器目 录
第1章 绪论 2
1.1论文研究来源、目的和意义 2
1.1.1 论文研究来源 2
1.1.2 论文研究目的和意义 2
1.2可燃性气体报警器的国内外现状 3
1.3本论文主要任务 4
第2章煤气泄露自动测试总体设计 5
2.1设计要求 5
2.1.1煤气泄露测试的功能 5
2.1.2煤气泄露测试系统框图 5
2.1.2煤气泄露测试的各个功能模块 6
2.2设计原理 7
2.2.1气体传感器介绍 7
2.2.2气体传感器的选定 7
2.3数据处理 9
2.3.1传感器非线性信号处理 9
2.3.2数字滤波处理 9
第3章煤气泄露自动测试硬件设计 11
3.1温度补偿电路 11
3.1.1 OP07低噪声高精度运算放大器 11
3.1.2温度补偿 12
3.2模/数转换器ADC0809 12
3.2.1 ADC0809的介绍 12
3.2.2引脚功能 13
3.2.3主要特性 14
正在加载中,请稍后...

我要回帖

更多关于 单片机蜂鸣器c程序 的文章

 

随机推荐