最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

基于C51单片机的烟雾报警器设计

来源:动视网 责编:小OO 时间:2025-10-01 18:27:34
文档

基于C51单片机的烟雾报警器设计

基于C51单片机的烟雾报警器设计摘要:随着现代家庭用火、用电量的增加,家庭火灾发生的机率越来越高。烟雾报警器也随之被广泛应用到各种场合。为了避免火灾以及减少火灾造成的损失,我们必须按照“隐患险于明火,防患胜于救灾,责任重于泰山”的概念设计和完善火灾自动报警系统,将火灾消灭在萌芽状态,最大限度地减少社会财富的损失。本设计是利用单片机结合传感器技术而开发设计的。论文中主要针对烟雾报警系统中的各个组成部件进行了介绍,对它的主控电路和外围设备电路之间的接口技术,还有软件方面进行了重点介绍。关键词:报警
推荐度:
导读基于C51单片机的烟雾报警器设计摘要:随着现代家庭用火、用电量的增加,家庭火灾发生的机率越来越高。烟雾报警器也随之被广泛应用到各种场合。为了避免火灾以及减少火灾造成的损失,我们必须按照“隐患险于明火,防患胜于救灾,责任重于泰山”的概念设计和完善火灾自动报警系统,将火灾消灭在萌芽状态,最大限度地减少社会财富的损失。本设计是利用单片机结合传感器技术而开发设计的。论文中主要针对烟雾报警系统中的各个组成部件进行了介绍,对它的主控电路和外围设备电路之间的接口技术,还有软件方面进行了重点介绍。关键词:报警
基于C51单片机的烟雾报警器设计

摘要:随着现代家庭用火、用电量的增加,家庭火灾发生的机率越来越高。烟雾报警器也随之被广泛应用到各种场合。为了避免火灾以及减少火灾造成的损失,我们必须按照“隐患险于明火,防患胜于救灾,责任重于泰山”的概念设计和完善火灾自动报警系统,将火灾消灭在萌芽状态,最大限度地减少社会财富的损失。本设计是利用单片机结合传感器技术而开发设计的。论文中主要针对烟雾报警系统中的各个组成部件进行了介绍,对它的主控电路和外围设备电路之间的接口技术,还有软件方面进行了重点介绍。

关键词:报警器;80C51;烟雾传感器 

Design of Smoke Alarm Based on 51 Single Chip Microcomputer

Abstract :With the modern home with fire, electricity consumption increases, the frequency of home fires is getting higher and higher. Smoke detectors have also been widely used in various occasions. system To avoid fires and reduce fire losses, we must follow the "hidden dangers fire in prevention is better than disaster relief, the responsibility is extremely heavy," the concept design and improvement of automatic fire alarm system, fire nipped in the bud, the maximum reduce the loss of social wealth. This design is combined with the use of 80C51 single-chip sensor technology development and design of the smoke alarm The main thesis of the smoke alarm system for the various components are introduced, its control circuit and peripheral equipment circuit interface between technology and software have been the focus of introduction.

Key words:Detectors ;80C51;Smoke sensor alarm.

引言

随着现在的家庭用火、用电的功率越来越大,家庭火灾发生的频率越来越高。家里一旦发生起火,由于扑救的不及时而导致重大生命财产损失的例子不胜枚举。据消防部门的统计显示:在所有的火灾中,家庭火灾已经占到了全国火灾的35%左右。家庭起火的原因有很多,可能在我们注意到的地方,也可能就隐藏在我们根本就想不到的地方,严峻的事实证明,火灾给人类、社会和自然造成的危害范围不断扩大,它不仅毁坏物质财产,造成社会秩序的混乱,还直接危胁生命安全,给人们的心灵造成极大的伤害。残酷的现实让人们逐渐认识到预防火灾的重要性,有效的报警机制可以大大降低人员的伤亡,为社会减少不必要的损失,所以人们应该积极了解家庭火灾的起因以及安装报警器,及时预防火灾的发生。

在我国几乎每天都发生家庭火灾,所以防火是每个家庭必须时刻注意的问题。假如能根据您家的实际情况预先采取简单的防火措施,一些悲剧是完全可以避免的,所以烟雾报警器对预防家庭火灾,减少火灾损失具有重要意义。据调查,安装烟雾报警器的家庭在火灾发生机率和火灾灾后造成的损失都远远小于不安装报警器的家庭,所以烟雾报警器在预防火灾发生和发生后及时处理上具有极其重要的意义。

火灾报警系统一般由烟雾传感器和控制器组成。其中烟雾传感器是收集信息的仪器,它可以把烟雾的浓度和周围的温度采集起来以模拟信号的形式输送给控制器,而控制器可以通过送来的信号和设定值进行比较,从而判断是否有火灾发生。火灾报警器主要分为感烟探测器、感温探测器和光辐射探测器三大类,其中离子式感烟探测器具有稳定性好,误报率低,寿命长等优点,在火灾报警系统中被广泛使用。故本次设计采用离子式传感器收集,单片机控制,经济、安全又实用。

