基于51单片机的火灾自动报警系统设计

  • 格式:docx
  • 大小:44.90 KB
  • 文档页数:23

基于51单片机的火灾自动报警系统设计

This article discusses the design of a fire automatic alarm

system based on the 51 single-chip puter and DS18B20 ___

increasing popularity of electronic products。fire hazards have

___。they also generate heat。which can lead to increased fire

hazards if ___。it is ___ and property。The system sets an alarm

temperature value。and the DS18B20 temperature sensor monitors

the temperature in real time and displays the temperature value on

the LCD1602 liquid crystal display。If the temperature value

exceeds the alarm temperature value。the buzzer will sound an

alarm。The hardware circuit of this system is simple。the

program complexity is not high。and it has high reliability。low

cost。and high stability。making it practical and valuable。The

key components of the system include the 51 single-chip puter。temperature sensor。and fire automatic alarm.

国外相关研究

火灾报警系统在国外已有百年以上的发展历史。最早的火灾报警系统是19世纪40年代美国人发明的。90年代初,英国成功研制出温度式的火灾报警系统,并将其正式应用于火灾探测工作中。随着科技的不断进步和发展,火灾侦测技术也逐步趋于完善,越来越多的火灾侦测系统逐步进入市场。火灾侦测系统的发展大致可分为以下几个阶段:

第一阶段,从19世纪40年代到20世纪40年代左右,是火灾报警系统的初级阶段。主要以温度传感器作为探测器。系统通过温度传感器采集温度信号,然后通过判断温度是否达到限定的温度值来判断是否发生火灾。然而,这种系统较为简单,且仅靠温度一个参数来判断火灾,容易受到其他因素的影响,产生误报警现象。

第二阶段,从20世纪末到20世纪70年代末。在20世纪40年代末,瑞士物理学家研究出离子烟感探测器,从此之后烟感探测器被广泛应用于火灾报警系统中,并使得温度传感器的市场份额大幅减小。到了70年代末,烟感探测器已经不仅仅局限于离子式,而是在光电技术的基础上得到了蓬勃发展。光电式探测器一经面世,便获得了大力发展以及大量应用。其优点是抗干扰能力强,使用寿命长,且没有离子探测器的辐射问题。因此,光电式的烟感探测器逐渐取代离子式的探测器,正式登上历史舞台。

第三阶段是从20世纪80年代末。在此阶段中,总线式的报警系统兴起,获得了广泛应用。其优点是布线工作量显著减少,且易于安装和调试。但是由于其采用有线连接,因此对工程的要求较高。

第四阶段则是从20世纪80年代中后期至今。在这段时间中,计算机技术、集成电路技术以及传感器技术飞速发展,火灾报警系统逐步进入智能化时代。模拟量可寻址技术的应用使得报警系统的安全性、智能型和准确性有了质的飞跃。近年来,采用无线通信方式的自动报警系统在国外市场中呈现出欣欣向荣的状态。这种系统应用了无线通信技术,从而代替了传统的有线通信技术,实现了将大多数电气装置通过无线通信的方式连接起来,并加以控制或是传输数据。其适用范围非常广泛,各种建筑都适用。起初这种报警器紧紧适用于如名胜古迹或是博物馆等不适宜大规模布线的场所,但由于电子元件成本的降低,无线火灾自动报警装置也如旧时___一般,开始飞入寻常百姓家。 火灾报警器通常由火灾探测器、单片机、传感器接口电路和报警器等组成。火灾探测器可以通过检测火灾产生的物理或化学现象,如气体、烟雾和温度等要素,将数据发送至单片机。单片机执行相关判决程序来判断是否发生火灾,若发生火灾,则驱动报警器发出警报。

对于本文设计的报警系统,其原理是先通过单片机控制程序设定一个报警地温度值,然后让DS18B20不停地采集温度数据,并送入单片机。单片机将温度值实时显示在LCD1602液晶显示屏上,并将采集到的地温度值与预设报警温度值进行比较。若采集到的地温度值小于报警温度值,则重复上述步骤。若高于或等于报警温度值,则驱动蜂鸣器进行报警。电路的整体框图如图2.1所示。

在一个火灾自动报警器中,单片机是其中的核心部件。它需要接受来自传感器的信号,将其与预设的报警温度值进行比对,将温度信息输出至LCD1602液晶显示屏,驱动蜂鸣器进行报警。综合多方面考虑,本设计采用了___出品的STC89C52RC单片机。

STC89C52RC是一种高性能但低功耗的8位CMOS处理器,具有8K系统可编程flash存储器。它使用经典的MCS-51内核,但做了很多改进,具有传统的51单片机所不具备的功能。它具有标准的512字节RAM、8k字节flash存储器、32位I/O口线、看门狗定时器、内置4KB EEPROM、MAX810复位电路、3个16位定时器/计数器、4个外部中断、一个7向量4级中断结构(兼容传统51的5向量2级中断结构)、全双工串行口。另外,STC89C52可将至0Hz静态逻辑操作,支持2种软件可选择的节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,知道下一个中断或硬件复位为止。根据本设计的需求,采用DIP-40封装。其引脚图如图3.1所示。

图3.1 STC89C52RC引脚图

