毕业设计火灾报警器 - 范文中心

毕业设计火灾报警器

04/10

毕 业 设 计

学生姓名

系 (部)

专 业

题 目

指导教师

2012 年 6 月

学 号 机电信息工程系 机电一体化技术 火灾报警器毕业设计

摘 要:随着现代家庭用火、用电量正在逐年增加,家庭火灾发生的频率越来越高,火灾烟雾报警器也随之被广泛应用于各种场合。本设计是利用单片机结合传感器技术而开发了这一火灾烟雾报警系统。论文中主要烟雾报警器系统各个组成部分进行了介绍,对它的主控电路和外围设备电路之间的接口技术,还有软件方面进行了重点介绍。

关 键 词:报警器,80C51,声光传感器

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. This design is combined with the use of single-chip sensor technology development and design of the smoke alarm system. 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.

Keywords: alarm,80c51,sound and light sensor

目 录

1 绪论 .............................................. 3

1.1 声光报警器的发展及现状 ........................... 3

1.2 论文研究的目的及意义 ............................. 4

1.3 论文内容 ......................................... 4

2 基于C51单片机的声光报警的设计方案 ................. 5

2.1 任务分析 ......................................... 5

2.2 设计方案 ......................................... 5

3 系统硬件实现 ...................................... 6

3.1 主控电路设计 ..................................... 6

3.2 外围接口电路设计 ................................ 10

3.3 总电路设计 ...................................... 16

4 软件实现 ......................................... 18

4.1 编程KEIL环境介绍 ............................... 18

4.2 程序流程 ........................................ 18

4.3 程序 ............................................ 19

5 调试 ............................................. 21

5.1 调试的步骤 ...................................... 21

5.2 调试过程中遇到的问题及解决方法 .................. 22

结 论 .............................................. 24

致 谢 .............................................. 25

参考文献 ............................................ 26

1 绪论

1.1 声光报警器的发展及现状

1.1.1 火灾探测技术

火灾作术为一种在时空上失去控制的燃烧所引发的灾害,对人类生命财产和社会安全构成了极大的威胁。由此引发的重大安全事故比比皆是,所以人类一直也未停止过对它的研究。

火灾的发生和发展是一个非常复杂的非平稳过程,它除了自身的物理化学变化以外还会受到许多外界的干扰,火灾一旦产生便以接触式(物质流)和非接触式〔能量流)的形式向外释放能量。接触式形式包括可燃气体、燃烧气体和烟雾、气溶胶等。非接触式如声音、辐射等。火灾探测技术就是利用敏感元件将火灾中出现的物理化学特征转换为另外一种易于处理的物理量。各种探测器对应的火灾物理参量及探测器如图1-1所示。

图1-1 各种探测器对应的火灾物理参量及探测器

1.1.2 火灾探测器的发展趋势

探测器朝新探测技术的发展进一步拓展了火灾探测的应用领域,为一些传统探测器无法胜任的环境提供了有效的手段。相关技术的发展,如傅立叶近红外光谱技术弱信号处理技术、低功耗MCU技术进一步促进了传统探测技术的改进,使得传统探测器在技术和性能上有了显著的提高。火灾着极早期探测、多传感器复合探测和探测器小型化、智能化的方向发展迈出了更快的步伐。

近几年来,单片机已逐步深入应用到工农业生产各部门及人们生活的各个方面。各种类型的单片机也根据社会的需求而开发出来。单片机是器件级计算机系统,实际上它是一个微控制器或微处理器。[2]由于它功能齐全,体积小,成本低,因此它可以应用到任何电子系统中去,同样,它也可以广泛应用于报警技术领域,使各类报警装置的功能更加完善,可靠性大大提高,以满足社会发展的需要。

1.2 论文研究的目的及意义

目的:随着现代家庭用火、用电量的增加,家庭火灾发生的频率越来越高。家庭火灾一旦发生,很容易出现扑救不及时、灭火器材缺乏及在场人惊慌失措、逃生迟缓等不利因