近年来,单片机已逐步应用到工农业生产及人们生活的各个角落。各种类型的单片机也根据社会的需求而相继开发出来。单片机实际上是一个微控制器。因为它功能齐全,体积小,成本低,所以可以应用到任何电子系统中去,同样,它也可以广泛应用于报警技术领域,使各类报警装置的功能更加完善,可靠性更高,故本次设计的控制系统采用采用单片机控制。

1  基于C51单片机的烟雾报警的设计方案

1.1 任务分析

单片机应用系统可以分为功能仪器表和工业测控系统两大类,无论哪一类,都必须是以市场需求为前提的。所以,在系统设计前,首先要进行广泛的市场调研,了解该系统的应用概况,以分析系统当前存在的问题,研究系统的市场前景,来确定市场开发设计的目的和目标。简单地说,就是通过调研发现问题,解决问题。

根据论文的设计要求:

(1) 熟悉有关探测器的理论知识;

(2)熟悉Keil编程环境;

(3)给出设计方案;

本次的设计先从硬件设计上着手。先要整理出烟雾报警系统的整体思路,然后确定出方案设计中需要的硬件设备,最后在确定了大的方向基础上,就应该对系统进行规划,包括应该采集的信号种类、数量、范围,输出信号的转换和匹配,技术指标的确定,传感器的选择等。

1.2设计方案

1.2.1方案设计思路

本次设计是在单片机的原理及其应用展开的。其中使用我们所学的传感器技术,电工电子技术,模数转换技术,单片机技术等去设计基于单片机的烟雾报警系统。80C51单片机就像一个桥梁,连接着传感器和报警电路设备。当周围的环境变量(湿度、温度、烟雾浓度)达到我们设定的参数时,烟雾传感器把被测的物理量(温度、湿度、烟雾浓度)作为输入值,转换为电信号(电流、电压、电阻等等)输出。物理量和测量范围的不同,传感器的工作机理和结构也不同。通常传感器输出的电信号是模拟信号,当信号的数值符合A/D转换器的输入等级时,可以不用放大器放大;当信号的数值不符合A/D转换器的输入等级时,就需要放大器放大。而我们选择前者,不需要用放大器,选择数值符合A/D转换器的输入等级,这样就可以简化整个系统的设计。传感器将物理信号经过A/D转换器转化成可以识别的电信号给单片机,这里我们选择单片机的P1.0为输入端,接收到信号的单片机经过程序的设定(当温度、湿度、烟雾浓度达到设定数值时)会由P2.0作为单片机的输出直接启动报警电路。此时,扬声器将发出高、低交替的2种蜂鸣声,同时二极管发光,这就达到了声光报警的效果。

1.2.2 总体框图

根据方案的设计思路,我们可以得到烟雾报警系统的总体框图如图1-1所示:

     

图1-1 烟雾报警系统的总体框图

使用80C51单片机,选烟雾传感器作为接收元件,利用AD574A转换器和声光报警电路,设计出可用于家庭或小型单位火灾报警的烟雾报警器。整个设计由4大部分组成:烟雾传感器、A/D转换电路、80C51单片机、声光报警电路。其中,烟雾传感器是将现场温度、烟雾浓度等非电信号转化为电信号;A/D转换电路是将烟雾传感器输出的模拟信号转换到数字信号。声光报警模块由单片机和报警电路组成,由单片机控制实现声光报警功能。综合考虑各种因素,本文选择NIS-09烟雾传感器作为采集系统的接收元件。火灾中气体烟雾主要有CO和CO2,NIS-09能探测到CO,CO2等多种气体,它稳定性好,灵敏度高,适合火灾中气体的探测,转换器采用AD574A转换器。

2  系统硬件实现

2.1主控电路设计

硬件中核心的部件是80C51单片机,它一方面控制A/D转换器实现模拟信号到数字信号的转换,另一方面,将采集到的数字电压值经计算机处理得到相应的二进制代码,与设定的值作比较。整个系统的软件编程就是通过C语言对80C51单片机实现其控制功能。

2.1.1 80C51系列

80C51系列单片机产品重多,是市场主流产品。多年来的应用实践证明,80C51的系统结构合理,技术成熟,许多单片机芯片致力于提高80C51系列产品的综合功能,从而形成了80C51的主流产品的地位!此外,本系统采用C51编程,它与用汇编ASM-51编程相比有以下优点:

(1)即使对单片机指令系统一点也不了解,也能够快速用C语言编程操作单片机。

(2)编译器自动管理寄存器分配、不同寄存器的寻址以及各种数据类型等细节

(3)程序结构规范,可分成不同的函数,可使程序结构化。

(4)程序库中含有很多标准子程序,处理数据的能力强,使用方便。

(5)具有方便的模块化编程技术,使已编好的程序很容易移植。

综上所述:对初学者来说采用80C51编程是一个不错的选择。 

2.1.2 80C51的基本结构