单片机的内部结构如图3.2所示。主要由随机数据存储器(RAM)、程序存储器(ROM)、中央处理器(CPU)、输入输出口、串行口、内置的定时器/计数器、中断控制、总线控制和时钟电路组成,这些部件通过总线连接在一起。

CPU是单片机内部的核心器件,由运算器和控制器两大部分组成,还具有面向控制的未处理功能。

STC89C52单片机内置512字节的随机数据存储器(RAM),如果需要提升RAM容量,可以通过片外扩展实现。

ROM是用来存储程序的存储器,在STC89C52中集成了8K字节的FLASH存储器,如果片内容量不够,还可以扩展至64KB。

中断系统具有5个中断源和2级中断优先权。

定时器/计数器是片内集成的3个16位定时器/计数器T0、T1、T2,具有四种工作方式。

串行口是一个全双工异步串行口,具有四种工作方式,可用于串口通信、扩展并行I/O口,还可以与多个单片机相连以构成多级系统。

特殊功能寄存器(SFR)共有26个,用于CPU对片内各功能部件进行管理和监视。这些特殊功能寄存器实际上是片内各个功能部件的控制寄存器和状态寄存器,映射在片内RAM区80H-FFH地址区内。

时钟电路用于产生单片机工作所必需的控制信号。STC89C52单片机的内部电路是在时钟电路的控制下按时序执行指令进行工作的。

在执行指令时,CPU首先从程序存储器中取出需要执行的指令操作码,然后进行译码,并由时钟电路产生一系列控制信号完成指令所规定的操作。CPU发出的时序信号有两类,一类用于对片内各个功能部件的控制,另一类用于对片外存储器或I/O口的控制。

STC89C52单片机的一个机器周期包括12个时钟周期,分为6个状态:S1-S6.每个状态又分为两拍:P1和P2.因此,一个机器周期中的12个时钟周期表示为S1P1、S1P2、S2P1、S2P2.S6P2.

指令周期是执行一条指令所需的时间。在STC89C52单片机中,指令按字节分,可分为单字节、双字节、三字节指令,因此执行一条指令的时间也有所不同。对于简单的单字节指令,取出指令立即执行,只需要一个机器周期的时间。而有些复杂的指令则需要两个或多个指令周期。

从指令的执行时间看,单字节和双字节指令一般为单机器周期和双机器周期,三字节指令是双机器周期,只有乘除法指令占用4个机器周期。

在火灾探测器的选择方面,为了尽可能简化硬件电路,本设计采用___出品的温度传感器DS18B20.该温度传感器是一种常用的数字温度传感器,具有体积小、硬件开销低、抗干扰能力强、精度高等优点。由于它输出的是数字量,因此在硬件电路上可省去A/D转换电路,大幅度降低了硬件电路的复杂程度,也降低了硬件开支。

DS18B20的接线非常方便,只需要接VCC、GND以及数据线DQ即可。它的测温范围在-55℃~+125℃,固有测温误差为1℃。独特的一线接口使其只需要一条线即可完成与单片机的通信,简化了硬件电路的复杂程度。且适应电压的范围较宽,为3.0~5.5V,且在寄生电源的方式下可由数据线供电。DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三条线上,实现组网多点测温。DS18B20在使用中不需要任何外围器件,全部的传感元件以及转换电路都集成在了传感器内部。它可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,因此可实现高精度的测温。且在9位分辨率时最多在93.75ms内将温度转化为数字量,12位分辨率时最多在750ms内将温度转化为数字量,因此该传感器的速度很快。它的测量结果直接输出数字温度信号,直接串行传送给CPU,同时可传送CRC校验码,因此具有极强的抗干扰纠错能力。当电源反接时,芯片不会因发热而烧毁,只是无法工作。

本文介绍了一个基于单片机的温度报警系统的开发过程。首先需要设定报警温度值,并初始化温度传感器和液晶屏。程序流程图如图4.1所示。当温度达到报警温度值时,系统会触发报警。

编程语言采用C语言,因为它已成为世界公认的高效、简洁、可读性强且贴近硬件的编程语言之一。C语言在上世纪80年代中后期开始向单片机上移植,经过多年的努力,C语言已成为单片机实用高级语言之一。C51是一种基于C语言的单片机编程语言,具有结构清晰、模块化程度高、可读性强、易于移植等优点。C51开发环境提供了数学计算等子程序,为程序开发带来方便。虽然C51源代码比汇编语言精炼程度稍逊,但对于复杂系统开发或复杂运算,C51比汇编语言容易得多,且易于移植及有利于系统的维护和升级。在实时要求较高的场合,可采用C51汇编混合编程。

本设计采用的是C51语言,编译器是KeilC51,它是___出品的51系列兼容单片机C语言软件开发系统。KeilC51软件提供了丰富的库函数和功能强大的集成开发调试工具。C51语言编程方法是:n4(KeilC51基于Windows下的开发环境),创建一个工程文件,并从器件数据___选择一款CPU芯片;2.根据应用要求,在PC上用文本编辑软件编写C语言源程序;利用C51编译工具软件对源程序进行编译,生成目标文件(.obj文件);利用C51连接工具对目标程序进行连接定位,生成绝对程序,即可以装载到开发装置仿真运行。在某些情况下,也可以将绝对程序转化为十六进制代码程序(.hex文件)。