烟雾报警器课程设计总结报告_第1页
烟雾报警器课程设计总结报告_第2页
烟雾报警器课程设计总结报告_第3页
烟雾报警器课程设计总结报告_第4页
烟雾报警器课程设计总结报告_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

设计题目基于89C52的室内火、气安全监测装置指导教师报告成绩2 3第一章项目任务 3 31.2设计要求 3第二章方案设计与硬件选择 4 42.2温度传感器模块DS18B20 42.3烟雾报警器电路MQ2 5 6 62.6报警电路 6 62.8复位电路 6第三章流程图设计 73.1电路系统模块 73.2主程序流程图 83.3温度报警子程序 93.4烟雾报警子程序图 93.5对18B20写程序流程图 3.6对18B20读8为数据流程图 3.7温度值转换流程图 3.818B20读取温度流程图 第四章电路实验与调试 4.1焊接 4.2软件设计 4.3调试与处理出现问题 第五章设计总结 附录 3随着现代信息技术的飞速发展和传统工业改造的逐步实现,能够独立工作的温度检测与显示系统应用于诸多领域。传统的温度检测以热敏电阻为温度敏感元件。热敏电阻的成本低,需要外加信号处理电与传统的温度计相比,这次设计的是基于DS18B20的数字温度计,它具有读数方便,测温范围广,测温精确,数字显示,适用范围宽等特第一章项目任务1.1设计任务使用温度传感器和烟雾传感器把环境温度和烟雾的浓度情况检测出来,再采用单片机进行温度的显示和烟雾显示,可设置温度报警和烟雾报警。要求进行硬件、软件系统设计。要求:位温度的显示;设置报警温度;烟雾报警(1)能检测火灾事故,并报警(2)能检测烟雾,有毒气体泄漏事故,并报警(3)能实时显示室内温度值,并通过键盘设置温度报警上下限值4第二章方案设计与硬件选择2.1单片机89C52UIUIT2/P1.QT2EX/PL1P1.4MOSI/P1.5SCK/P1.7RKD/P3.0TXD/P3:1INTO/P32INTI/P33TVP3.4TI/D3.5WR/P3:6RD/P3.7XTAL2XTAL1GNDVccPO.1/AD1P0.2/AD2P0.3.AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7EA/VPDPESNP2.7/A15P2.6/A14P2.5/A13P2.4.A12P2.3/A11P2.2/A10P2.0/A8VCCRP1P1.4P15工P3.6XTAL2TAL1I689STC89C52管脚功能图字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableRea处理器,俗称单片机。2.2温度传感器模块DS18B202.2.1数字温度传感器DS18B20,具有独特的单总线接口方式,需一根总线就能实现控制模块与DS18B20之间的半双工通信。DS18B20是集传感元件和转换围为-55°C~+125°C,在-10~+85°C范围内。现场温度直接以”一线总线"的数字方式传输,大大提高了系统的抗干扰性。2.2.2工作原理DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的结构为8字节的存储器,结构如图1所示。的拷贝,是易失的,每次上电复位时被刷新。第5个字节为配置寄存器,它的内容用于确定温度值的数字转换分辨率。DS18B20工51字节。2字节。1字节。2字节。 3字节 4字节5字节。6字节7字节。8字节。9字节。作时按此寄存器中的分辨率将温度转换为相应精度的数值。该字节各位的定义热图二所示。低5位一直为1,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。在DS18B20出厂时该位被设置为0,用户不要改动,R1和RO决定温度转换得精度位数,即用来设置分辨率,定义方法见表1。图一TH用户字节TL用户字节2配置寄存器保留保留保留图二 TH用户字节10EPROM111112.3烟雾报警器电路MQ26MQ2烟雾传感器,有只针状管脚,其中4个用于信号取出,2个用于提供加热电流。当烟雾扩散时,烟雾传感器感应到烟雾时,继电器打到NO,风扇开始工作,马达转动,风扇产生吸力将烟雾吸入到装有活性炭和负离子的过滤外壳中,排清新干净的气体2.4信号调理及放大整形模块,LM358芯片LM358内部包括有两个独立的、高增益、内部频率补偿的双运算放大器。当P1.5为0时报警。2.5显示模块LED采用LED数码管显示2.6报警电路用蜂鸣器作报警提示音,加发光二极管,声光结合充分突出了紧急提示信号的特点。2.7按键分析四个按键的功能分别为:第一个按键是结束选择,按一下表示显示管进行显示当时温度;第二个键是减键,对设定的温度进行减一;第三个键是加键;第四个键是进入键,按一下表示进入设置温度模式。2.8复位电路7原理:VCC上电时,C3充电,在10K电阻上出现电压,使得单片机复位;几个毫秒后,C充满,10k电阻上电流降为0,电压也为0,使得单片机复位。工作期间,按下S4,C放电,在10K电阻上出现电压,使得单片机复位。S松手,C又充电,几个毫秒后,单片机进第三章流程图设计3.1电路系统模块数码管显示数码管显示烟雾浓度MQ-2传感器放大电路蜂鸣器响报警灯亮温度18B20温度传感器按键单片机图1:电路系统模块3.2主程序流程图8开始1/O口初始化温度检测显示温度设定值?设定值?YESYES报警主程序3.3温度报警子程序9开始开始Y读取气体浓度值Y3.5对18B20写程序流程图开始初始化开始写数据八位已经写完?图7:对18B20写8位数据程序3.6对18B20读8为数据流程图开始初始化开始读数据八位已经读完?YES图8:对18B20读取8位数据程序3.7温度值转换流程图开始开始初始化读取高八位和低八位温度为负?YES转换为正值返回图9:温度值转换3.818B20读取温度流程图开始开始跳过读取序列号开始转换温度复位,延时跳过读取序列号读暂存读取转换温度复位返回图10:从18B20读取温度第四章电路实验与调试4.1焊接4.2软件设计#defineuintunsignedint//宏定义#defineucharunsignedchar//宏定义#definedateP1//数码管段选uinttemp,alarmtemp;//定义温度,设定温度bitkey_lock,chang_flag;bitzerotempflag;//负温度标志位ucharcodeLED[]={0xC0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};://三位共阳极数码管0~9的断码//数码管位定义sbitge=P1^2;//个位sbitshi=P1^1;//十位sbitbai=P1^0;//百位sbitbell=P2^7;//蜂鸣器定义sbitMQ=P1^5;//MQ-2定义sbitDQ=P1^4;//18B20定义//按键定义{//延时子程序for(i=xms;i>0;i--)//i=xms即延时约xms;for(j=110;j>0;j--);}{//微妙级延时_nop_():}{//数码管显示子程序//取一温度值xuinttempl;temp1=temp1%1000;//使温度值不超过三位有效数//动态显示//显示个位ge=0;//开显示date=LED[temp1%10];//将templ的个位显示出来delay_ms(2);//延时2msge=1;//关显示//显示十位shi=0;//开显示date=LED[temp1%100/10]&0x7f;//将templ的十位显示出来,并显示小数点dp位delay_ms(2);//延时2msshi=1;//关显示//显示百位bai=0;//开显示date=LED[temp1/100];//将templ的百位显示出来delay_ms(2);//延时2msbai=1;//关显示{//报警子程序if((temp>alarm_temp)|(MQ{==O))//如果温度大于设定值或MQ2=0bell=0;//蜂鸣器响}bell=1;//蜂鸣器不响}/*****************18B20程序******************/voidfuwei(void)DQ=0;delay_us(50);DQ=1;delay_us(5);//70us}ucharread_18B20(void){//从18B20读取8位数据uchari,dat;for(i=0;i<8;i++){DQ=0;_nop_();DQ=1;_nop_();_nop_();delay_us(2);//从最低位开始接收//数据右移一位//延时lus//释放总线//延时2us后在读取,不然读取值会紊乱,很关键!!!//如果接收到的是1,则最高位置为1//延时40usreturndat;}voidwrite_18B20(uchardat){//对18B20写8位数据uchari;for(i=0;i<8;i++){DQ=0;DQ=(bit)(dat&Ox01);delay_us(1);DQ=1;//从最低位开始发送//右移一位//延时40us//释放总线}voidchangetemp(void)uintTemp_L,Temp_H;if(((bit)(Temp_H&Ox80))){读取低八位读取高八位,当温度为负数时temp(7~4)为1,反之为0zerotemp_flag//负温度计算=1;//温度为负数标志位Temp_H&=OxOf;temp=(Temp_H<<8|Temp_L)*0.625;}temp=(Temp_H<<8|Temp_L)*0.625;//保存一位小数voidread_temp(void){//从18B20读取温度fuwei();//复位delay_us(10);//延时write_18B20(0xcc);//跳过读取序列号write_18B20(0x44);//开始转换温度fuwei();//复位delay_us(10);//延时write_18B20(0xcc);//跳过读取序列号write_18B20(0xbe);//读暂存指令changetemp();}intmain(void)//读取转换温度//复位{//主程序alarm_temp=220;//设定温度初始值read_temp();//18b20测温delay_ms(500);//延迟500mswhile(1){read_temp();//18b20测温display(temp);//显示测到的温度alarm();//if(!keyO)//报警如果key0=0,则进入温度修改状态{delay_ms(2);//延迟2ms,消抖if(!keyO)//如果keyO=0,则确定键按下,显示温度chang_flag}while(chang_flag){if(keyl&key2)key_lock=1;//如果keyl&key2=1,则无效if(!key1){delay_ms(2);//延迟2ms,消抖if(!key1){if(key_lock){if(alarm_temp>990)//如果数码管前两位大于99,则清零alarm_temp=0;key_lock=0;}}if(!key2){delay_ms(2);//延迟2ms,消抖if(!key2){if(key_lock){if(alarm_temp>1000)//如果三位数码管都是0,则减一后变为990alarm_temp=990;key_lock=0;}}if(!key3){delay_ms(2)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论