80C51的基本结构如图所示。

 

图2-1 80C51的基本结构

由图可知,80C51单片机主要由以下部分组成:

(1)CPU系统:8位CPU,含布尔处理器;时钟电路;总线控制逻辑。

(2)存储器系统:4KB的程序存储器(ROM/EPROM/Flash,可扩至KB);128KB数据存储(RAM,可再扩KB);特殊功能寄存器SFR。

(3)I/O口和其他动能单元:4个并行I/O口;2个16位定时/计数器;1个全双工异步串行口;中断系统(5个中断源,2个优先级) 

2.1.3 80C51单片机的的封装和引脚

80C51系列单片机采用双列直插式(DIP).QFP44(Quad Flat Pack)和LCC(Leaded Chip Caiier)形式封装。这里仅介绍常用的总线型DIP40封装。如图2-2所示。

图2-2 80C51单片机的封装和引脚

40个引脚按引脚功能大致可分为4个种类:电源、时钟、控制和I/O引脚

(1)电源:VCC—芯片电源,接+5V; VSS—接地端 ;

(2)时钟:XTAL1、XTAL2为外接时钟引脚,分别为片内振荡电路输入端和输出端。 

(3) 控制线:控制线共有4根,    

ALE/:地址锁存允许/片内EPROM编程脉冲

ALE功能:用于控制把P0口输出的低8位地址送入锁存器锁存起来,以实现低位地址和数据的隔离。

功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。

:外ROM读选通信号。RST/VPD:复位/备用电源。

RST功能:复位信号输入端。

VPD功能:在Vcc掉电情况下,接备用电源。

/Vpp:内外ROM选择/片内EPROM编程电源。

功能:内外ROM选择端。

 Vpp功能:片内EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。

(4) I/O线:80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。

2.1.4 80C51单片机的时钟

(1)时钟电路和振荡器

80C51内部有一个高增益反相放大器,用于构成振荡器,但要形成时钟脉冲,外部还需附加电路。80C51的时钟产生方法有以下两种。

a内部时钟方式:借助于芯片内部的振荡器,在引脚XTALl和XTAL2两端跨接晶体振荡器(简称晶振),稳定的自激振荡器就形成了,其发出的脉冲直接送入内部时钟电路。晶振外接时,Cl和C2的大小经常选在30pF左右;Cl、C2对频率起微调作用,选择晶振或陶瓷谐振器的频率值一般在1.2MHz~12MHz之间。振荡器和电容应尽可能安装得与单片机引脚XTALl和XTAL2接近,这样可以减小寄生电容,更好地保证振荡器稳定、可靠地工作。

                                

图2-3 80C51时钟电路接线方法

b外部时钟方式:此方式是利用外部振荡脉冲接入XTALl或XTAL2。HMOS和CHMOS单片机外时钟信号接入方式不同。

芯片类型接线方法
XTAL1XTAL2
HMOS接地接片外时钟脉输入端(引脚需接上拉电阻)
CHMOS接片外时钟脉冲输入端悬空
表2-1 80C51单片机外部时钟接入方法

2.1.5 80C51单片机的复位

在烟雾报警系统中,要进行实验,必须对整个系统先复位。复位是单片机的初始化操作,单片机系统在上电启动运行时,都需要先复位。其作用是使CPU和系统中其他部件都处于一个确定的初始状态,并从这个状态开始工作,因此,复位是一个很重要的操作方式。但单片机本身不能进行自动复位,必须通过相应的外部复位电路才能实现。

复位电路设计:单片机的外部复位电路有上电复位和上电加按键均有效的复位两种。我们在设计单片机复位时,选用上电复位。

上电复位:上电复位利用电容器的充电实现。图2-4是80C51单片机的上电复位电路。图中给出了复位电路参数。图2-5是80C51单片机的上电+按键复位电路。

上电复位电路要求电源接通以后,单片机能够自动复位。上电瞬间RST引脚得到高电平,随着电容的充电,RST引脚的高电平将逐渐下降。只要RST引脚的高电平保持2个机器周期 ,单片机就可以实现复位操作。该电路典型的电阻和电容参数为:晶振为12MHZ,电容值为10uF,电阻值为8.2K

                         

图2-4 上电复位电路

图2-5 上电+按键复位电路

复位状态:初始复位不改变RAM(包括工作寄存器R0~R7)的状态,复位后80C51片内各特殊功能寄存器的状态如表所示,表中“x”为不定数。

表2-2 复位后的内部特殊功能寄存器状态

寄存器复位状态寄存器复位状态
PC0000HTMOD00H
ACC00HTCON00H
B00HTH000H
BSW00HTL000H
SP07HTH100H
DPTR0000HTL000H
P0~P3

FFHSCON00H
IPxx000000BSBUFxxxxxxxxB
IE0x000000BPCON0xxx0000B
   复位时,ALE和成输入状态,即ALE== 1,片内RAM不受复位影响。复位后,P0~P3口输出高电平且使这些双向口皆处于输入状态,并将07H写入堆栈指针SP,同时将PC和其余专用寄存器清0。此时,单片机从起始地址0000H开始重新执行程序。所以,单片机运行出错或进入死循环时,可使其复位后重新运行。

