本科毕业论文(设计、创作)
题目: 公交车火灾报警系统设计 学生姓名: 学号: ********* 所在系院: 专业: 电子信息工程 入学时间: 2010 年 9 月 导师姓名: 职称/学位: 副教授/硕士 导师所在单位: 完成时间: 2014 年 5 月
安徽三联学院教务处 制
安徽三联学院毕业论文
公交车火灾报警系统设计
摘要:近年来,公交车火灾事件频发,在公交车上安装火灾报警系统变得尤为重要。设计通过对多种火灾报警系统的分析和总结,给出了公交车火灾报警系统的总体设计方案;采用STCC52为核心控制器件,对各分电路原理做出了深入的分析,绘制了系统整体流程图,并用C语言实现了具体的程序设计,最后对软硬件系统进行了测验与调试。实现了可设置烟雾浓度和高温报警值,可以紧急报警和手动取消紧急报警功能,并具有掉电保存功能以及检测烟雾浓度和温度的功能。确认火灾后可以自动报警,报警时蜂鸣器发出滴滴的声音,红灯闪烁。操作简单方便,极易实现。
关键词:报警系统; 单片机; 传感器
1
安徽三联学院毕业论文
The design of the bus fire alarm system
Abstract: The bus has happened many conflagrations in recent years. The installation of fire alarm system becomes particularly important in the bus. This paper through a variety of fire alarm system analysises and summaries ,then gives the bus alarm system the whole scheme. The system uses STCC52 as the core element. The flow chart design of the whole is made. Then prepare the C language program and design the hardware circuits on the hardware and software debugging. The system may sets smoke concentration level and high temp .When a special circumstances occurs, according to the emergency alarm button to warn, the system has the power of save function. The button of the alarm system also has the function which may automatically adjust the set temp and the smog concentration. Once confirms the fire, The fire alarm system will alarm. The buzzer sounds and the red light flashes under the condition of alarm. We may operate the system simply and conveniently ,which is easy to realize.
keywords:Fire alarm system ; STCC52; sensor
2
安徽三联学院毕业论文
目 录
第一章 绪 论 ........................................................... 1
1.1 引言 ........................................................ 1
1.1.1 分析火灾现状及传感器的产生 ............................ 1 1.1.2 研究公交车火灾报警系统的背景及意义 .................... 1 1.2 火灾报警系统操作及说明 ...................................... 3
第二章 火灾报警系统的工作原理 .......................................... 4
2.1 火灾发生原理 ................................................ 4 2.2 火灾探测器的类型 ............................................ 5 2.3 温度传感器(DS18B20)电路 ................................... 6
2.3.1 DS18B20简介 .......................................... 6 2.3.2 18B20接口电路 ........................................ 7 2.4 系统总体功能概述 ............................................ 7
第三章 系统硬件设计 .................................................... 9 3.1 核心芯片选择 ................................................ 9
3.1.1 选择STCC52的原因 ................................... 9 3.1.2 STCC52引脚图及功能说明 .............................. 9
3.2 单片机最小系统 ............................................. 10
3.2.1晶振电路 ............................................. 11 3.2.2 复位电路 ............................................. 11 3.3 烟雾检测AD采集电路 ........................................ 12 3.4 按键控制电路 ............................................... 12 3.5 声音报警电路 ............................................... 13 3.6 LCD显示电路 ............................................... 14 3.7 电源接口电路 ............................................... 15 3.8 火灾报警系统图片 ........................................... 16
第四章 火灾报警系统软件设计 ........................................... 20
4.1 火灾报警系统程序设计 ....................................... 20
4.1.1 主程序流程图 ......................................... 20
I
安徽三联学院毕业论文
4.1.2 报警子程序 ........................................... 20 4.1.3 按键处理子程序 ....................................... 21 4.2 电路的调试 ................................................. 21
致谢 .................................................................. 22 参考文献 .............................................................. 23 附录 .................................................................. 24
II
安徽三联学院毕业论文
第一章 绪 论
1.1 引言
1.1.1 分析火灾现状及传感器的产生
我们的生活离不开火,火灾确实很可怕,因为它存在着严重的安全隐患,据相关资料显示,从1975 年到1987 年,我国就发生了44万起火灾,6多人在火灾中丧生,经济损失高达3250000000元,尤其是在1987,大兴安岭发生火灾,造成了重大的经济损失。火灾控制的重要性使各级和人民的意识逐渐增强,产生了各种控制火灾的手段和方法,但对火灾的控制效果并没有想象中的完善。19年共发生火灾30 起火灾,造成的经济损失超过30 万元,最让人很难接受的是,10天内就发生了3 起火灾,最严重的一次导致了700 万元的经济损失。不仅仅在我国,国外火灾现状也不容乐观,在各种网站我们都可以看到。各种火灾告诉我们要提高防火意识,做好防火准备。1940年,火灾自动报警系统产生于美国[1]。19世纪90年代,英国成功研制温度传感器,并可以使用在各类消防报警系统上,其后公交车火灾自动报警系统也得到了更为普遍的应用[2]。 1.1.2 研究公交车火灾报警系统的背景及意义
造成火灾的因素非常多,不仅有自然因素,亦有人为因素,但火情控制难,尤其人为因素造成的最多,为了更好地控制火灾必须提高消防技术,各级要认真做好预防工作,不断还要提高自身的防火技术,而控制火灾并报警则是此中的关键所在。残酷的现实让我们认识到不但要提高意识,做好消防工作也是必须的。
电子产品越来越普及,我们随处可见,但是电子产品引起的火灾也变得越来越多,火灾隐患潜伏在我们的身边,提醒我们不得不注意。由此产生的现代化的智能型的火灾报警系统现在已经不像以前的设备那样简单,而是整合了各种知识和经验,例如电子技术、计算机技术、自动控制技术以及传感器等。伴随着科学技术的不断发展,人类生活水平也在不断地提高,火灾报警系统定会得到进一步完善和发展。
本文重点介绍近年来现在广泛应用于交通工具上的火灾系统,在已有的基础上更进一步完美了设计工作,考虑各种不正常的情况,像漏了报、错误地报、延
1
安徽三联学院毕业论文
迟时间报、不去报等方面,并在此基础上改进了报警系统这个设备,随着近年来单片机技术不断提高,单片机在自动控制领域中得到了更为广泛的应用,本文结合了近年来单片机的研究现状,设计了基于普通单片机的实用可靠的自动火灾报警系统。自动报警系统有多种元器件制成,原件清单如下表1-1所示。
表1-1 原件清单列表
number 1 2 3 4 5 6 Comment ADC0832 蜂鸣器 10uF 20pF D 液晶显示器 Description AD采集芯片 蜂鸣器 Polarized Capacitor 电容 指示灯 液晶 Header, 2-Pin 三极管 电阻 电阻 电阻 排阻 电阻 按键 电源开关 单片机 烟物传感器 温度传感器 晶振 Designator 1 B1 C1 C2, C3 D1 LCD P1 Q1 R1, R2, R4 R3, R7 R5 R R6 S1, S2, S3, S4, S5 SW1 U1 U2 U3 Y1 Quantity 1 1 1 2 1 1 1 1 3 2 1 1 1 5 1 1 1 1 1 7 8 9 10 11 12 12 13 14 15 16 17 18 Header 2 9012 2K 10K 1K 10K 4.7 SW与PB sw-灰色 U1 MQ-2 DS18B20 12M 使用这些元器件,组成火灾报警系统,实时报警,安装在公交车上可以起到很好的报警作用。
2
安徽三联学院毕业论文
1.2 火灾报警系统操作及说明
本文的火采用STCC52为核心芯片,采用多种简单的部分组成整体电路,例如数据采集部分、模数转化部分、自动显示部分等。我们可以自己设置烟雾浓度和温度报警值,在需要时我们可以采用紧急报警和手动取消紧急报警,如果发生火灾时,我们可以按紧急报警键让报警系统进行报警,该系统带了掉电自动保存这一项功能,我们设置的参数,例如温度或烟雾浓度值,将保存在单片机内部的EEPOM中。当火灾发生时温度会随之升高,当周围环境的温度达到设置的温度时,ADC0832对采集来的信号进行处理,将信号转换后后送到单片机内部,再由单片机来处理,这时蜂鸣器会发出滴滴的报警声音,告诉人们火灾已发生,做好救火准备,同时在火灾发生过程中,可燃物燃烧会散发出一定的烟雾浓度,当燃烧物的温度达到设定的烟雾浓度时,蜂鸣器也会报警,同时红灯不停地闪亮,当温度和烟雾浓度未达到设定值时,火灾报警系统处于常态,红灯不亮,蜂鸣器不响。本文的报警系统的按键还有连加键、减键,很方便操作,在没有按键按下设置的30S后,系统将主动离开设置界面。
本系统温度和浓度的设置范围都是:0-99;设有4个按键,从左到右依次是紧急报警键、减键、加键、设置键。紧急报警建是在特殊情况下,需要紧急报警时,手动按下开关,火灾报警系统就会报警,在LCD和蜂鸣器之间设有紧急报警取消键,可以取消紧急报警,该系统具有掉电保存功能。加键是指通过按动开关增加设定的温度和烟雾浓度,减键是指通过开关按钮减小设定的报警温度和烟雾浓度,设置键是指按第一次设定温度,第二次设烟雾浓度,第三次按下,系统将回到正常情况时的显示界面。系统在设置界面可以自动停30S,30S后系统会退出设置界面。
3
安徽三联学院毕业论文
第二章 火灾报警系统的工作原理
2.1 火灾发生原理
火灾是一件令人很头疼的事情,我们要提前做好预防工作,避免产生更大的损失。产生火灾的要素很多,分为可燃物、助燃物和点火源。可燃物存在方式有3种,物质形态有气体、液体和固体。氧气越充足,可燃物燃烧的越厉害,被称之为助燃物[3]。火灾发生时,周围环境温度升高,当热量达到一定程度,达到某些物质的着火点时,物质就会发生自燃现象,导致火灾的面积越来越大根,如果不能采取正确的措施,后果将不可收拾,想想都令人毛骨悚然。
由于火灾产生时发生的现象不同,我们可将火灾分为三个阶段。阴燃的产生是这样,在又疏又松散的物质内进行缓慢的氧化的过程,它可以在很长的时间内维持并夸大面积,当外界条件发生变化时,结果也会响应它的变化。火灾是在火灾发生时,火迅速燃烧,不断向外扩散,并且有红、紫外线火焰产生。大量的研究结果,用事实告诉我们,火灾发生的重要原因是阴燃导致的[4]。
燃料油期货的过程是相同的,第一燃烧气体,然后烟,在一定的条件下氧浓度可以达到所有的火,火焰,发出可见光和不可见光,并散发出大量的热量,使环境温度升起来。火灾产生过程中,最初的两段阶段将有很长时间,虽然产生不少烟雾,但传感器已经开始了检测。火焰在燃烧,火灾的损失降到最低,产生大量的热,达到温度设定值,也会报警。因此,我们可以及时控制火势[5]。火灾发生曲线如图2-1所示。
图2-1 火灾发生曲线图
4
安徽三联学院毕业论文
2.2 火灾探测器的类型
火灾发生时,会产生烟雾,散出大量的热量,温度传感器对温度敏感,烟雾传感器对烟雾敏感。当外界条件改变时,例如烟雾、温度、火光等,传感器便改变原来的的状态,引起电流、电压等点亮发生变化,当然有时候变化是微小的,为了使看到的更明显,通常我们要放大信号,才能带动相应的电子器件,例如蜂鸣器等。火灾传感器是火灾系统里比较重要的器件,等同于人的眼睛,时时刻刻观察着周围的温度、烟雾浓度等,可以实现提前发出警报,让我们做好准备。
火灾传感器根据对各种参量的响应方式,可以将其划分为感烟雾式、感温度式、感光线式、复合形式和可燃性气体的传感器我们知道,使用不同的检测器是不一样的[6]。感烟式火灾探测器是最早使用的。感烟火灾探测器的类型,如表2-2所示。
表2-2 感烟式传感器类型
警戒范围 名称 离子感烟探测器 技术 双源 单源 点型 光电感烟探测器 电容感烟探测器 红外光束型 遮光性 闪光型 电量技术 红外光线发射、接收 线型 激光光束型 区域 空气管吸气性 激光光线发射、接收 光散射 云室 颗粒计算 感温式火灾探测器有着简单的结构,DS18B20的封装像三极管,在恶劣的环境中可以使用它,但是它的灵敏度低,反应有些迟钝。
由于本文中系统的传感器用到了MQ-2和DS18B20这两种传感器,所以其他的传感器就不在此介绍了。
5
安徽三联学院毕业论文
2.3 温度传感器(DS18B20)电路
2.3.1 DS18B20简介
DSl8B20是美国厂家的产物,它属于一种智能型传感器。它的功用远远超出
传统的热敏电阻型,它能够有效读出被测温度,还能够按照要求编程9~l2位的数字直读。从数据总线端温度能够变化成功率,总线也能够向相连的新型温度春干起供电,不需要外接电[7]。DSl8B20可以使系统结构变得更简单,可靠性变的更高。其引脚图见下图2-3所示。
图2-3 DS18B20结构引脚图
此中GND为接地子端,DQ为输入和输出端口,VCC为电源接口部位。DS18B20的内部结构分为四部分:ROM、温度传感器、温度报警触发器TH和TL、寄存器。
[8]
6
安徽三联学院毕业论文
2.3.2 18B20接口电路
图2-4 DS18B20接口电路
2.4 系统总体功能概述
本设计是比较简单的火灾报警系统,由电源、AD采集芯片、按键、电源开关、STCC52、LCD显示器、蜂鸣器报警等构成,操作简单,是一款比较实用的火灾报警系统,烟雾传感器和温度传感器是系统的感觉器官,它们可以很好地感知外界信息,通过AD采集芯片,将模拟信号转化为数字信号,然后单片机进行处理,如果超过设定值,系统会自动报警,否则保持常态。在报警的时候,红灯闪亮,蜂鸣器发出声音,在常态下红灯不亮,蜂鸣器不响,系统原理及组成框图如图2-5所示。
电源 AD采集电路 按键控制 报警电路 STCC52 单片机 显示电路 电源开关
图2-5 系统原理及组成框图
为了更好地展现报警系统的功能,在word中做出了系统的整体原理图,该
7
件符号。原理图是做出系统的比较重要的一步。
安徽三联学院毕业论文
显示烟雾,用拼音表示:yanwu。火灾报警系统原理图见图2-6。
图2-6 火灾报警系统原理图
状态;如果环境温度或烟雾浓度达到或超过设定值,系统将报警,这时按下复位
右的按键分别是紧急报警建、减键、加键、设置键,在蜂鸣器的旁边还设有复位
原理图包括声音报警电路、单片机最小系统、复位电路等电路,本设计中从左到
键,在紧急报警情况下,如果按下复位键,报警器将停止报警,恢复到不报警的
液晶显示器显示温度和烟雾浓度,第一行用英文显示,显示的是:temp,第二行
键或加键或减键,系统会停止报警,在报警的时候红灯闪烁,不报警时红灯熄灭。
本文采用Protel DXP 作出原理图连接图,并在相应的位置标出了量值和元
8
安徽三联学院毕业论文
第三章 系统硬件设计
3.1 核心芯片选择
3.1.1 选择STCC52的原因
STCC52是微控制器,它的功耗小,有8K的Flash存储器。该单芯片有8 位的CPU,还有可编程的闪存。STCC52拥有8k字节的Flash,256字节的RAM,32 位的I/O 输入输出端,数据指针有2个,16位的定时器/计数器有3个,中断结构,是全双工工作电路[9]。在空闲的时候,CPU会停止工作,但是允许RAM、定时器/计数器、串口、中断工作。在掉电的情况下,会保存RAM里的内容,单片机被迫停下来,不在工作,只有复位时才会工作[10]。
本火灾报警系统采用STC系列单片机,它比其他单片机更具优点,一般情况下STC单片机资源较多,它执行速度也很快;STC系列单片机的下载程序很方便;STCC52里面有看门狗电路,本身具有抗外界干扰性能[11]。 3.1.2 STCC52引脚图及功能说明
面对STCC52各引脚的功能进行较为详细的介绍: 1)电源引脚Vcc和Vss
VCC:电源接口,+5V。接地端子VSS[12]。 2)时钟电路引脚XTAL1和XTAL2
XTAL1:这是反相放大器的输入。XTAL2:此引脚连接到反相放大器的输出时钟信号的输入[13]。STCC52单片机引脚图如图3-1所示。
9
安徽三联学院毕业论文
图3-1 STCC52DIP-40封装封装引脚图
本设计使用P3口,其接线见表2所示。
表3-2 P3口第二引脚功能
引脚 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 第2功能 RXD(串行口输入端0) TXD(串行口输出端) INT0 INT1 T0 T1 WR RD 3.2 单片机最小系统
单片机最小系统是电子产品制作中最为简易的电路,本文中的最小系统有STCC52、复位电路、时钟电路构成,这也是老师要求我们必须掌握的,组图如图3-3所示。
10
3.2.1晶振电路
如图3-4所示。
3.2.2 复位电路
安徽三联学院毕业论文
图3-3 单片机最小系统
用18—33pf,本文使用石英晶体作为晶振,电容的大小为20pF。
由电容组成的震荡电路为单片机提供时钟信号,XTAL1和XTAL2在这里就不
复位电路是确定单一的启动状态,从而完成单片机的启动。当给单片机上电
期的高功率通常,单片机本身可以重置。在本设计中手动复位,需要连接一个上
的时候,将会出现复位信号[14]。当系统在运行的过程当中,如果被干扰到,程序
可能会跑飞,然后按复位键,单片机的程序会从新运行起来。有许多种方式,一
般分为上电复位和手动复位两种电源,单片机上电后,当复位端持续2个机器周
在详细介绍了,它们通过晶体连在一起,然后分别接电容到地,电容大小一般采
拉电阻,上拉电阻为10K的排阻。本系统内部使用时钟和上电复位的复位电路,
图3-4 单片机晶振和复位电路原理图
11
安徽三联学院毕业论文
由于单片机P0口内部不含上拉电阻,其它口内部都含有上拉电阻的,所以在使用该I/O口时,需要接上拉电阻[15]。
3.3 烟雾检测AD采集电路
本设计采用8位A/D芯片,烟雾传感器和温度传感器的输出端接三极管,然后接到AD转换芯片的端口。 芯片的几个重要管脚功能如下:
ALE为高电平有效。
START:当START置1时,内部寄存器的所有内容会被清掉;置0时,一个下降沿,将模拟信号,在转型过程中,一开始是一个较低的水平。
EOC:转换结束信号[16]。
我们采用MQ-2传感器收集的烟尘浓度,ADC0832采集烟尘浓度,可相应的烟雾浓度大小知道电压。进而设定理想的烟雾浓度的报警值,如图3-5所示。
图3-5 烟雾浓度采集电路
3.4 按键控制电路
本电路设计了4个按键,一个设置键,用来设置烟雾浓度和温度;一个加键,用来设置温度和浓度的报警值;一个减键,同加键;一个紧急报警键,当遇到紧
12
安徽三联学院毕业论文
急情况时,可按紧急报警键,一个取消紧急报警键,报警时蜂鸣器响,红灯亮。真正的按键有4个,其按键控制电路如图3-6所示。
图3-6 按键控制电路
3.5 声音报警电路
在三极管的基极电阻连接,然后连接MCU P3.6端口,来控制蜂鸣器报警电路,如图3-7所示为。
图3-7 声音报警电路
13
安徽三联学院毕业论文
3.6 LCD显示电路
数据被采集进来后,模拟信号转化为数字信号,并将信号显示在显示模块上,这样我们可以更直观地观看[17]。LCD极限参数如下表3-8所示。
14
安徽三联学院毕业论文
表3-8 LCD极限参数
标准值 名称 符号 MIN 电路的功率 LCD启动 输入电压 静电电压 工作温度 储存温度 Vdd-Vss Vdd-Vee VIN -0.3 Vdd-13.5 -0.3 --- -20 -30 TYPE --- MAX 7 Vdd+0.3v Vdd+0.3 100 +70 V V V V ℃ ℃ 单位 在本设计中,采用LCD1602来进行显示,其实现电路如图3-9所示。
图3-9 LCD液晶显示电路
3.7 电源接口电路
本文采用3节1.5V的干电池给单片机和传感器供电,这样的话更换电池比较方便。具体的接口电路如下图3-10所示。
15
安徽三联学院毕业论文
图3-10 电源接口电路
3.8 火灾报警系统图片
本文设计的报警系统正面接线图(去除LCD),该图片中用到的原件很多,见图3-11所示,反面接线图如图3-12所示,完整报警系统报警图如图3-13所示。
16
安徽三联学院毕业论文
图3-11 正面接线图
17
安徽三联学院毕业论文
图3-12 反面接线图
在万能板的后面,在焊接的时候,有些引脚通过锡焊接到一起,所以用到的导线很少,看上去简单,导线排列整齐,比较美观。
18
安徽三联学院毕业论文
图3-13 完整报警系统图
该图是在通电正常情况下的报警系统,从图上可以看出此时设置的温度是15℃,烟雾浓度设为39%,当外界环境温度达到或超过15℃时,或烟雾浓度达到或超过39%,系统会发出报警声音。
19
安徽三联学院毕业论文
第四章 火灾报警系统软件设计
4.1 火灾报警系统程序设计
4.1.1 主程序流程图
给传感器预热放在第一位,原因是MQ-2烟雾传感器在放置一段时间后已经没有电。其流程图如图4-1。
开始 开始
开始 程序初始化传感器预热处理 信号采集 A/D转换 否
单片机处理,判断是否超过报警设定 是
图4-1 主程序流程图
进入报警子程序 4.1.2 报警子程序
当烟雾浓度超过烟雾报警值以及当温度超过温度极限值时,蜂鸣器发出滴滴的报警声音,相应的信道的红灯闪烁,以提醒操作人员采取相应的措施来确保安
20
安徽三联学院毕业论文
全。
4.1.3 按键处理子程序
开始 扫描键值 N 是否有键按下 Y Y 延时1ms消抖 N 是否有键按下 Y 提取键值 调用键盘 处理子程序 结束
图4-2 按键处理子程序
4.2 电路的调试
电路的调试分为硬件调试和软件调试,对于硬件调试,首先要仔细检查线路,看看有没有虚焊现象,是否有毛刺需要修改,有的话则进行修改。电路调试很麻烦,需要不断地发现问题,然后改正,过程比较繁琐。
21
安徽三联学院毕业论文
致谢
刚开始选题时,杜老师和江老师给我们多个题目供选择,我对公交车火灾报警系统这个论题很感兴趣,心想:在做的过程中,遇到不会的问题,可以请教讲师,这样应该没什么问题的,从选择公交车火灾报警系统这个论题后,我就在查找各种与之相关的资料,有时候想不清楚到底该怎样做才能更完善报警系统这个设备,就去问老师。从选题到完成设计,老师帮我发现做论文过程中遇到的各种问题,帮助我思考,鼓励我,让我充满了信心和勇气,使我非常积极地投入到设计中,不断地实现了设计中的每一个环节,经过连续奋战一段时间后,我终归实现了这个设计,心里感觉满满的、甜甜的。在此,再次感谢老师,老师辛苦了,是你让我在再次回味了大学的学习生活,再次想起那份执着与热情,我很快乐,谢谢你。
在大学这四年,我觉得这项设计让我认为学习更有意义,生活更为充实,最后我要感谢我的关心和爱护我的家人,我尊敬的老师和我亲切的同学和朋友,谢谢你们,是你们让我的生活充满了正能量,让我坚强快乐地走下去。
22
安徽三联学院毕业论文
参考文献
[1]S. M. Lo,C. M. Zhao,M. Liu,A .Coping. A simulation model for studying the implementation of performance-based fire safety design in buildings [J].Automations in Construction,1998,17(7):852~ 863.
[2]J. K. W. Wong,H. Li,S. W. Wang. Intelligent building research:a review [J].Automation in Construction,2005,14 (l):143~159.
[3]丁璐,李春华,杨戍.火灾探测技术的分析[J].现代煤矿火灾探测技术.2007:12-15. [4]吴龙标,袁宏永.火灾探测与控制工程[M].合肥:中国科学技术大学出版社,1999. [5]范维澄.中国火灾科学基础研究概况[J].火灾科学,2005.22-25
[6]秦兆海,周鑫华.智能楼宇安全防范系统[M].北京:清华大学出版社;北京交通大学出版社,2005.
[7]刘迎春.传感器原理设计及应用[M].哈尔滨工业大学出社.2004. [8]刘广玉.新型传感器技术及应用[M].北京航空航天大学出版社,19.
[9]查方勇.基于DS18B20的多点温度采集系统设计与实现[J].黄冈师范学院学报.2011,31(6):46 -50.
[10]李华.MCS一51系列单片机实用接口技术[M].北京航空航天大学出版社,2002. [11]刘军.单片机原理与接口技术[M].华东理工大学出版社,2006.
[12]薛峰,朱晓骏.单片机原理及应用[M].北京:北京理工大学出版社,2011. [13]张毅坤等.单片微型计算机原理及应用[M].西安电子科技大学出版社.2006. [14]张毅刚.51单片机应用设计[M].哈尔滨工业大学出版社2010.
[15]陈伟.MCS一51系列单片机实用子程序集锦[M].清华大学出版社,1993. [16]肖忠祥.数据采集原理[M].西北工业大学出版社[M],2003. [17]赵负图.数据采集与控制系统[M].北京科学技术出社[M],1987.
23
安徽三联学院毕业论文
附录
下面是部分源程序代码 #include //单片机的头文件 #define uchar unsigned char //无符号字符型 宏定义 变量范围0~255 #define uint unsigned int //无符号整型 宏定义 变量范围0~65535 #include //连接ADC0832CS脚 //连接ADC0832SCL脚 //连接ADC0832DO脚 sbit dq = P2^0; //18b20 IO口的定义 sbit beep = P3^2; //蜂鸣器IO口定义 uint temp,s_t ; //温度的变量 uchar ywdj,s_ywdj; //烟物等级 uchar sd; bit flag_300ms ; uchar button_may; uchar menu_1; bit button_500ms ; void delay_1ms(uint q) { } void write_eeprom() { //按键值的变量 uint i,j; for(i=0;i SectorErase(0x2000); 24 安徽三联学院毕业论文 } byte_write(0x2000, s_t); byte_write(0x2001, s_ywdj); byte_write(0x2060, a_a); void read_eeprom() { } void init_eeprom() { } /********************按键程序*****************/ uchar button_may; //按键值 void button() //按键程序 { static uchar button_new; s_temp = byte_read(0x2000); s_ywdj = byte_read(0x2001); a_a = byte_read(0x2060); read_eeprom(); if(a_a != 1) s_t = 50; s_ywdj = 60; a_a = 1; write_eeprom(); } button_may = 20; //按键值还原 P1 |= 0x0f; if((P1 & 0x0f) != 0x0f) { 25 //按键按下 安徽三联学院毕业论文 } } delay_1ms(1); //按键消抖动 if(((P1 & 0x0f) != 0x0f) && (button_new == 1)) { //确认是按键按下 button_new = 0; switch(P1 & 0x0f) { case 0x0e: button_may = 4; break; //k1键值 case 0x0d: button_may = 3; break; //k2键值 case 0x0b: button_may = 2; break; //k3键值 case 0x07: button_may = 1; break; //k4键值 } } else button_new = 1; /****************LCD1602显示子函数***************/ void button_go() { if(button_may == 4) //紧急报警键 { } if(button_may == 1) //设置键 { menu_1 ++; if(menu_1 >= 3) { 26 if(menu_1 == 0) sd = 1; 安徽三联学院毕业论文 } } menu_1 = 0; if(menu_1 == 0) init_1602() ; //初始化显示 if(menu_1 == 0) { } if(menu_1 == 1) { if(button_may == 2) { } if(button_may == 3) { } write_sfm2(1,8,s_t); //显示温度 write_sfm2(2,8,s_ywdj); //显示烟物等级 write_com(0x80+7); //将光标移动到第2行第到3位 write_com(0x0f); //显示光标并且闪烁 write_eeprom(); //保存数据 27 if((button_may == 2) || (button_may == 3)) sd = 0; //取消手动报警 //设置报警值 s_t ++ ; if(s_t > 99) s_t = 99; //高温报警值加1 s_temp -- ; if(s_t <= 10) //高温报警值减1 s_t = 10 ; 安徽三联学院毕业论文 } if(menu_1 == 2) { if(button_may == 2) { } if(button_may == 3) { } write_sfm2(1,8,s_t); //显示温度 write_sfm2(2,8,s_ywdj); write_com(0x80+0x40+7); //将光标移动到第2行第到3位 write_com(0x0f); //显示光标并且闪烁 write_eeprom(); //保存数据 s_ywdj --; //烟物报警值减1 if(s_ywdj <= 1) s_ywdj = 1; s_ywdj ++ ; //烟物报警值加1 //设置低温报警 if(s_ywdj >= 99) s_ywdj = 99; } } void clock_h_l() { static uchar value; if((ywdj >= s_ywdj) || (temp >= s_t) || (sd == 1)) //此情况下报警 { value ++; if(value >= 2) 28 安徽三联学院毕业论文 { value = 10; beep = ~beep; //蜂鸣器发出响声 } }else { if((ywdj < s_ywdj) && (temp < (s_t)) && (sd == 0)) value = 0; beep = 1; } } } void main() { beep = 0; //开机蜂鸣器叫一声 delay_1ms(200); P0 = P1 = P2 = P3 = 0xff; //初始化IO口 temp = read_t(); //读取温度值 init_eeprom(); //读eeprom数据 time_init(); delay_1ms(650); init_1602(); //1602液晶初始化 while(1) { button(); if(button_may < 10) { button_go(); } 29 { 安徽三联学院毕业论文 if(flag_300ms == 1) { flag_300ms = 0; temp = read_t(); //读取温度值 clock_h_l(); ywdj = ad0832read(1,0); ywdj = ywdj * 99 / 255; if(menu_1 == 0) { if(temp >= 99) temp = 99; write_sfm2(1,8,temp); // write_sfm2(2,8,ywdj); } } } } void time 0_int() interrupt 1 { static uchar value; TH0 = 0x3c; TL0 = 0xb0; // 50ms value ++; if(value % 6 == 0) { flag_300ms = 1; //300ms value = 0; } } 30 显示温度 安徽三联学院毕业论文 31 for(j=0;j<120;j++);
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuo9.cn 版权所有 赣ICP备2023008801号-1
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务