素,最终导致重大生命财产损失。消防部门的统计显示,在所有的火灾比例中,家庭火灾已经占到了全国火灾的30%左右。家庭起火的原因林林种种,可能在我们注意得到的地方,也可能就隐藏在我们根本就注意不到的地方。

在现代城市家庭里,许多人因不懂家庭安全常识引起火灾事故,使好端端的幸福家庭眼间毁于一旦,有的导致家破人亡,而且一旦发生居民家庭火灾,处置不当、报警迟缓,是造成人员伤亡的重要因素。所以说,人们应该积极了解家庭火灾的主要起因,还有预防火灾的发生。这就是我们研究声光报警器的目的。

意义:在我国的一些大中城市,几乎每天都发生家庭火灾,所以防火是每个家庭必须时刻注意的问题。假如能根据您家的实际情况预先采取简单的防火措施,一些悲剧是完全可以避免的。声光报警器对防家庭火灾,减少火灾损失具有现实意义。

一系列火灾造成的惨痛损失也使全国各界意识到了声光报警器的必要性。据调查,在最近发生火灾的大多数房屋都没有安装报警器。所以,声光报警器在预防火灾发生上有着非常重大的意义。

1.3 论文内容

第一章 绪论 本章本主要介绍了声光报警器的发展史及发展趋势。对声光探测器进行了系统性的阐述。还有论文研究的目的和意义进行了简单的解释。

第二章 基于C51单片机的声光报警的设计方案 本章是根据论文的要求分析了论文的主要任务。继而概括出整个设计的主要思想和确定出设计方案。

第三章 系统硬件实现 本章针对的是系统硬件是设计。在对整个系统硬件设计时,我们主要从它的主控电路80C51(单片机的复位电路、时钟电路)的设计和外围电路(声光报警电路、A/D转换电路)的设计来具体介绍。还有对在设计中用到的声光传感器进行了重点介绍。

第四章 软件实现 本章是论文的软件部分。其中,我们熟悉了整个程序设计的运行环境keil。还有程序的编写过程,对程序做了相应的注释。

第五章 调试 本章着重与软件的调试。在运行环境中我们调试的步骤以及在运行中出现的问题及解决的方法。

最后附上结束语(我的感想)、谢辞和参考文献。

2 基于C51单片机的声光报警的设计方案

2.1 任务分析

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

根据论文的设计要求:

熟悉Keil编程环境;

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

给出设计方案;

此次的设计先从硬件设计上着手。先要整理出声光报警系统的整体思路。确定出方案设计中需要的硬件设备。我们在确定了大的方向基础上,就应该对系统实现进行规划。包

括应该采集的信号种种类、数量、范围,输出信号的匹配和转换,传感器的选择,技术指标的确定等。

2.2 设计方案

2.2.1 方案设计思想

此次设计是针对于单片机原理及其应用展开的。其中包含了我们大学三年中所学到的相关知识,运用我们所学的电工技术,传感器技术,单片机技术去设计基于单片机的声光报警系统。80C51单片机好比一个桥梁,联系着传感器和报警电路设备。当周围的环境达到我们设定的数值时,声光传感器把被测的物理量作为输入参数,转换为电量(电流、电压、电阻等等)输出。物理量和测量范围的不同,传感器的工作机理和结构就不同。通常

[1]传感器输出的电信号是模拟信号(已有许多新型传感器采用数字量输出)。当信号的数

值符合A/D转换器的输入等级时,可以不用放大器放大;当信号的数值不符合A/D转换器的输入等级时,就需要放大器放大。而我们选择前者,不需要用放大器,选择数值符合A/D转换器的输入等级,这样就可以简化整个系统的设置。传感器将物理信号经过A/D转换器转化为可以利用识别的电信号给单片机,这里我们选择单片机的P1.0为输入方式,接收到信号的单片机经过程序的设定会由P2.0作为单片机的输出直接启动报警电路。此时,扬声器将发出高、低交替的2种叫声,同时二极管发光,这就达到了声光报警的效果。

2.2.2 总体框图

根据方案的设计思想,我们从中就可以得到了声光报警系统的总体框图如图2-1所示下:

图2-1声光报警系统的总体框图