2.2外围接口电路设计

2.2.1 NIS-09烟雾传感器简介

在设计中我们之所以选用NIS-09烟雾传感器,是因为它的输出模拟量与我们所用的A/D转换器输入等级相符合。(NIS-09烟雾传感输出电压是5.6+0.4v,A/D转换器的输入量程是0~+10V)

比气体分子大得多的微粒悬浮于气体中形成烟雾,跟一般气体成分分析不同,对烟雾进行检测须利用微粒的特点。这种传感器多用于火灾报警器,此传感器是根据烟雾的有无决定输出信号的,不可以定量连续测量。检测烟雾的方式有散射式,离子式两种,简介如下:(1)散射式:遮光屏被安装在发光管和光敏电阻之间,无烟时光敏元件收不到信号,有烟时利用微粒的散射光使光敏元件发出信号。这类传感器的灵敏度与烟雾种类无关。

(2)离子式:利用放射性同位素镅Am241放出微量的a射线,使附近空气电离,当平行平板电极间有直流电压时,产生离子电流。有烟雾时,离子将被微粒吸附,此外离子本身也吸收a射线,导致离子电流减小。如果有一个封闭的装有纯净空气的离子室作为参照,比较两离子电流,外界干扰就可以排除,可靠的检测结果就可以得到,此法的灵敏度与烟雾种类有关。本次设计中,使用的是NIS-09烟雾传感器。它是离子式烟雾传感器,简介如下:

检测方式:离子型,一源两室。

放射源:放射元素是镅241,放射量是平均33.3KBq.=0.9uCi(29K——37KBq)

工作环境:电源电压是DC6.0-18.0V最大24V;温度是0-50℃ 最大-10—60℃ 温度95%;保存温度是-25—80℃ 温度95%

典型特性参数:电源电压是DC9V; 输出电压是5.6+0.4V;电流损耗是27+3pA ;灵敏度是0.6+0.1V

特性参数如下表2-3所示:

a灵敏度特性(根据UL217标准风速0.1m/秒)

b湿度特性(温度25℃)

c电源电压特性(25℃. 60﹪RH)

d温度特性(湿度60%)

表2-3 特性参数

(a) 灵敏度特性

烟雾浓度    (%英尺)输出电压(V)误差(△V)
05.6±0.40
15.3±0.50.3±0.1
25.0±0.50.6±0.1
34.7±0.50.9±0.2
44.4±0.51.2±0.2
54.2±0.51.4±0.2
(b)湿度特性

湿度(%C)

输出(V)
305.75±0.5
605.6±0.4
905.45±0.4
    (c)电源电压度特性

电源电压输出电压(V)
63.3±0.3
95.6±0.4
128.0±0.7
1510.0±0.85
1813.0±1.0
(d)温度特性

温度(℃)输出(V)
05.15±0.4
255.6±0.4
505.85±0.4
长期稳定性测验如下表所示:

表2-4 长期稳定性测验

名称方法标准
高温储存特性高温80℃±5不通电的情况下储存72小时保持特性参数不变,不变形、不变色、不产生裂纹
低温储存特性低温-300℃±5不通电的情况储存72小时形、不变色、不产生裂纹保持特性参数不变,不变
高湿储存特性

在40℃±5,85℃±5RH不通电的情况储存72小时保持特性参数不变,不变形、不变色、不产生裂纹
震动实验共振频率10-35HZ,振幅5HZ0.25,如果不产生共振,则用频率35HZ震荡4小时保持特性参数不变,不变形、不变色、不产生裂纹
跌落实验三个不同方向把器件从1m高度自由落体跌落到木板上

保持特性参数不变,不变形、不变色、不产生裂纹
2.2.2 AD574A的简介

AD574A型快速12位逐次比较式A/D转换器为美国模拟器件公司的产品。一次转换时间为25μs,转换速率为40MSPS,分辨率12位,非线性误差小于±1/2LSB。采用28脚双立直插式封装,各引脚功能如图2-6所示,图2-7是其管脚图。

图2-6 引脚图

图2-7 管脚图

AD574A引脚功能:

DB0~DB11:12位数据输出线。DB11为最高位,DB0为最低位,它们可由控制逻辑决定是输出数据还是对外成高阻状态。

12/8:数据模式选择。当此引脚输入为高电平时,12为数据并行输出;当此引脚为低电平时,与引脚A0配合,把12位数据分两次输入。应该注意,此引脚不与TTL兼容,若要此引脚为高电平,应直接按脚1;若要此引脚为低电平,应接引脚15.

