- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于51单片机 烟雾传感器MQ-2 火灾报警器的设计 显示浓度
2012-02-16 16:54
单片机火灾报警系统设计
摘要:随着“信息时代”的到来,作为获取信息的手段——传感器技术得到了显著的进步,其应用领域越来越广泛,对其要求越来越高,需求越来越迫切。传感器技术已成为衡量一个国家科学技术发展水平的重要标志之一。因此,了解并掌握各类传感器的基本结构、工作原理及特性是非常重要的。
为了提高对传感器的认识和了解,尤其是对烟雾传感器的深入研究以及其用法与用途,基于实用、广泛和典型的原则而设计了本系统。本文利用单片机结合传感器技术而开发设计了这一烟雾监控系统。。
本论文以电阻式烟雾传感器和单片机技术为核心并与其他电子技术相结合, 设计出一种技术水平较好的烟雾报警器。其中选用MQ-2型半导体可燃气体敏感元件烟雾传感器实现烟雾的检测,具有灵敏度高、响应快、抗干扰能力强等优点,而且价格低廉,使用寿命长。
以AT89S52单片机和MQ-2型半导体电阻式烟雾传感器为核心设计的烟雾报警器是一种结构简单、性能稳定、使用方便、价格低廉、智能化的烟雾报警器。具有一定的实用价值。
关键词:烟雾,报警器,AT89S52,传感器
#include reg52.h //52系列头文件#include stdio.h#include intrins.h#define uchar unsigned char //宏定义uchar#define uint unsigned int //宏定义uint
long int a1,d0,d,e1,b,c,s,s1,nongdu;sbit beep=P1^4; //定义蜂鸣器的iouint temp,t,w; //定义整型的温度数据uchar flag,a,flag1,num;float f_temp; //定义浮点型的温度数据uint low; //定义温度下限值 是温度乘以10后的结果uint high; //定义温度的上限值sbit jdq=P1^0;sbit ADCCLK=P1^5;//时钟sbit ADCCS=P1^7;//片选端sbit DI=P1^6;//起始信号输入与端口选择及数据输出端uchar dat=0;//AD值sbit DO=P1^6;//ADC0832数据输出uchar CH=0;//通道变量sbit k1=P3^3; //功能键控制iosbit s2=P3^5; //增大按键iosbit s3=P3^6; //减少键控制iosbit s4=P3^7;bit t1;uchar flag1,flag2,flag3,flag4,s1num,qian,bai,shi,ge;uchar code table[]= { 0xc0,0xf9,0xa4,0xb0,0x99, 0x92,0x82,0xf8,0x80,0x90, }; //共阳数码管段码表 没有小数点 0~9
void delay(uchar z) //延时函数{ uchar a,b; for(a=z;a0;a--) for(b=110;b0;b--);}void init(){ EA=1; //打开全局中断控制 ,再此条件下,由各个中段控制位确定相应中断的打开和关闭 ET1=1; //打开定时器T1中段 TR1=1; //启动定时器T1 TMOD=0x10; //定时器1工作方式1 TH1=(65536-4000)/256; //给定时器高四位赋初值 TL1=(65536-4000)%256; //给定时器第四位赋初值 flag=0; nongdu=3000;}/**************************************************AD转换函数***************************************************/uint ADC0832(){uint i,test,adval;adval=0;test=0;ADCCS=0; //选通ADC0832_nop_(); //延时ADCCLK=1;//第一个脉冲的上升沿_nop_(); //延时DI=1; //第一个脉冲下降沿之前ADC0832转换启动信号ADCCLK=0;//第一个脉冲的下降沿_nop_(); //延时ADCCLK=1;//第二个脉冲的上升沿_nop_(); //延时 if(CH==0)//选通CH0通道 { DI=1;//第二个脉冲下降之前送人通道选择第二位 ADCCLK=0;//第二个下降沿 _nop_(); ADCCLK=1;//第三个脉冲上升沿 _nop_(); DI=0
文档评论(0)