使用80C51单片机,选用声光传感器作为敏感元件,利用AD574A转换器和声光报警电路,开发了可用于家庭或小型单位火灾报警的声光报警器。整个设计由4大部分构成:声光传感器、A/D转换电路、80C51单片机、声光报警电路。其中,声光传感器是将现场温度、声光等非电信号转化为电信号;转换电路是将完成将声光传感器输出的模拟信号到数字信号的转换。声光报警模块由单片机和报警电路组成,由单片机控制实现不同的声光报警功能。

综合考虑各因素,本文选择NIS-09声光传感器用作采集系统的敏感元件。它灵敏度高,稳定性好,适合于火灾中气体的探测。A/D转换器选用AD574A转换器。

3 系统硬件实现

3.1 主控电路设计

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

3.1.1 80C51系列 80C51系列单片机产品繁多,主流地位已经形成。多年来的应用实践已经证明,80C51的系统结构合理,技术成熟,许多单片机芯片倾力于提高80C51系列产品的综合功能,从而形成了80C51的主流产品的地位,近年来推出的与80C51兼容的主要产品有:

ATMEL公司融入Flash存储器技术推出的AT89系列单片机;

Philips公司推出的80C51、80C552系列高性能单片机;

华邦公司提出的W78C51、W77C51系列高速低价单片机;

ADI公司推出的AdμC8ⅹⅹ系列高精度ADC单片机;

LG公司推出的GMS90/97系列低压高速单片机;

Maxim公司推出的DS89420高速(50MIPS)单片机;

Cygnal公司推出的C8051F系列高速单片机。

由此可见,80C51已经成为事实上的单片机主流系列,所以,本次设计选择80C51单片机。

3.1.2 80C51的基本结构

80C51的基本结构如图3-1所示

图3-1 80C51的基本结构

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

CPU系统

8位CPU,含布尔处理器;时钟电路;总线控制逻辑。

存储器系统

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

I/O口和其他动能单元

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

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

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

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

电源:

VCC - 芯片电源,接+5V; VSS - 接地端;

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

时钟:XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。

控制线:控制线共有4根,

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

ALE功能:用来锁存P0口送出的低8位地址

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

PSEN:外ROM读选通信号。

RST/VPD:复位/备用电源。

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

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

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

EA功能:内外ROM选择端。

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

Vpp。

I/O线

80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。

P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。

3.1.4 80C51单片机的时钟

振荡器和时钟电路

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

a 内部时钟方式

利用芯片内部的振荡器,然后在引脚XTALl和XTAL2两端跨接晶体振荡器(简称晶振),就构成了稳定的自激振荡器,发出的脉冲直接送入内部时钟电路。外接晶振时,Cl和C2的值通常选择为30pF左右;Cl、C2对频率有微调作用,晶振或陶瓷谐振器的频率范围可在

1.2MHz~12MHz之间选择。为了减小寄生电容,更好地保证振荡器稳定、可靠地工作,振荡器和电容应尽可能安装得与单片机引脚XTALl和XTAL2靠近。

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

b 外部时钟方式

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

3.1.5 80C51单片机的复位

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

复位电路设计

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

上电复位

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

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

图3-4 上电复位电路 图3-5上电+按键复位电路

复位状态:

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

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

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

3.2 外围接口电路设计

3.2.1 NIS-09声光传感器简介

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

声光传感器主要有以下两种:

散射式

在发光管和光敏电阻之间设置遮光屏,无声光时光敏元件接收不到信号,有声光时使

光敏元件发出信号。

离子式

用放射性同位素镅Am241放射出微量的a射线,使附近空气电离,当平行平板电极间有直流电压时,产生离子电流Ik。有声光时,微粒将离子吸附,而且离子本身也吸收a射线,其结果是离子Ik减小。

若有一个密封装有纯净空气的离子室作为参比元件,将两者的离子电流比较,就可以排除外界干扰,得到可靠的检测结果。 在本次设计中,我们选用NIS-09声光传感器。它是离子式烟雾传感器,是日本NEMOTO

[3]

公司专为检测延误而精心设计的新型传感器。 检测方式:离子型,一源两室。