A0:字节选择控制。此引脚有两个功能,一个功能是决定方式是12位还是8位。若A0=0,进行全12位转换,转换时间为25us;若A0=1,仅进行8位转换,转换时间为16us,另一个功能是决定输出数据是低4位还是高8位。若A0=0,高8位数据有效;若A0=1,低4位有效,中间4位为“0”,高4位为高阻状态。因此,低4位数据读出时,应遵循左对齐原则(即:高8位+低4位+中间4位的‘0000’)。

CS:芯片选择。当CS=0时,AD574A被选中;否则AD574A不进行任何操作。

R/C:读/转换选择。当R/C=1时,允许读取结果;当R/C=0,允许A/D转换。

CE:芯片启动信号。CE=1时,允许读取结果,具体是读取结果还是转换与R/C有关。

STS:状态信号。STS=1代表A/D转换正在进行,STS=0代表已完成转换。

REFOUT:+10V基准电压输出。

REIN准电压输入。要想进行正常的A/D转换,只有把从“REFOUT”脚输出的基准电压通过此脚引入到AD574A内部的12位DAC(AD565)才可以。

BIPOFF:双极性补偿。单极性或双极性输入通过此引脚适当的可实现。

10VIN:10V量程模拟信号输入端。对单极性信号为10V量程的模拟信号输入端,对双极性信号为±5V模拟信号输入脚。

20VIN:20V量程输入端。单极性信号为20V量程模拟信号输入端,对双极性信号为±10V量程模拟信号输入端。

DG:数字地。各数字电路(触发器、门电路、译码器等)以及“+5V”的电源地。

AG:模拟地。各模拟器件(放大器、多路开关、比较器、取样保持器等)及“+15V”及“-15V”电源地。

VL:逻辑电路供电输入端,‘+5V’.VCC:正电源端,VCC=+12~+15V。

VEE:负电源端,VEE=-15~-12V。

AD574A的单极性和双极性输入如图2-8所示。

      图2-8(a) 单极性输入

 

图2-8(b) 双极性输入

单极性输入电路:如图2-8(a)所示是AD574A系列的模拟量单极性输入电路。当输入电压为VIN=0~+10V时,应从引脚10VIN输入,当VIN=0~+20V,应从20VIN输入。数字量D为无符号二进制码,计算公式为D=4096VIN/VFS。图中电位器RP1用于调零,即保证在VIN=0时,输出数字量D为零。

双极性输入电路:电路图如图(b)所示。图中RP2用于调整增益,其作用与图(a)中RP2的作用相同。图中RP1用于调整双极性电路输入零点。如果输入信号VIN在-5~+5V之间,应从10VIN引脚输入;当VIN在-10~+10V之间,应从20VIN引脚输入。根据烟雾传感器所输出的电压量,故选用单极性输入。

2.2.3 74LS373的简介

本设计使用74LS373作为地址锁存器,其真值表如表2-5所示,当三态允许控制端OE为低电平时,输出端Q0~Q7为正常逻辑状态,可用来驱动负载或总线。当OE为高电平时,Q0~Q7呈高阻态,既不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。图中三态允许控制端OE接地,表示三态门一直打开。锁存允许端LE为高电平时,输出端Q0~Q7 状态与输入端D0~D7状态相同;挡LE为低电平时Q被锁存在已建立的数据电平。当LE由“1”变为“0”时,数据输入锁存器中。LE端接至单片机的地址锁存允许ALE端。

表2-5 74LS373真值表

INPUTSOUTPUT
OELEDQ
LHHH
LHLL
LLXP
HXXZ
表注:H—高电平;L—低电平;X—任意电平;Z—高阻态,既不是高电平也不是低电平,它的电平状态由与它相连的其它电平状态决定;p—上次的电平状态。

图2-9 74LS373引脚图

74LS373的引脚功能如下:

OE:三态允许控制端(低电平有效),通常叫做输出使能端,或输出允许端;

 D0~D7:数据输入端;Q0~Q7:数据输出端; LE:锁存允许端,或锁存控制端;

2.2.4 AD574A与80C51单片机接口电路

AD574A系列的所有型号和功能管脚和排列都相同,因而它们与单片机借口也相同。AD574A所有型号都有内部始终电路,不需要任何外接器件和连线。图2-10为AD574A与80C51单片机的接口电路。该电路采用单极性输入方式。根据烟雾传感器输出电压是5.6+0.4v,在设计时我们选用单极性输入方式。

图2-10 AD574A与80C51单片机的接口电路

当AD574A与80C51单片机配置时,由于AD574A输出12位数据,所以当单片机读取转换结果时,应分两次进行:当A0=0时,读取高8位;当A0=1时,读取低4位。图中AD574A的STS与80C51的P1.0线相连。

2.2.5声光报警电路

单片机P2.0口控制声光报警电路输出报警信号(高低电平间隔为1s的脉冲信号),驱动报警电路,一直到按下复位按钮或开关按钮。

声光报警电路由555定时器、普通发光二极管和扬声器组成,电路图如2-11所示。

