基于单片机的烟雾报警器的设计.doc
本科毕业论文(设计)题目:基于单片机的烟雾报警器的设计姓 名: 韦阿俊 学 号: 1042051334 专 业: 电子信息工程 院 系: 电子通信工程学院 指导老师: 秦永平 职称学位: 副教授硕士 完成时间: 2014年5月 教务处制安徽新华学院本科毕业论文(设计)独创承诺书本人按照毕业论文(设计)进度计划积极开展实验(调查)研究活动,实事求是地做好实验(调查)记录,所呈交的毕业论文(设计)是我个人在导师指导下进行的研究工作及取得的研究成果。据我所知,除文中特别加以标注引用参考文献资料外,论文(设计)中所有数据均为自己研究成果,不包含其他人已经发表或撰写过的研究成果。与我一同工作的同志对本研究所做的工作已在论文中作了明确说明并表示谢意。毕业论文(设计)作者签名: 日期: 基于单片机的烟雾报警器的设计摘 要随着社会和经济的发展,防火工作无疑变得越来越重要了,但是目前国内的许多研发都在专注大型场所的火灾报警。因此,我们很有必要设计一种结构简单、经济实用的家庭烟雾报警器来满足市场的需求。基于供家庭使用的烟雾报警器应该具备的基本要求和功能,因此设计了一种比较合理适用的烟雾报警器。该设计以单片机STC89C52和传感器MQ-2作为烟雾报警器的核心元器件,并配合其它元器件来实现声音报警等功能。设计中选用STC89C52单片机作为控制器,选用MQ-2型半导体可燃气体敏感元件传感器来实现烟雾的检测。烟雾报警器主要由模数转换电路、单片机控制电路、声音报警电路、烟雾信号采集及前置放大电路、安全保护电路和显示电路构成,设计比较合理并且价格低廉、简单易懂,使单片机在整个烟雾报警器系统控制中得到了较为充分的应用,并且具有很高的的实用价值。论文主要针对烟雾报警的各个功能以及组成部分进行详细的介绍和说明,并对其外围设备电路和主控电路之间的接口连接方式,以及系统软件设计进行了重点的讲解和分析。关键字: 烟雾报警器;单片机;传感器 The Design of Smoke Alarm Based on MCUAbstractWith the development of society and economy, fire prevention is becoming more and more important. However, many of the R&D in China focus on fire alarm for large scale places at present. Therefore, it is necessary to design a economical and practical family smoke detector of simple structure to meet the demand of the market. Based on the basic requirements and functions of smoke alarm for family use, this applicable smoke alarm is designed.Taking STC89C52 MCU and MQ-2 sensor as the core components, the smoke alarm can realize the function of sound alarm and other functions with the help of other components and parts.In this design, STC89C52 MCU is chosen as the controller and MQ-2 semiconductor inflambale gas sensitive component is used to realize the smoke detection. The device is mainly composed of analog-to-digital conversion circuit, MCU control circuit, voice alarm circuit, smoke signal acquisition and preamplifier circuit, protection circuit and display circuit. The design at a low cost is rational and easy to understand. By making full use of MCU in the system control of the device, the design is of great practical value. Providing detailed introduction and explanation to the functions and compositions of the smoke alarm, the paper elaborates on and analyzes the connection interface between the peripherals and major control circuits and the design of system software.Key Words:The Smoke Alarm;MCU; Sensor目 录1 绪 论11.1 课题背景11.2 设计概述11.3 设计任务分析22 总体方案设计32.1 烟雾传感器的介绍42.1.1 MQ-2半导体气体烟雾传感器42.2 STC89C52单片机简介52.2.1 单片机的引脚功能描述52.3 温度采集模块63 系统的硬件电路83.1 单片机最小系统83.2 单片机的时钟电路与复位电路设计93.3 烟雾检测AD采集电路103.4 显示模块103.5 声音报警电路113.6 按键控制电路123.7 电源模块123.8 温度传感器(DS18B20)电路133.8.1 DSl8B20具体参数143.8.2 DSl8B20接口电路154 系统软件的设计174.1 STC89C52系列单片机开发工具174.2 系统主程序设计及流程图174.2.1 主程序初始化流程图194.2.2报警子程序设计及流程图194.2.3 按键输入设计子程序流程图205 调试225.1 软件调试的步骤225.2 硬件调试的步骤235.3 调试过程中遇到的问题及解决方法236 总 结25致 谢26参考文献27附 录281 绪 论1.1 课题背景由于科技的发展以及工农业生产,越来越多的隐患也将随之而产生。为了早期发现和通报火灾,减少和防止火灾危害,防止火灾引起的燃烧和爆炸等事故,造成严重的人员伤亡以及经济损失,以及影响社会主义现代化建设。为了预防和减少该事故的发生,那就一定要采用先进可靠的仪表进行安全检测,实时检测烟雾的浓度,才能及早地发现隐患,随之采取强有力的措施,从而避免该类事故的发生,这样才能保证家庭及工业生产的安全。因此,智能烟雾检测系统将成为一个重要的研究领域。1.2 设计概述烟雾报警器系统的两大核心:单片机及烟雾传感器。单片机在传感器和报警器中起着桥梁枢纽作用,在工农业生产及人们的日常生活中已深入应用,随着社会的发展需求,各种类型的单片机应运而生。单片机传感器和报警电路设备的桥梁作用,其实是器件级计算机系统,也就是微控制器和微处理器。由于单片机成本低而且体积也较小,所以绝大数的电子系统中都有单片机的存在。同时,单片机也可以用在报警检测系统中,及时发现隐患,让人们有足够的时间来采取相应措施,因此智能烟雾报警器在生活已经工业生产中起到了至关重要的作用。传感器好比人的鼻子,是信息时代的感官器件,“鼻子”的灵敏度直接导致了系统的反应速度。20世纪80年代曾被美国成为传感器时代,而在日本,传感器被称为十大技术之一。因此,根据烟雾报警器的需求,选择一款经济实用,反应灵敏的单片机和传感器是至关重要的。在该论文中,STC89C52单片机和MQ-2半导体气体烟雾传感器是本设计的两大核心器件。1.3 设计任务分析本篇论文是烟雾报警器的设计:(1) 对系统进行整体规划和结构设计。(2) 以STC89C52单片机为中央处理器,对硬件电路进行设计和改进,让其功能更加完善。系统硬件电路主要分为数据收集、声音报警电路、状态指示灯电路、数码管显示电路部分。 (3) 系统的软件编制。按照软件实现的功能,主要分为主程序、初始化子程序、浓度显示子程序、报警子程序、报警限值设置子程序。在程序的编写过程中,为了方便后期的改进及维护,因此加了详细的注释。(4) 硬件电路和软件的综合调试。 2 总体方案设计烟雾报警器是能够检测出环境中的烟雾浓度过高时,并具有安全报警功能的仪器。该烟雾报警器的基本组成部分应包括:字符显示电路、单片机控制电路、信号采集模数转换电路、安全保护电路和声光报警电路等部分组成。为了适应工业和家庭等场所对易爆易燃等安全性的要求,设计出来的烟雾报警器应该具有明显的报警作用。报警器采用延时的工作方式,烟雾检测报警器以STC89C52单片机为控制核心,选用MQ-2半导体气体烟雾传感器采集烟雾浓度信息,配合外围电路构成烟雾报警系统。该设计包括软件和硬件两个部分。从设计的要求来分析该设计须包含如下结构:烟雾检测部分、STC89C52单片机主控部分、报警部分,AD采集四大部分。电路总题框图如图2.1所示: 电源开关 电源 STC89C52 单片机AD采集电路显示电路报警电路按键控制 图2.1 总体设计框图处理器是采用的51系列单片机STC89C52。整个系统都是在系统软件控制下工作的。烟雾检测探头能将检测到的烟雾变成电信号,然后送出模拟信号,再给AD采集电路采集。在单片机内,经软件查询、识别判决等环节实时发出烟雾报警状态控制信号。驱动蜂鸣器及报警指示灯报警。2.1 烟雾传感器的介绍烟雾传感器就是一个能将空气中的烟雾浓度变量转换成有一定对应关系的输出信号的装置2。而烟雾传感器就是通过监测环境中烟雾浓度来实现火灾防范的。当烟雾探头接触到烟雾或者其他特定的气体时,烟雾探头内部阻值发生变化,产生一个模拟值,从而对其进行控制。烟雾传感器利用烟雾敏感元件的电阻受烟雾(主要是可燃颗粒)浓度影响阻值变化的原理向单片机发送烟雾浓度相应的模拟信号,单片机从而对其进行控制9。2.1.1 MQ-2半导体气体烟雾传感器MQ-2半导体传感器是以清洁空气中电导率较低的金属氧化物二氧化锡(SnO2)为主体的N型半导体气敏元件10。当空气中的烟雾浓度增高时,传感器的电导率也会随之而增加。MQ-2传感器具有一般半导体烟雾传感器的一些优点,如抗干扰能力强、输出信号大、灵敏度高、响应和恢复时间短、电导率变化大、工作稳定和寿命长等优点,在市面上应用相当广泛7。MQ-2传感器技术指标见表2-1。表2-1 MQ-2的一些技术指标加热电压(Vh) AC或DC 5±0.2V 回路电压(Vc)负载电阴(Rl)清洁空气中电阻 (Ra) 灵敏度(S=Ra/Rdg)响应时间(trec)恢复时间(trec)元件功耗检测范围使用寿命最大DC 24V2K2000 K4(在1000ppmC4H10中)10S30S0.7W5010000ppm2年 由于测量范围和物理量的不同,传感器的结构和工作机理就不同。烟雾传感器大多数输出的电信号是模拟信号。当输入的信号强度符合A/D转换器的输入级别时,那么就不用放大器放大了;反之 ,就需要放大器对其进行放大。所以MQ-2传感器要想把采集到的信号发送给单片机,那就必须要经过A/D转换器将其转换成单片机可以识别的电信号。 设计时应注意,气敏元件开机通电时,其内阻很小,但经过一段时间后,就能恢复到原来的稳定状态。因此,QM-2气体传感器需开机预热几分钟,才可投入使用,以免造成误报。2.2 STC89C52单片机简介 STC89C52是一种高性能、低功耗的CMOS8位微控制处理器,具有8K可编程Flash存储器15。使用非易失性的高密度储器技术制造,并能够与工业80C51产品引脚和指令完全兼容。在单芯片上,不仅可以在系统可编程Flash,而且拥有灵巧的8位CPU,使得STC89C52在众多嵌入式控制应用系统中不可缺少。STC89C52具有如下标准功能:256字节RAM,8k字节Flash,32位I/O 口线,2个数据指针,看门狗定时器,三个16位定时器/计数器,全双工串行口,一个6向量2级中断结构,片内晶振及时钟电路16。另外,STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、串口、计数器/定时器、中断继续工作。在掉电保护模式下,RAM内容能够被保存,振荡器被冻结,单片机停止一切工作,直到下一个硬件复位或中断为止。这一模块以单片机为核心把程序烧进去然后外围接上振荡电路、复位电路、LED显示电路、键盘控制、报警电路等子模块。2.2.1 单片机的引脚功能描述下面对STC89C52各引脚的功能进行较为详细的介绍:(1) 电源引脚Vcc和VssVcc(40脚):电源端为+5V Vss(20脚):接地端。 (2) 时钟电路引脚XTAL1和XTAL2XTAL2(18脚):接外部晶体和微调电容的一端。XTAL1(19脚):接外部晶体和微调电容的另一端。在片内,它是振荡电路反向放大器的输入端。在采用外部时钟时,该引脚必须接地。 (3) 控制信号脚 RST ,ALE/PSEN 和EA。RST(9脚):RST是复位信号输入端,高电平有效。在此输入端保持两个机器周期(24个时钟振荡周期)的高电平时,就可以完成复位操作。ALE/PROG(30引脚):地址锁存允许信号端。PSEN(29脚):程序存储允许输出信号引脚。 EA/VPP(31脚):外部程序存储器地址允许输入端/固化编程电压输入端。(4) I/O(输入/输出端口,P0,P1,P2,P3)P0口:P0口是一个漏极开路的8位准双向I/O端口。P1口:8位准双向I/O端口。P2口:即可以做地址总线输出地址高8位,也可以做普通I/O用,(此时为准双向口)。P3口:双功能口,即可以做普通I/O口用(此时为准向口,也可以按每位定义实现第二功能操作)。见表2-2。表2-2 P3口的第二功能表18引脚第二功能P3.0RXD (串行输入口)P3.1TXD (串行输出口)P3.2INT0(外部中断0)P3.3INT1(外部中断1)P3.4T0(定时器0外部中断)P3.5T1(定时器1外部中断)P3.6WR(外部存储器写选通)P3.7RD(外部存储器读写通)2.3 温度采集模块采用DS18B20作为温度传感器。DS18B20的数字温度输出通过 “ 一线 ” 总线(1-Wire是一种独特的数字信号总线协议,它将独特的信号线和电源线复合在一起,仅使用一条口线;每个芯片唯一编码,零功耗等待、支持联网寻址等,是所需硬件连线最少的一种总线)这种独特的方式,可以使多个 DS18B20方便地组建成传感器网络,为整个测量系统的建立和组合提供了更大可能性14。它在测温精度、传输距离、转换时间、分辨率等方面比其他温度传感器有了很大的进步,给用户的使用带来了方便带,并赢得了用户的好评。3 系统的硬件电路3.1 单片机最小系统单片机最小系统由单片机、时钟电路、复位电路构成。STC89C52 单片机的工作电压范围:4V5.5V,因此,我们通常用5V的直流电源给单片机供电。即单片机中的40脚VCC接+5V,而20脚VSS接地17。复位电路:用来确定单片机的起始工作状态,以便完成单片机的启动过程。当单片机接通电源时,能够产生一个复位信号,来确定单片机的起始工作状态以及完成单片机的启动。当单片机系统处于正常运行时,受到来自外界的干扰,出现程序错乱时,此时按下复位按钮,其内部的程序会重新开始执行。复位电路一般有两种:上电自动复位和外部按键手动复位。该设计所采用的复位电路为外部手动按键复位电路,因此,需接一个上拉电阻,用来提高输出高电平的值。时钟电路:时钟电路就像单片机的心脏,它能够控制着单片机的工作节奏16。时钟电路也可以说是振荡电路,是它能向单片机提供正弦波信号,决定了单片机的执行速度。XTAL1和XTAL2分别为反向放大器的输入和输出,该反向放大器可以配置为片内振荡器。如采用外部时钟源驱动器件,XTAL2应不接。因为一个机器周期含有6个状态周期,而每个状态周期为2个振荡周期,所以一个机器周期共有12个振荡周期,如果外接石英晶体振荡器的振荡频率为12MHZ,一个振荡周期为1/12us。要使单片机能够工作起来最基本的电路构成为单片机最小系统。如图3.1所示: 图3.1 单片机最小系统图3.2 单片机的时钟电路与复位电路设计本系统采用STC系统列单片机,相比其他系列单片机具有很多优点。一般STC单片机资源比其他单片机要多,而且执行速度快;STC系列单片机使用串口对单片机进行烧写,下载程序较为方便;STC89C52单片机内部集成了看门狗电路;且具有很强抗干扰能力。本系统采用内部方式的时钟电路和加电自复位的复位电路,如图3.2时钟电路及复位电路图所示:(a) 时钟电路 (b) 复位电路图3.2 时钟电路及复位电路由于单片机P0口内部不含上拉电阻,为高阻态,不能正常地输出高/低电平,因而该组I/O口在使用时必须外接上拉电阻5。3.3 烟雾检测AD采集电路 烟雾检测采用MQ-2传感器。经过ADC0832采集后就可以得到各种烟雾浓度下的电压值。从而设定出理想的烟雾强度报警值。电路如图3.3所示: 图3.3 烟雾浓度采集电路3.4 显示模块显示采用数码管显示,显示电路如图3.4所示:图3.4 数码管显示3.5 声音报警电路电路通过三极管基极串连一个电阻与单片机P3.6端口连接从而达到控制蜂鸣器是否报警。声音报警电路如图3.5所示: 图3.5 声音报警电路图 3.6 按键控制电路本电路设计了四个按键,一个设置键、一个加键、一个减键、一个紧急报警键,当遇到紧急情况时,可按下紧急报警键,蜂鸣器进行报警。如图3.6所示:图3.6 消音按键连接电路图3.7 电源模块采用3节1.5 V干电池共4.5V做电源,经过实验验证系统工作时,单片机、传感器的工作电压稳定能够满足系统的要求电源接口电路如图3.7所示,其中P1为电池接口,SW1为电源开关,D1为电源指示灯。图3.7 电源接口电路图3.7 电源接口电路图3.8 温度传感器(DS18B20)电路DSl8B20温度传感器是美国DALLAS半导体公司继DSl820之后最新推出的智能改进型智能温度传感器。与传统的热敏电阻相比,他能够直接读出被测温度并且可根据要求通过简单的编程实现9l2位的数字直读方式。温度传感器内部结构框图如3.8所示: 图3.8 DSl8B20的内部结构图9DS18B20的内部结构主要有四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器9。DS18B20的管脚排列如图3.9所示: 图3.9 DS18B20的管脚DS18B20的引脚说明如下:GND:地 DQ:数据I/O VDD:电源 NC:空脚 3.8.1 DSl8B20具体参数参数特性12:(1) 多点综合测温能力使分布式温度检测应用得以简化。(2) 独特的单线接口只需l个接口引脚即可通信。(3) 需备份电源。(4) 不需要外部元件。(5) 以9位数字值方式读出温度。(6) 应用范围包括恒温控制工业系统消费类产品温度计或任何热敏系统。(7) 可用数据线供电。(8) 告警搜索命令识别和寻址温度在编定的极限之外的器件温度告警情况。(9) 在1秒(典型值)内把温度变换为数字。(10) 测量范围从-55至+125增量值为0.5。(11) 用户可定义的非易失性的温度告警设置。极限参数:(1) 运用温度-55至+125。(2) 任何引脚相对于地的电压-0.5V至+7.0V。(3) 焊接温度260/l0秒。(4) 贮存温度-55至+125。3.8.2 DSl8B20接口电路1. DS18B20控制方法。DS18B20有六条控制命令:(1) 读暂存器 BEH 读暂存器9个字节内容。(2) 温度转换 44H 启动DS18B20进行温度转换 。(3) 复制暂存器 48H 把暂存器的TH、TL字节写到E2RAM中。 (4) 读电源供电方式 B4H 启动DS18B20发送电源供电方式的信号给主CPU。 (5) 写暂存器 4EH 将数据写入暂存器的TH、TL字节。 (6) 重新调E2RAM B8H 把E2RAM中的TH、TL字节写到暂存器TH、TL字节。 2. DS18B20供电方式。DS18B20可以采用两种方式供电,一种是采用电源供电方式,此时DS18B20的1脚接地,2脚作为信号线,3脚接电源。另一种是寄生电源供电方式,如图3.1所示单片机端口接单线总线,为保证在有效的DS18B20时钟周期内提供足够的电流,可用一个三极管来完成对总线的上拉。本设计采用电源供电方式, P2.3口接单线总线为保证在有效的DS18B20时钟周期内提供足够的电流,可用一个上拉电阻和STC89C52的P2.3来完成对总线的上拉。当DS18B20处于写存储器操作和温度A/D变换操作时,总线上必须有强的上拉,上拉开启时间最大为10 s。采用寄生电源供电方式是VDD和GND端均接地。由于单线制只有一根线,因此发送接收口必须是三状态的。主机控制DS18B20完成温度转换必须经过3个步骤:(1) 初始化。(2) ROM操作指令。(3) 存储器操作指令。DSl8B20接口电路如图3.10所示:图3.10 温度传感器接口电路图4 系统软件的设计4.1 STC89C52系列单片机开发工具 本系统的软件编程使用的是美国Keil Software公司出品的Keil C51,是51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势。 Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。 4.2 系统主程序设计及流程图本论文中,软件解决的主要问题是检测烟雾传感器的烟雾浓度信号,然后对信号进行AD转换,数字滤波,线性化处理,数码管浓度显示,按键功能设置,以及报警器蜂鸣警报13。 主程序流程图如图4.1所示:程序初始化传感器预热处理开始报警子程序 图4.1 主程序流程首先要给传感器预热,因为MQ-2型半导体电阻式烟雾传感器在不通电存放一段时间后,再次通电时,传感器不能立即正常采集烟雾信息,需要一段时间预热。程序初始化结束后,系统进入监控状态。在整个报警系统工作中,将烟雾信号变成电信号,然后送出模拟信号,再给AD采集电路采集由单片机进行分析处理,判断是否超过预设报警值,系统是否启动报警。主程序还包括LED八段式数码管浓度字符显示功能、手动报警功能、报警浓度设定功能,中断子程序等,使报警器功能更加完善,给用户带来便利。4.2.1 主程序初始化流程图主程序初始化流程图如图4. 2所示。给传感器预热后,程序开始执行初始化子程序,这部分实现的功能包括各种I/O口输入输出状态的设定、 寄存器初始化、中断使能等。设置定时器0,选择方式1允许外部中断0关闭蜂鸣器结束开始熄灭数码管图4.2 主程序初始化流程图4.2.2 报警子程序设计及流程图 当烟雾浓度或温度超过报警设定值时,报警器会发出蜂鸣声,以提示操作人员采取安全对策,从而保障生产安全,避免火灾和爆炸事故的发生。报警子程序流程图如4.3所示:NY开始信号采集读取气体浓度值A/D转换是否大于预设值启动报警蜂鸣器烟雾浓度及温度显示读取温度值图4.3 报警子程序流程图4.2.3 按键输入设计子程序流程图按键由于弹性作用的影响,在闭合及断开均有抖动过程,从而使电压也出现抖动,所以在识别按键时要消除抖动的影响。按键的识别方法采用扫描法,按键处理程序流程图如图4.4所示:N Y 调用延时子程序,延时10ms去抖动调用键盘处理子程序提取键值按键是否闭合按键是否闭合结束开始Y N 图4.4 键盘扫描子程序流程图5 调试5.1 软件调试的步骤(1) 源文件的建立:使用菜单 “File-New”或者点击工具栏的新建文件按钮,即可在项目窗口的右侧打开一个新的文本编辑窗口,在该窗口中输入汇编语言源程序(4.2小节所示)。保存该文件,加上扩展名(.c),这里将文件保存为examl1.c。(2) 建立工程文件:点击“Project-New Project”菜单,出现以个对话框,要求给工程起一个名字,我们输入examl1,不需要扩展名,点击保存按钮,出现第二个对话框。这个对话框要求选择目标CPU(即我们所使用的芯片型号80C51)点击ATMEL前面的“+”号,展开该层,点击其中的80C51,然后点击确定按钮。回到主界面,此时,在工程窗口的文件页中出现了“Targ et1”,前面有 “+”号,点击“+”展开,可以看到下一层的“Source Group1”,这时的工程还是一个空工程,里面什么文件也没有,需要手动把刚才编写好的源程序加入,点击“Souce Group”使其反白显示,然后,点击鼠标右键,出现一个下拉菜单。选中其中的“Add file to Group”Souce Group1”,对话框,要求寻找源文件,在列表框中找到examl1.c文件。双击examl1.c文件,将文件加入项目,注意,在文件加入项目后,该对话框并不消失,等待继续加入其他文件,但初学时常会认为操作没有成功而再次双击同一文件,这时会出现对话框,提示你所选的文件以在列表中,此时点击确定,返回前一对话框,然后,点击”Close”即可返回主界面,返回后,点击“Souce Goup 1”前的加号,会发现examl1.c文件以在其中。双击文件名,即打开源程序。(3) 工程的详细设置:首先点击左边Project窗口的Target 1,然后使用菜单“Proget-Option for target target 1”即出现对工程设置的对话框,对这个对话框可谓非常复杂,共有8个页面,要全部高清可不容易,好在绝大部分设置项取默认值就行了。设置完成以后安确认返回主界面,工程建立、设置完毕。(4) 编译、连接:在设置好工程后,既可以进行编译、连接。选择菜单Project-Build target,对当前工程进行连接,然后在连接以产生目标代码。编译过程中的信息将出现在输出窗口中的Build页中,如果源程序有语法错误,会有错误报告出现,双击该行,可以定到出错的位置,对源程序反复修改后,最终会得到名为examl1.hex的文件,该文件即可被编程器读入并写到芯片中。(5) 下载examl1.hex文件到单片机中:首先,用USB转串口数据线将单片机开发板与电脑相连,打开STC厂家的下载软件,即STC-ISP.exe,然后在Step1中MCU Type栏选择单片机的型号,本设计选择STC89C52RC,接着在Step2中选择主程序,即选择之前生成的exam11.hex文件,然后在Step3中选择对应的COM口,波特率为默认值,不对其进行操作1,在Step4中值都为默认值,不对其操作,最后,在Step5中,点击Downlode/下载即可(注意:STC89C52RC是一款冷启动的单片机,进行下载时必须是断电状态,也就是说先断电,再点击下载,然后再上电,在上电的一瞬间,它会监测是否有程序下载,如果有程序下载,就进行程序下载,否则,就会执行之前的程序)。5.2 硬件调试的步骤第一步为目测,单片机应用系统电路全部手工焊接在洞洞板上,因此对每一个焊点都要进行仔细的检查。检查它是否有虚焊、是否有毛剌等。第二步为万用表测试,先用万用表复核目测中认为可疑的连线或接点,查看它们的通断状态是否与设计规定相符,再检查各种电源线与地线之间是否有短路现象。第三步为加电检查。当系统加电时,首先检查所有插座或器件引脚的电源端是否有符合要求的电压值,接地端电压值是否接近零,接固定电平的引脚端是否电平正确。第四步是联机检查。5.3 调试过程中遇到的问题及解决方法在进入环境以后,遇到了很多问题,总结如下:(1) 在进入Keil的调试环境以后,发现程序有错。解决方法:将光标定位于需要修改的程序上,用菜单,DebugInline Assambly即可出现对话框,Enter New 后面的编辑框内直接输入需要修改的程序语句,输入完之后键入回车将自动指向下一条语句,可以继续修改,如果不在需要修改,可以点击右上角的关闭按钮关闭窗口。(2) 程序调试时,一些程序必须满足一定的条件才能被执行到。解决方法:这些条件往往是异步发生或难以预先设定的,这类问题使用的单步实行方法是很难调试的,这时就要使用发哦程序调试中的另一种非常重要是方法-断点设置。断点设置的方法有多种,常用的是在某一程序行设置断点,设置好断点后可以全速运行程序,一旦执行到该程序行即停止,可在此观察有关变量值,以确定问题所在。在程序行设置/移除断点的方法是将光标定位于需要设置断点的程序行,使用菜单Debug/Insert/RemoveBreakPoint设置或移除断点(也可以用鼠标在该行双击实现同样的功能);Debug/Enable/Disable BreakPoint是开启或暂停光标所在懂行的断点功能;Dubug/Disale All BreakPoint暂停所有断点;Debug/Kill All BreakPoint清除所有的断点设置。这些功能也可以用工具条上的快捷键进行设置。(3) 输入程序时,有中文标点,用keil编译时出现错误。解决方法:程序里有带中文标点,用英文重输入一遍。6 总 结烟雾检测报警器可保障生产与生活的安全,避免火灾和爆炸事故以及煤气中毒的发生,它是防火、防爆和安全生产所必备的仪器,具有广阔的市场空间与发展前景。 本论文在对烟雾传感器和报警技术进行深入研究的基础上,全面比较国内外同类产品的技术特点,合理地确定系统的设计方案。并对仪器的整体设计和各个组成部分进行了详细的分析和设计。 本论文设计的烟雾报警器由单片机控制电路和烟雾信号采集电路两大部分组成。根据使用环境、设计要求、成本等因素,选用MQ-2型半导体电阻式烟雾传感器。该传感器是对以烷类烟雾为主的多种烟雾有良好敏感特性的广谱型半导体敏感器件。它的灵敏度适中,具有恢复与响应特性好,长期工作稳定性、抗温湿度影响及不易受环境影响等众多优点。 在系统单片机控制电路的设计上,采用了高整合度、高性能的STC89C52单片机作为核心芯片,充分利用了其高速数据处理能力和丰富的片内外设,实现了仪器的小型化和智能化。使仪器具有结构简单、性能稳定、体积小、成本低等优点。由于烟雾传感器需要在加热状态下工作,温度越高,反应越快,响应时间和恢复时间就越快。为提高响应时伺,保证传感器准确地、稳定地工作,需要向烟雾传感器持续供给5V的加热电压。烟雾报警器能在较宽的温度范围工作,可将烟雾浓度显示用LED数码管显示。当烟雾的浓度达到设定的浓度时,发出报警。到目前为止我的毕业设计也即将告一段落了,在这次的毕业设计中,自己也学习到了很多以前没有经历过的知识,让我更加清楚了理论知识和实践能力的差别了,了解到自己的短处,培养了我的独立思考能力,进一步提高了自己在实际设计过程中研究问题、发现问题、解决问题的能力,同时,也发现了自己的不足之处,和一些问题的存在,并有待进一步学习和发展,让自己在未来的工作和学习之中更快的适应和提高自己。致 谢在完成这次设计的写作过程中,我十分感谢我的指导老师。从选题到完成设计,老师一直都是很悉心的给我讲解着在设计中遇到的各种问题,循循善诱,严格把关,帮助我开拓设计思路,并不断地鼓舞着我,使我感到信心倍增,让我非常积极地投入到设计中,不断地完成设计中的一个个部分。在此,再次感谢老师在设计上不断地给与我帮助,让我在大学里的最后一次的学习过程中,充分感受到了自己对学习的兴趣和热情,使我能够圆满地完成自己的毕业设计。回想大学四年的时光,仿佛尽在昨天。最后,我还要感谢在我大学四年的学习期间给我极大关心和支持的家人、各位老师以及我的同学和朋友。是你们在生活和学习上不断给与我支持、帮助和无微不至的关怀,是你们不断地给与了我信心,让我在人生中一次次坚强地走下去。参考文献 1 何利民单片机高级教程M北京:航空航天大学出版社,20062 李晓莹传感器与测试技术M北京:高等教育出版社,20043 何延治,杨海荣火灾危险性评估在建筑防火设计中的应用J建筑设计管理,2006,16(33)4 胡显华火灾探测器误报警的原因及改进方法J电脑开发与应用,2007