放射参数:电源电压是DC 9v,输出电压是5.6+0.4v

电流损耗是27+3pA ,灵敏度是0.6+0.1v。

特性参数如下表所示:

a灵敏度特性 (根据UL217标准风速0.1M/秒) b电源电压特性(25℃ 60﹪RH)

c温湿度特性 温度特性(温度60﹪)

d温度特性(温度25℃)源: 放射元素是媚241,

放射量是平均33.3KBq.=0.9uCi(29K——37KBq)。

工作环境: 电源电压是DC6.0-18.0V,最大24V;温度是0-50℃,最大-10-60℃,温度

95﹪。保存温度-25-80℃,温度95﹪。

典型特性:

表3-3 特性参数

(a) 灵敏度特性 (b)电源电压特性

(C) 温度特性 (d)温度特性

长期稳定性测验如下表所示:

表3-4 长期稳定性测验

3.2.2 AD574A简介

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

图3-6 D574A引脚功能

图3-7 管脚图

AD574A引脚功能:

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

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

A0:字节选择控制。此引脚有两个功能,一个功能是决定方式是12位是8位。若A0=0,进行全12位转换,转换时间为25us;若A0=1,仅进行8位转换,转换时间为16us,另一个功能是决定输出数据是高8位还是低4位。若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准电压输入。只有此脚把从“REFOUT”脚输出的基准电压引入到AD574A内部的12位DAC(AD565),才能进行正常的A/D转换。

BIPOFF:双极性补偿。此引脚适当连接,可实现单极性或双极性输入。

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

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

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

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

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

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

图3-8 (a)单极性输入 (b) 双极性输入

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

双极性输入电路:电路图如图3-8(b)所示。图中RP2用于调整增益,其作用与图(a)中RP2的作用相同。图中RP1用于调整双极性电路输入零点。如果输入信号VIN在-5~=5V之间,应从10VIN引脚输入;当VIN在-10~=10V之间,应从20VIN引脚输入。

根据声光传感器所输出的电压量,故选用单极性输入。 3.2.3 AD574A与80C51单片机接口电路

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

图3-9 AD574A与80C51单片机的接口电路

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

声光报警电路由单片机P2.0口控制,输出报警信号(高低电平间隔1 s的脉冲信号),驱动声光报警电路,直至按复位键RESET和开关键。

声光报警电路由555定时器、扬声器和普通发光二极管组成,电路图如图3-10所示。 其中555定时器接成了一个低频多谐振荡器,其控制电压出入端5脚与单片机80C51的P2.0端相连,受P2.0脚输出的脉冲信号控制。由电容C4的充冲放电作用,当P2.0=1时,555输出脉冲的振荡频率较低,当P2.0=0时,555输出脉冲的振荡频率较高。该脉冲信号经隔置电容C2加到扬声器上,扬声器将发出高、低交替的2种叫声,同时P2.0脚输出的高低电平间隔1 s的脉冲信号经电阻R1加到发光二极管LED上,LED将闪烁发光,达到声光同时报警的效果。

图3-10 声光报警电路

3.3 总电路设计

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

而传感器是将非电量需要转换成与非电量有一定关系的电量。当今信息时代,随着电子计算机技术的非速发展,自动检测,自动控制技术显露非凡的能力,而大多数设备只能处理电信号,也就需要把被测,被控非电量的信息通过传感器转换成电信号。可见,传感器是实现自动检测和自动控制的首要环节。没有传感器对原始信息进行精确可靠的捕捉和转换,就没有现代自动检测和自动控制系统。没有传感器就没有现代科学技术的迅速发展。设计中,传感器我们选择的是NIS-09声光传感器。必须利用微粒的特点检测。而NIS-09声光传感器它的性能参数是我们选择它理由。声光传感器连接在A/D转换器的输入接口。

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

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

综上所述,得出总电路图如图3-11所示:

图3-11 声光报警系统总电路图

4 软件实现

4.1 编程KEIL环境介绍

Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。

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

C51 V7版本是目前最高效、灵活的8051开发平台。它可以支持所有8051的衍生产品,也可以支持所有兼容的仿真器,同时支持其它第三 方开发工具。因此,C51 V7版本无疑是8051开发用户的最佳选择。

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