其中555定时器接成了一个低频多谐振荡器,单片机80C51的P2.0端与控制电压出入端5脚相连,它受P2.0引脚输出的脉冲信号控制。由于电容C4的充放电作用,当P2.0=1时,555输出振荡频率较低的脉冲,当P2.0=0时,其输出振荡频率较高的脉冲。此脉冲信号通过隔置电容C2加到扬声器,扬声器就会发出高、低交替的报警声,同时P2.0脚输出的高低电平间隔1 s的脉冲信号经电阻R1加到LED发光二极管上,二极管将不停闪烁,达到声光同时报警的效果。

          

图2-11 声光报警电路

2.3总电路设计

根据要求,设计中我们选用80C51单片机。80C51单片机的主控电路包括时钟电路、复位电路。两电路的接法在2.1.4和2.1.5中分别做了详细的介绍,这里不再讲述。

而传感器是将非电信号转换成与非电信号有一定关系的电信号,随着电子计算机技术的非速发展,自动检测,自动控制技术显露非凡的能力,而大多数设备只能处理电信号,也就是说需要把被测、被控非电信号通过传感器转换成电信号。所以,传感器是实现自动检测和自动控制的首要环节。没有传感器对原始信息进行精确可靠的采集和转换,就不会有现代自动检测和自动控制系统,就没有现代科学技术的迅速发展。设计中,传感器我们选择的是NIS-09烟雾传感器。因为烟雾是比气体分子大得多的微粒悬浮在空气中形成的,和一般的气体成分的分析不同,必须利用微粒的特点检测。此外NIS-09烟雾传感器它的性能参数也是我们选择它理由。烟雾传感器连接在A/D转换器的输入接口上。

我们将主控电路和外围接口电路(80C51与A/D转换器的接口电路、80C51与声光报警电路)连接起来,就得到了基于80C51的烟雾报警总电路图。

当外部环境(温湿度、烟雾浓度)达到一定值时,烟雾传感器就会产生模拟电压,将它作为输出的模拟信号经AD574A转换器转换为80C51单片机所能识别的数字电压量。通过P1.0检测信号。当有信号输入时,经程序设定就会驱动80C51单片机的P2.0。而P2.0是与声光报警电路相连接的。

综上所述,得出总电路图见(附录A)。    

3  软件实现

3.1 编程KEIL环境介绍

Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编语言相比,C语言在功能、结构性、可读性、可移植性上都有明显的优势,并且易学易用,是初学者不错的选择。 

Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。只要看一下编译后生成的汇编代码,就能感觉到Keil C51目标代码生成的效率之高,多数语句生成的汇编代码很紧凑,容易理解,在大型软件开发时更能体现高级语言的优势。Keil C51标准C编译器为80C51微控制器的软件开发提供了C语言环境,同时保留了汇编代码高效、快速的特点。C51编译器的功能不断增强,更加贴近CPU本身,及其它的衍生产品。C51已被完全集成到uVision2的集成开发环境中,这个集成开发环境包含:编译器,汇编器,实时操作系统,调试器,项目管理器。uVision2 IDE可为它们提供单一且灵活的开发环境。      

C51 V9版本是目前最高效、灵活的8051开发平台。它除了支持所有8051的衍生的产品和所有兼容的仿真器外还支持其它第三方开发工具。所以,C51 V9是8051开发用户不错的选择。

C51工具包的整体结构,uVision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。C或汇编源文件可利用IDE本身或其它编辑器编辑。然后分别由C51及A51编译器编译生成目标文件(.OBJ)。目标文件可根据LIB51创建生成库文件,也可以与库文件一起经过L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,可以直接使用仿真器对目标板进行调试,也可直接写入程序存贮器如EPROM中。

3.2 程序流程

在程序流程中,经常要控制一部分指令重复执行,为了简化程序,我们使用循环指令来编写循环程序,循环程序有先执行后判断和先判断后执行两种基本结构。而我们要选用的是先判断后执行。

因为烟雾传感器的输出电压量为5.6~6.0v之间。根据单极性输入的转换关系D=4096VIN/VFS,计算出它的数字量最小值:D1=4096×5.6/10=2294;最大值D2=4096×6/10=2458.

然后把它们的数字量转化为二进制数。D1、D2转换为二进制数分别是100111110110、100110011010。

由于AD574A输出12位数据,所以当单片机读取转换结果时,应分两次进行:当A0=0时,读取高8位;当A0=1时,读取低4位。AD574A的STS与80C51的P1.0线相连,转换结果采用查询方式读取。

当被测的数值经计算机的转换在比较范围内,经程序设定80C51单片机的P2.0就会输出脉冲启动报警电路程序。程序流程图如图3-1所示。

   

图3-1 流程图

3.3 程序

#include

#include

#define uchar unsigned char 

#define uint unsigned int

#define AD574Data P0

#define ADC_8 AD574_A0=0

#define Out_H8 AD574_A0=0 //高八位输出

#define Out_L4 AD574_A0=1 //低四位输出

#define AD574_Start AD574_RC=0 //启动AD转换

#define AD574_Read AD574_RC=1 //读取转换结果