[5]

也可以直接写入程序存贮器如EPROM中。

4.2 程序流程

在整个程序流程中,经常要控制一部分指令重复执行若干次,以便简短的程序完成大量的处理任务。这种按某种控制规律重复执行的程序称为循环程序。循环程序有先执行后判断何先判断后执行两种基本结构。而我们要选用的是先判断后执行。[6]

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

然后把它们的数字量转化为二进制数。D1、D2转换为二进制数分别是[1**********]0、[1**********]0。

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

我们将A/D转换器读取结果存入17H、18H、19H、20H单元中。其中17H存入的是较小数D1的高八位10011111,18H存入的是较小数D1的低四位0110;19H存入的是较大数的高八位10011001,20H存入的是较大值的低四位1010。

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

4.3 程序

START: MOV DPTR, # 0FFF8H MOVX @DPTR, A SET P1.0 LOOP: JB P1.0, LOOP INC DPTR 01: CMP AH, 17H JA LP1 JBE LP2 LP1: JMP 03 LP2: JMP 01

02: CMP AL,18H 图4-1 流程图

ORG 0000H

;送端口地址入DPTR

;启动AD574A

;置P1.0为输入方式 ;检测P1.0口 ;使R/C为1

MOVX A, @DPTR ;读取高8位数据

MOV 41H, A ;高8位内容存入41H单元 INC DPTR ;使R/C、A0均为1 INC DPTR

MOVX A, @DPTR ;读取低4位

MOV 40H, A ;将低4位内容存入40H单元 MOV 17H, #10001111B ;将比较的数值存入单元中 MOV 18H, #0110B MOV 19H, #10011011B MOV 20H, #1010B

MOV AL, 40H ;将40H的内容存入AL单元中MOV AH, 41H ;将41H的内容存入AH单元中;比较最小数值的高八位 ;比较最小值的低四位

JA LP3 JBE LP4 LP3: JMP 01 LP4: JMP 04

03: CMP AH,19H ;比较最大值的高八位 JA LP5 JBE LP6 LP6: JMP 03 LP5: JMP 01

04: CMP AH ,20H ;比较最大值的低四位 JA LP7 JBE LP8 LP8: JMP 01 LP7: JMP 04

05: SET P2.0 ;报警

DEL: MOV R7,#200 ;延时50ms DEL1: MOV R6,#123

NOP

DEL2: DJNZ R6,DEL2

DJNZ R7,DEL1

RET ;返回 END ;结束

5 调试

5.1 调试的步骤

源文件的建立:使用菜单 “File-New”或者点击工具栏的新建文件按钮,即可在项目窗口的右侧打开一个新的文本编辑窗口,在该窗口中输入汇编语言源程序(4.2小节所示)。保存该文件,加上扩展名(.asm或a51),这里将文件保存为examl1.asm。

建立工程文件:点击“Project-New Project”菜单,出现以个对话框,要求给工程起一个名字,我们输入examl1,不需要扩展名,点击保存按钮,出现第二个对话框。这个对话框要求选择目标CPU(即我们所使用的芯片型号80C51)点击ATMEL前面的“+”号,展开该层,点击其中的80C51,然后点击确定按钮。回到主界面,此时,在工程窗口的文件页中,出现了“Targ et1”,前面有 “+”号,点击“+”展开,可以看到下一层的“Source Group1”,这时的工程还是一个空工程,里面什么文件也没有,需要手动把刚才编写好的源程序加入,点击“Souce Group”使其反白显示,然后,点击鼠标右键,出现一个下拉菜单。选中其中的“Add file to Group”Souce Group1”,对话框,要求寻找源文件,注意该对话框下面的“文件类型“默认为C Souce file (*.c),也就是以C为扩展名的文件,而我们的文件是以asm 为扩展名的,所以在列表框中找不到examl1.asm,要将文件类型该掉,点击对话框中”文件类型‘后的下拉列表,找到并选中“Asm Souce File(*.asm,*.a51)”,这样,在列表框中就可以找到examl1.asm文文件了。双examl1.asm文件,将文件加入项目,注意,在文件加入项目后,该对话框并不消失,等待继续加入其他文件,但初学时常会认为操作没有成功而再次双击同一文件,这时会出现对话框,提示