sbit AD574_A0=P0^1;

sbit AD574_RC=P0^0;

sbit AD574_STS=P1^0; //STS状态信息

sbit led1=P2^0;

uint AD574value,D1=2294,D2=2458;

void Alarm();

void delay(uint );

void init() //AD转换器的初始化

{

  AD574_A0=0;

  _nop_();

  AD574_A0=1;

  _nop_();

  AD574_RC=1;

  _nop_(); 

}

void uint AD574Result()

{

  uchar H8,L4;

  ADC_8;

  _nop_();

  AD574_Start; //启动转换

  _nop_();

  while(AD574_STS==1); //等待转换结束

  AD574_Read;

  _nop_();

  Out_H8;

  _nop_();

  H8=AD574Data;

  Out_L4;

  _nop_();

  L4=AD574Data;

  AD574value=((uint)(h8<<4)+(l4&0x0f)); 

  return(AD574value);

}

void main()

{  while(1)

    {

       init();

       AD574 Result ();

if(AD574value>D1&&AD574value           { 

              Alarm();

            }

      }

void Alarm()

{

   while(1)

led1=0;

delay(60);

led1=1;

delay(60);

}

void delay(uint xms)

{

  uint i,j;

  for(i=xms;i>0;i--) //i=xms即延时xms

      for(j=110;j>0;j--);

}

4  调试

4.1工程的建立及调试

(1)建立一个新工程文件:单击【Project】菜单中的【New Project】选项,出现一个对话框,要求给工程起一个名字,我们输入Procedure,不需要扩展名,选择好保存位置,然后点击保存按钮,第二个对话框出现。此对话框让我们选择单片机型号。点击Atmel前面的“+”号,展开该层,单击其中的80C51,然后点击确定按钮。但此时,我们还没有建立一个完整的工程,虽然工程名有啦,但工程中没有任何文件及代码,接下来我们添加文件及代码。单击【File】菜单中的【New】选项,在光标处可以输入用户的应用程序,单击保存按钮,在弹出的【文件名(N)】编辑框中,输入要保存的文件名,同时必须输入正确的扩展名。因为我们用C语言编程,所以扩展名必须为.c;在这里我们把文件名定义为.c,然后单击【保存】按钮。回到编辑界面,单击 【Target1】前面的 “+”号,然后在【Source Group1】选项上右键单击,在弹出的菜单中选择【Add file to Group”Source Group1】菜单项,选中刚才保存的Procedure.c文件,单击【Add】按钮,再单击【Close】按钮,这时我们再单击左侧的【Source Group1】前面的“+”号,我们能看到有一个子项【Procedure.c】已添加了进去,到现在为止我们才算完整的建立了一个工程,然后我们就可以在这个文件下编写程序了。如果我们想要打开此文件只需双击其就可以了。

(2)工程的详细设置:首先点击左边【Project】窗口的【Target1】,然后使用菜单【Project-Option for target ‘target 1’】即出现对工程设置的对话框,对这个对话框可谓非常复杂,共有8个页面,要全部高清可不容易,好在绝大部分设置项取默认值就行了。设置完成以后安确认返回主界面,工程设置完毕。

(3)编译、连接:在设置好工程后,既可以进行编译、连接。选择菜单【Project-Build target】,对当前工程进行连接,如果当前文件已修改软件会先对该文件进行比较,然后在连接以产生目标代码。输出窗口中的【Build】页中将出现编译过程中的信息,假如源程序有语法错误,那么下面的信息窗口里会有错误报告出现,双击该行,可以定到出错的大体位置,多次修改源程序后,最终将得到如图4-1所示的结果,提示获得了名为Procedure.hex的文件,此文件便即可被编程器读入并写到芯片中,同时还产生其他一些相关文件可以用于KEIL的仿真与调试。

图4-1 正确连接、编译之后的结果

4.2调试过程中遇到的问题及解决方法

 (1)编译后提示程序有错误

解决方法:在信息窗口提示错误的那一行上双击就可以快速找到出现错误的位置,以便于快速的进行修改。

(2)输入程序时,有中文标点,用Keil编译时出现错误

解决方法:Keil软件不识别中文标点,所以编写程序时不能带有中文标点,如果程序里有带中文标点,就必须用英文重输入一遍来代替。

参考文献

[1]李朝青,单片机原理与接口技术[M]。北京:航空航天大学出版社,2009

[2]金发庆,传感器技术与应用。    北京:机械工业出版社,2004

[3]及力,Protel99 SE原理图与PCB设计教程。北京:电子工业出版社,2007

[4]李全利,单片机原理及应用技术。北京:高等教育出版社,2004

[5]张毅刚,MCS-51单片机应用设计。哈尔滨:哈尔滨工业大学出版社,1997

[6]何利民,单片机高级教程。北京:航空航天大学出版社,2000

[7]王福瑞,单片机测控系统大全。北京:航空航天大学出版社,1998

[8]潘新民,微型计算机控制技术。北京:人民邮电出版社,1999

[9]陈光东,单片微型计算机原理接口技术。武汉:华中理工大学出版社,1999

[10]王曙霞,单片机实验与实训指导。西安:西安电子科技大学出版社,2007                                                                      

[11]张玉莲,电子CAD(Protel99SE)实训指导书。西安:西安电子科技大学出版社,2007

[12]李华,MCS-51系列单片机实用接口技术。北京:航空航天出版社,2000

[13] Intel MCS-51 Family of Single Chip Microcomputer User’s Manual, 1990

[14]郭天祥,新概念51单片机C语言教程。北京:电子工业出版社,2009

[15]王桂荣,传感器原理及应用[M]。北京:中国电力出版社,2010

[16]李晓莹,传感器与测试技术[M]。北京:高等教育出版社,2004

结束语

经过一个多月的努力,终于完成了!毕业设计是我在大学期间的最后一次作业,所以当这一刻来临时还真点些不舍!

之前拿到论文题目时感觉真是无从下手,因为题目上出现的专业术语令我望而却步,因为我们没有开这门课程,并且业余时间也没有学习过,那时真后悔自己业余的时间没有学些与专业相关的知识,我们需要学习的东西还有很多。曾经想过放弃,但想到人生就是需要不断的学习,不断的进步,不断的接受新事物才能丰富自己,学到更多的知识为己所用,我坚持了下来。倘若放弃,那么以后的人生就是被别人放弃。倘若没有这次毕业设计,那么我将失去人生中最重要的教育:那就是,不能轻言放弃。

在这一个多月中,查看资料的过程让我学到很多。对单片机的了解也随之加深,它在烟雾报警系统中起到了核心作用,对很多很多附件的应用,芯片的结构都有了一定的了解。在画图过程中,对CAD软件操作更加熟练,画图的效率也得到了很大的提高,出图速度也进一步加快;此外对KEIL编程环境有了一些认知,对工程的建立,程序的调试及其修改,都有了一定的掌握,这次论文的设计真是受益匪浅!

临近毕业,感想很多。在学校里学到的东西大多偏于理论,实践的太少。想想我们以后走向工作岗位,应该是实践与理论相结合。所以,我们应该把握现在,好好学习。

我感觉,毕业设计不仅仅只是设计,还是一次敢于接受新事物的挑战,锻炼你的意志,磨练你的性格。这是一次再育的机会,所以我们必须珍惜。设计已接近尾声,我希望大家遇到困难时请不要轻言放弃,要相信自己,努力学习,困难就会迎韧而解!

致谢

毕业设计能够如期完成,田俊英老师给我了莫大的帮助与支持。田老师学识渊博,待人宽厚,和蔼可亲,平易近人,在我遇到困难时能耐心解答直至理解。通过这次毕业设计我明白了一个道理:没有付出,就没有回报。还有,人要不断的接受新知识,学习新知识,这样才能在以后的人生道路上勇敢的走下去。田老师要要对很多同学进行指导,加上本来就有教学任务,工作量还是相当大的,然而我对于单片机来说,是个初学者,所以,在设计的过程中,遇到很多的问题,都要劳烦老师讲解。在这一段时间的接触中,田老师对待知识的严谨,对待学生的耐心对我影响很深。在田老师的指导和鼓励下,我才有信心去完成毕业设计,很荣幸能够成为田老师的学生。

起初写论文的时候真是像热锅上的蚂蚁找不到方向,经过网上的查询及其向同学老师的询问慢慢的攻克了一个个难关,问题也得到了相应的解决,经过一个多月奋斗,论文的大体框架已经初见雏形,又经过田老师的指导论文终于完成,再一次感谢田老师!

除田老师之外,还要感谢我的同学们。他们给了我很多的建议和帮助。尤其在程序的编写方面,给了我很大的帮助。由于刚开始对C语言基本上是一窍不通,所以同学的讲解对我来说也是无济于事,但是同学讲解的很耐心也很详细,经过不厌其烦的讲解,我对单片机也有了一定的掌握,特此感谢!通过本次设计,让我明白了很多。最重要的是一个人如果无法完成一件事情,那么,老师和同学就是我们重要的财富!

   再次感谢在设计中给我帮助的老师和同学们!

附录A

文档

基于C51单片机的烟雾报警器设计

基于C51单片机的烟雾报警器设计摘要:随着现代家庭用火、用电量的增加,家庭火灾发生的机率越来越高。烟雾报警器也随之被广泛应用到各种场合。为了避免火灾以及减少火灾造成的损失,我们必须按照“隐患险于明火,防患胜于救灾,责任重于泰山”的概念设计和完善火灾自动报警系统,将火灾消灭在萌芽状态,最大限度地减少社会财富的损失。本设计是利用单片机结合传感器技术而开发设计的。论文中主要针对烟雾报警系统中的各个组成部件进行了介绍,对它的主控电路和外围设备电路之间的接口技术,还有软件方面进行了重点介绍。关键词:报警
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top