你所选的文件以在列表中,此时点击确定,返回前一对话框,然后,点击”Close”即可返回主界面,返回后,点击“Souce Goup 1”前的加号,会发现examl1.asm 文件以在其中。双击文件名,即打开源程序。

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

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

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

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

在进入环境以后,遇到了很多问题,总结如下:

1.提示无asm文件

编译时候提示:

F:\...\XX.asm

File has been changed outside the editor, reload ?

解决方法:重新生成项目,产生examl1.asm即可。

2.在进入Keil的调试环境以后,发现程序有错

解决方法:将光标定位于需要修改的程序上,用菜单,Debug》Inline Assambly…即可出现对话框,Enter New 后面的编辑框内直接输入需要修改的程序语句,输入完之后键入回车将自动指向下一条语句,可以继续修改,如果不在需要修改,可以点击右上角的关闭按钮关闭窗口。

3.程序调试时,一些程序必须满足一定的条件才能被执行到

解决方法:这些条件往往是异步发生或难以预先设定的,这类问题使用的单步实行方法是很难调试的,这时就要使用发哦程序调试中的另一种非常重要是方法---断点设置。断点设置的方法有多种,常用的是在某一程序行设置断点,设置好断点后可以全速运行程序,一旦执行到该程序行即停止,可在此观察有关变量值,以确定问题所在。在程序行设置

/

移除断点的方法是将光标定位于需要设置断点的程序行,使用菜单Debug/Insert/RemoveBreakPoint设置或移除断点(也可以用鼠标在该行双击实现同样的功能);Debug/Enable/Disable BreakPoint是开启或暂停光标所在懂行的断点功能;Dubug/Disale All BreakPoint暂停所有断点;Debug/Kill All BreakPoint清除所有的断点设置。这些功能也可以用工具条上的快捷键进行设置。

4.输入程序时,有中文标点,用keil编译时出现错误

解决方法:程序里有带中文标点,用英文重输入一遍

5.汇编出现数字、字母混淆

解决方法:字母“O” 和 数字 “0”。主要错在这里。注意细节!

结 论

忙碌了一段时间,终于要交稿了。毕业设计是我作为学生时期的最后一次作业,所以,当这一刻来临时居然有些不舍。相当初拿到题目时束手无策的样子,真的是很不懂事。因为,题目上出现的专业术语令我望而却步了。直到快要毕业时,才发现自己学到的东西太少了,而要学习的东西太多太多。曾经想多放弃,但放弃意味着什么?老师的一席话让我如梦初醒:虽然快毕业了,但毕业以后,你们要学习的东西还很多。人生就是不断的学习,不断的进步,不断的接受新事物才能学到很多有用的知识。倘若放弃,那么以后的人生就是被别人放弃。老师和学生,赢家永远是老师。倘若没有这次毕业设计,那么我将失去人生中最重要的教育:那就是,不能轻言放弃。

在这两个月中,找资料的过程让我学到很多。对单片机的了解也随之加深,它在烟雾报警系统中的应用,很多附件的应用,很多芯片的结构都有了一定的了解。在画图过程中,对Protel 99 SE软件能够操作自如。也对KEIL编程环境有了一些了解。

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

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

致 谢

毕业设计能够如期完成,我的指导老师高鹏老师给了我极大的帮助与支持。高鹏老师学识渊博,学风严谨,待人宽厚。在我遇到困难时能耐心解答直至我明白。尤其在我刚拿到一个带有陌生专业术语的题目想退缩时,高鹏老师的一翻教导令我受益匪浅。让我明白,没有付出,就没有回报的真谛。还有,人要不断的接受新知识,学习新知识,这样才能在以后的人生道路上坚强的走下去。高鹏老师要指导很多同学的论文,加上本来就有教学任务,工作量之大可想而知,而我对于单片机来说,是个初学者。所以,在设计的过程中,遇到很小的问题,都要劳烦老师讲解。在不断的接触中,高鹏老师的朴实无华,平易近人的性格对我影响颇深。在高鹏老师的指导和鼓励下,我才有信心去完成毕业设计,很荣幸成且幸运成为高鹏老师的学生。

除高鹏老师之外,还要感谢我的同学们。他们给了我很多的建议和帮助。尤其在程序的编写方面,给了我很大的帮助。特此感谢!通过本次设计,让我明白了很多。最重要的是一个人如果无法独立完成一件事情,那么,同学和朋友就是你的依靠。

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

参 考 文 献

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

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

[3]李朝青.单片机原理与接口技术.北京.航空航天大学出版社,1999:34.

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

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

[6]王福瑞.单片机测控系统大全.北京.航空航天大学出版社,1998:14-63.


相关内容

  • 建筑电气消防系统设计与应用毕业设计论文
    华南理工大学 本科毕业设计(论文) 民用住宅消防系统设计 系 部 机电与信息工程学院 专 业 电气工程及其自动化 班 级 11电气工程及其自动化2班 学 号 [1**********] 学生姓名 陈国杰 指导教师 章云 2015年 4月 摘 ...
  • 福建省-电气火灾监控系统设计.施工及验收规范地方标准(第一部分)
    福建省-电气火灾监控系统设计.施工及验收规范地方标准(第一部分) 发布时间:2015-6-25 10:39:01作者: 福建省工程建设地方标准 电气火灾监控系统设计.施工及验收规范 (征求意见稿) 2013–  –  发布         ...
  • 电气自动化设计
    四川信息职业技术学院 毕业设计说明书(论文) 设计(论文)题目: 办公楼电气设计 专 业: 电气自动化技术 班 级: 电气09-1班 学 号: 0940008 姓 名: 王 良 彬 指导教师: 陈 伟 2011年 11月 20 日 四川信息 ...
  • 火灾报警施工设计规范
    民用建筑电气设计规范之火灾报警与消防联动控制 电气设计相关 2008-03-20 14:36 阅读28 评论0 字号: 大 中 小 24火灾报警与消防联动控制 24.1一般规定 24.1.1本章适用于民用建筑内火灾报警与消防联动控制系统及防 ...
  • 消防设备的接线[1]
    消防设备的接线 计要求确定. 2根去消控中心的是总线. 4根到消火栓泵的是启泵线和反馈线. 一.消火栓按钮的接线:根据消火栓按钮的生产的要求和设 根据<建筑设计防火规范>GBJ 16-87第8.6.2条之规定:高层工业建筑和 水 ...
  • 机房气体消防系统
    机房气体消防 近年来,机房的火灾事故从未间断过.其实每个机房工程或多或少都安装了消防设施,而且也通过了消防部门的验收,但真正在发生火灾时能否起到作用,我想大多数机房工作人员心里都会打个疑问号.提高消防安全意识,实际是为消防节省投资:投资最高 ...
  • 消防电系统施工方案技术交底I
    消防电系统施工方案技术交底 交底内容: 一.施工前准备: ⑪ 在施工前应认真并熟悉设备安装平面图.接线图.系统图. ⑫ 安装人员应熟悉相关设计.施工及验收规范. 二.钢管内穿线.布线.校线 ⑪ 工艺流程: 选择导线→扫管→放线→导线与导线的 ...
  • 建(构)筑物消防员报考条件及工作要求
    感谢[消防百事通]整理分享 一建(构)筑物消防员简介 建(构)筑物消防员又称(消防中控),从事建筑物.构筑物消防安全管理.消防安全检查和建筑消防设施操作与维护等工作的人员. 从事主要工作包括:(1)消防安全检查:(2)消防控制室监控:(3) ...
  • 烟雾报警器工艺
    烟雾报警器发展前景与类型 一.烟雾报警器简介 烟雾报警器,别称火灾烟雾报警器.烟雾传感器.烟雾感应器等.一般将独立的,实物产品电池供电.或交流电供电电池为备电,现成报警时能发出声光指示的,称为独立式烟雾报警器.由总线供电,总线上可以连接有多 ...