火灾烟雾报警器论文正稿

上传人:痛*** 文档编号:107454058 上传时间:2022-06-14 格式:DOC 页数:31 大小:276KB
收藏 版权申诉 举报 下载
火灾烟雾报警器论文正稿_第1页
第1页 / 共31页
火灾烟雾报警器论文正稿_第2页
第2页 / 共31页
火灾烟雾报警器论文正稿_第3页
第3页 / 共31页
资源描述:

《火灾烟雾报警器论文正稿》由会员分享,可在线阅读,更多相关《火灾烟雾报警器论文正稿(31页珍藏版)》请在装配图网上搜索。

1、 .wd.XINYU UNIVERSITY基于单片机的万年历的设计论文 题目基于单片机的万年历的设计 二级学院 中兴通讯信息学院 专业通信工程 班级学号15通信工程二班 学生姓名章成正 指导教师 刘丹娟摘要随着科技的快速开展,时间的流逝,至从观太阳、摆钟到现在电子钟,人类不断研究, 不断创新纪录。美国DALLAS公司推出的具有涓细电流充电能的低功耗实时时钟电路DS1302。它可以对年、月、日、周日、时、分、秒进展计时,还具有闰年补偿等多种功能,而且DS1302的使用寿命长,误差小。对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、周日、时、分、秒和温度等信息,还具有时间校准等功能。

2、该电路采用STC89C51单片机作为核心,功耗小,能在5V的低压工作,电压可选用35V电压供电。 综上所述此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的开展趋势,具有广阔的市场前景。本电路为实现电子万年历的功能,采用单片机STC89C51,辅助以必要的外围电路,用C语言编写程序,并进展模块化设计而成的电子万年历系统.它通过LCD能正确显示阳历星期和时分秒,温度等,具有功能稳定,准确度高和可调的特点。 关键词:单片机;STC89C51;DS1302;LCD1602;万年历目录第1章绪论11.1论文研究来源、目的和意义11.1.1论文研究来源11.1.2

3、论文研究目的和意义11.2烟雾报警器的国内外现状2第2章烟雾检测报警器的设计方案及工作原理32.1系统设计的功能32.1.1 基本功能32.1.2拓展功能。32.2烟雾检测报警器设计思路32.2.1烟雾传感器的介绍42.2.2烟雾传感器的分类42.3烟雾检测报警器整体设计方案42.3.1烟雾检测报警器工作原理42.3.2温度检测报警器工作原理52.3烟雾报警器系统类型5第3章烟雾检测报警器的硬件设计63.1主电路的设计与实现63.1.1 89系列单片机的概况:63.1.2 AT89S52单片机介绍63.1.3 AT89C51单片机的内部构造:73.1.4 MQ-2型烟雾传感器73.1.5 DS

4、18B20温度传感器工作原理83.1.6ADC0809工作原理93.2烟雾报警器原理图103.2 复位电路103.3 晶振电路103.4 按键电路123.5 AD烟雾采集模块123.6 温度采集模块133.7 声亮报警模块133.8 液晶显示模块13第4章烟雾检测报警器的软件实现154.1单片机软件开发工具介绍154.2 protues7.10软件介绍154.3程序流程164.2.1流程图174.3主程序184.3.1 显示子程序194.3.2 A/D转换子程序20第五章总结215.1 软件调试总结215.2 硬件功能实现的总结21参考文献22致谢23附录124局部源程序24附录232元件清单

5、32附录333仿真运行图33实物图33实物运行图34第1章 绪论1.1论文研究来源、目的和意义1.1.1论文研究来源随着社会的进步,人们的生活越来越好但也伴随着越来越多的隐患,由于在现代城市家庭里,许多人因不懂家庭安全常识引起火灾事故,使幸福家庭眼间毁于一旦,有的甚至导致家破人亡,而且一旦发生居民家庭火灾,处置不当,是造成人员伤亡的重要因素。所以说,人们应该积极了解家庭火灾的主要起因,还有预防火灾的发生。英国每年发生50000起以上的严重家庭火灾,其中大局部火灾造成人员伤亡和重大的家庭财产损失,有的还连累左邻右舍,火灾损失更加沉重。在调查火灾起因的时候,绝大多数发生火灾家庭的当事人说,以前总觉

6、得火灾是人家的事情,与自己离得很远,没有想到这一次竟然会发生在自己的头上。1.1.2论文研究目的和意义随着现代家庭采用方便的家用电器的增加,家庭火灾发生的频率越来越高。一旦家庭有火灾发生,就很容易出现扑救不及时、灭火器材缺乏以及在场人惊慌失措、逃生缓慢等不利因素,最终导致重大生命财产损失。为了保护生命安全与财产安全,人们需要实时注意防止火灾的发生,利用高科技产品有利于人们及早发现火灾的隐含,及时的防止不必要的灾难发生。为了早期发现火灾的隐患,防止和减少火灾危害,保护人身和财产安全,防止火灾引起燃烧、爆炸等事故,造成严重的经济损失与危生命安全。随着烟感报警器的使用者不断增加,住宅失火造成的死亡人

7、数也不断下降。据美国国家消防协会报告说明,安装了推荐数目的烟感报警器的住宅一旦发生火灾,住宅内人员的逃生时机将比未安装的住宅多出502。所以家庭装有烟雾报警器灾难能够降低,防止不必要的灾难。1.2烟雾报警器的国内外现状探测器朝新探测技术的开展进一步拓展了火灾探测的应用领域,为一些传统探测器无法胜任的环境提供了有效的手段。相关技术的开展,如傅立叶近红外光谱技术弱信号处理技术、低功耗MCU技术进一步促进了传统探测技术的改进,使得传统探测器在技术和性能上有了显著的提高。火灾着极早期探测、多传感器复合探测和探测器小型化、智能化的方向开展迈出了更快的步伐。第2章 烟雾检测报警器的设计方案及工作原理2.1

8、系统设计的功能利用气体传感器MQ-2、ADC0809模数转换器、DS18B20温度传感器等实现 基本功能。通过这些传感器和芯片,当环境中可燃气体浓度或温度等发生变化时系统会发出相应的灯光报警信号和声音报警信号,以此来实现火灾报警,智能化提示。2.1.1 基本功能利用气体传感器MQ-2、ADC0809模数转换器、DS18B20温度传感器采集数据并对处理后的数据进展分析,如果温度大于或等于某个预设值,则黄灯点亮,启动报警电路发出报警声音,反之则黄灯熄灭,无报警声音。如果烟雾值大于或等于某个预设值,则红灯点亮,并启动报警器,发出报警声音。反之则红灯熄灭,无报警声音。2.1.2拓展功能。设计按键。当按

9、下设置按键时,光标闪烁,此时按下“加或“减对应的温度或烟雾阈值可进展设置。2.2烟雾检测报警器设计思路此次设计是针对于单片机原理及其应用展开的。其中包含了大学三年中所学到的相关知识,运用所学的传感器技术,单片机技术去设计基于单片机的烟雾报警系统。烟雾报警器的最 基本组成局部包括:烟雾传感电路、温度传感电路、模数转换电路、单片机控制电路。单片机紧紧联系着传感器和报警电路设备,给烟雾报警器设定一个值,当外界环境到达预先设定的数值时,烟雾传感器把被测的物理量作为输入参数,转换为电量输出。温度传感器的工作原理与上者一样。为了简化整个系统的设计在本设计中不采用前置放大器而是选择数值符合A/D转换器的输入

10、等级。模数转换电路将从烟雾传感电路送出的模拟信号转换成单片机可识别的数字信号后送入单片机。这里选择单片机的P1.0为输入方式,接收到信号的单片机经过程序的设定会由P0.0作为单片机的输出电路,单片机对该数字信号进展滤波处理,并对处理后的数据进展分析,是否大于或等于某个预设值,如果大于则启动报警电路发出报警声音,反之则为正常状态。烟雾传感器、温度传感器及单片机是可燃烟雾检测报警器的两大核心,根据报警器功能的需要,选择适宜、准确、经济的烟雾传感器及单片机芯片是至关重要的。2.2.1烟雾传感器的介绍烟雾传感器是将空气中的烟雾浓度变量转换成有一定对应关系的输出信号的装置,烟雾传感器是一种技术先进,工作

11、稳定可靠的传感器,被广泛运用到各种消防报警系统中。2.2.2烟雾传感器的分类1、离子式烟雾传感器该烟雾报警器内部采用离子式烟雾传感,离子式烟雾传感器是一种技术先进,工作稳定可靠的传感器,被广泛运用到各消防报警系统中,性能远优于气敏电阻类的火灾报警器。它在内外电离室里面有放射源镅241,电离产生的正、负离子,在电场的作用下各自向正负电极移动4。在正常的情况下,内外电离室的电流、电压都是稳定的。一旦有烟雾窜逃外电离室。干扰了带电粒子的正常运动,电流,电压就会有所改变,破坏了内外电离室之间的平衡,于是无线发射器发出无线报警信号,通知远方的接收主机,将报警信息传递出去。2、光电式烟雾传感器光电烟雾报警

12、器内有一个光学迷宫,安装有红外对管,无烟时红外接收。2.3烟雾检测报警器整体设计方案2.3.1烟雾检测报警器工作原理本论文中的烟雾报警器采用89S52单片机来控制核心,采用MQ-2型电阻式半导体传感器采集烟雾信息。其工作原理,首先烟雾传感器采集烟雾信息然后把烟雾信号转换为电量送入模数转换器中;接着模数转换电路将从烟雾传感电路送出的模拟信号转换成单片机可识别的数字信号后送入89S52单片机;最后,将实际可燃性气体浓度送入液晶,并判断浓度值是否超出报警门限,当浓度低于设置门限值的时候绿灯长亮,当烟雾浓度超出设定的限定值时,红灯亮并发出声音报警。2.3.2温度检测报警器工作原理该设计采用的是数字温度

13、传感器。温度传感器检测到的温度以及数据处理后,直接送给单片机89c52数字信号并进展数据分析。单片机对于温度传感器的送入的数据与预先设定的温度阈值,并判断温度是否超出设定的限定值。假设是超过,黄灯点亮并发出报警声音。2.3烟雾报警器系统类型AD烟雾采集模块为适应家庭和工业等场所对可燃性易爆烟雾安全性要求,设计的可燃性烟雾报警仪应不仅能在较宽的温度范围工作,而且应具有显示可燃烟雾浓度使用89S52单片机,MQ-2烟雾传感器与DS18B20温度传感器作为敏感元件,利用ADC0809转换器和烟雾报警电路,开发出可用于家庭或小型单位火灾报警的烟雾报警器。整个设计由5大模块与两个 基本电路构成:AD烟雾

14、采集模块、按键模块、液晶显示模块、声光报警提示模块、温度采集模块以及复位电路和晶振电路。89S52单片机,烟雾传感器是将现场烟雾浓度等非电信号转化为电信号,再通过ADC0809将模拟信号转换成数字信号送给单片机进展处理。烟雾报警模块由单片机和报警电路组成,由单片机控制实现不同的声光报警功能。本系统采用高性能的单片机,工作稳定、测量精度高、通用性强、功耗低,保证报警器的准确性及可靠性,而且最好体积小,成本低,有利于减少报警器的体积,降低报警器的成本。单片机液晶显示模块按键模块声光报警提示模块复位电路温度采集模块晶振电路图2.3 烟雾报警器系统第3章 烟雾检测报警器的硬件设计3.1主电路的设计与实

15、现89S52单片机是报警仪的设计中最核心的部件,一方面它控制A/D转换器实现模拟信号到数字信号的转换,另一方面,将采集到的数字电压值经计算机处理得到相应的二进制代码,与设定的值作比较。整个系统的软件编程就是通过C语言对单片机89S52实现其控制功能。3.1.189系列单片机的概况: MCS-51 单片机是美国INTE 公司于1980 年推出的产品,典型产品有 80 31、8051和8751 等通用产品,一直到现在, MCS-5 1 内核系列兼容的单片机仍是应用的主流产品,各高校及专业学校的培训教材仍与MCS-51 单片机作为代表进展理论根基学习。我们常说的已经停产的89C51 指的是ATMEL

16、公司的 AT 89C51 单片机,同时是在原根基上增强了许多特性,如时钟,更优秀的是由Flash程序存储器的内容至少可以改写 1000 次存储器取带了原来的 ROM一次性写入,AT89C51 的性能相对于8051 已经算是非常优越的了。89C51 的缺陷在于不支持ISP在线更新程序功能,必须加上ISP 功能等新功能才能更好延续MCS-51 的传奇。89S51就是在这样的背景下取代89C51 的,现在,89S51 目前已经成为了实际应用市场上新的宠儿,作为市场占有率第一的Atmel 目前公司已经停产AT89C51,将用AT89S51 代替。89S51 在工艺上进展了改进,89S51 采用 0.3

17、5 新工艺,成本降低,而且将功能提升,增加了竞争力。89SXX 可以像下兼容89CXX 等51 系列芯片。市场上见到的89C51 实际都是Atmel 前期生产的巨量库存而以。如果市场需要,Atmel当然也可以再恢复生产AT89C51。3.1.2 AT89S52单片机介绍AT89S52实物图与构造图由图3-1、3-2所示。该单片机可反复擦写1000次的FLASH只读程序存储器,器件采用ATMEL公司之高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚构造,片上Flash允许程序存储器在系统可编程,亦适于常规编程器。由图3-2可见,89S52单片机主要由以下局部组成:CPU

18、系统:8位CPU;含布尔处理器;时钟电路;总线控制逻辑。存储器系统:8KB的程序存储器ROM/EPROM/Flash,可扩至64KB;128KB数据存储器RAM,可再扩64KB;特殊功能存放器SFR。3.1.3 AT89C51单片机的内部构造:AT89C51单片机内部由CPU、4KB的FPEROM ,128B的RAM,两个16位的定时/计数器T0和T1,4个8位的I/O端P0、P1、P2、P3等组成。单片微机内部最核心的局部是CPU。CPU主要功能是产生各种控制信号,控制存储器、输入/输出端口的数据传输、数据的算术运算、逻辑运算以及位操作处理等,CPU按其功能可分为运算器和控制器两局部。控制器

19、由程序计数器PC、指令储存器、指令译码器、实时控制与条件转移逻辑电路等组成。它的功能是对来自存储器中的指令进展译码,通过实时控制电路,在规定的时刻发出各种作所需的内部和外部的控制信号,使各局部协调工作,完成指令所规定的操作运算器由算术逻辑器部件ALU、累加器ACC、暂存器、程序状态字存放器PSW,BCD码调整电路等组成。图3.1 单片机内部构造图3.1.4 MQ-2型烟雾传感器半导体烟雾传感器包括用氧化物半导体陶瓷材料作为敏感体制作的烟雾传感器以及用单晶半导体器件制作的烟雾传感器。按敏感机理分类,可分为电阻型和非电阻型。半导体气敏元件也有N型和P型之分。N型在检测时阻值随烟雾浓度的增大而减小;

20、P型阻值随烟雾浓度的增大而增大。半导体气敏传感器的分类。图 3.1.4 MQ-2型烟雾传感器本设计中采用的MQ-2型烟雾传感器属于二氧化锡半导体气敏材料,属于外表离子式N型半导体。当处于200300C温度时,二氧化锡吸附空气中的氧,形成氧的负离子吸附,使半导体中的电子密度减少,从而使其电阻值增加。当与烟雾接触时,如果晶粒间界处的势垒受到该烟雾的调制而变化,就会引起表而电导率的变化。利用这一点就可以获得这种烟雾存在的信息。3.1.5 DS18B20温度传感器工作原理DS18B20数字温度传感器接线方便,封装成后可应用于多种场合,如管道式,螺纹式,磁铁吸附式,不锈钢封装式,型号多种多样,有LTM8

21、877,LTM8874等等。主要根据应用场合的不同而改变其外观。封装后的DS18B20可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,干净室测温,弹药库测温等各种非极限温度场合。耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。图3.1.5 DS18B20温度传感器构造图3.1.6ADC0809工作原理ADC0809是美国国家半导体公司生产的CMOS工艺8通道,8位逐次逼近式A/D模数转换器。它由8路模拟开关、地址锁存与译码器、比较器、8位开关树型A/D转换器、逐次逼近存放器、逻辑控制和定时电路组成。其内部有一个8通道多路开关,它可以根据地

22、址码锁存译码后的信号,只选通8路模拟输入信号中的一个进展A/D转换。外部特性引脚功能ADC0809芯片有28条引脚,采用双列直插式封装,如以以下列图。下面说明各引脚功能:IN0IN7:8路模拟量输入端。2-12-8:8位数字量输出端。ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路。图 3.1.6 AT89C51引脚图ALE:地址锁存允许信号,输入端,高电平有效。START: A/D转换启动脉冲输入端,输入一个正脉冲至少100ns宽使其启动脉冲上升沿使0809复位,下降沿启动A/D转换。EOC: A/D转换完毕信号,输出端,当A/D转换完毕时,此端输出一个高电平转换期

23、间一直为低电平。OE:数据输出允许信号,输入端,高电平有效。当A/D转换完毕时,此端输入一个高电平,才能翻开输出三态门,输出数字量。CLK:时钟脉冲输入端。要求时钟频率不高于640KHz。REF+、REF-:基准电压。Vcc:电源,单一+5V。GND:地。3.2烟雾报警器原理图图3.2 烟雾报警器仿真原理图3.2 复位电路单片机的RET脚位复位脚。属于高电平复位。正常情况下,RET处于低电平,当按下按键后,给RET送入一个高电平,使单片机进展复位。图3.2 复位电路3.3 晶振电路12MHz的晶振,其机器周期是1us, 也就是说在执行同一条指令时用6MHz的晶振所用的时间是12MHz晶振的两倍

24、。为了提高整个系统的性能我选择了12MHz的晶振。 振荡方式的选择: 内部振荡方式,MCS-51内部都有一个反相放大器,XTAL1、XTAL2分别为反相放大器输入和输出端,外接定时反响元件以后就组成振荡器,产生时钟送至单片机内部的各个部件。这样就构成了内部振荡方式 外部振荡方式是把已有的时钟信号引入单片机内。这种方式适合用来使单片机的时钟与外部信号一致。 在我的这个设计中没有也无需与外部时钟信号一致,所以我选择了内部振荡方式,由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。晶振我选择了12MHz,相对于6MHz的晶振,整个系统的运行速度更快了。电容器C

25、1、C2起稳定振荡频率、快速起振的作用,电容值我选择了30pF。内部振荡方式所得的时钟信号稳定性高。图3.3 晶振电路3.4 按键电路图3.4 按键电路按键电路A、B、C分别接单片机的P2.3,P2.4和P3.7。当有键按下时,单片机得到一个低电平,通过程序进展判断,做出相应的工作。设置键为设置烟雾或温度的阈值,加、减按键分别在温度和烟雾值的阈值进展增加或减少的处理。3.5 AD烟雾采集模块本设计采用的是ADC0809。于仿真问题,ADC0809块错误,因此采用ADC0808代替。ADC0808相当于ADC0809的简化模数转换器。由于我们只需要一个输入口,所以ADD 的输入端我们全部接地,此

26、时,只有IN0口可以进展数据的输入。当烟雾传感器采集到信号并转换成电信号后输入给ADC0808。由单片机控制ADC0808的模数转换,并将数据通过单片机的P1口输入。通过液晶显示器显示出当前的烟雾值。图3.5 AD烟雾采集电路图3.2 复位电路3.6 温度采集模块DS18B20是数字度传感器,18B20检测的温度信号会在内部进展转换成数字信号,并通过DQ脚输出。可以直接进入单片机进展数据的处理判断。图3.6 温度传感器电路3.7 声亮报警模块LED1与LED2分别接单片机的P2.5和P2.6。鸣器接在单片机的P2.7脚。当采集的温度值或烟雾值大于设置好的初值,LED1或LED2会脚会由单片机的

27、高电平变为低电平,此时发光二极管处于导通状态而发光。于此同时,fmq会得到单片机给的一个低电平,使三极管处于导通状态,蜂鸣器发出声音。图3.7 声亮报警电路3.8 液晶显示模块VL为液晶显示器比照度调整端,接正电源时比照度最弱,接地时比照度最高,比照度过高时会产生“鬼影,使用时可以通过一个2.2K的电位器调整比照度。RS为存放器选择,接单片机的P2.0,高电平时选择数据存放器、低电平时选择指令存放器。R/W为读写信号线,接单片机的P2.2脚,高电平时进展读操作,低电平时进展写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R

28、/W为低电平时可以写入数据。E端为使能端,接单片机的P2.1脚,当E端由高电平跳变成低电平时,液晶模块执行命令。D0D7数据输入端口接单片机的P0口。图3.8 液晶显示电路第4章 烟雾检测报警器的软件实现4.1单片机软件开发工具介绍KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、构造性、可读性、可维护性上有明显的优势,因而易学易用17。用过汇编语言后再使用C来开发,体会更加深刻。KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到K

29、eilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能表达高级语言的优势。KEILC51标准C编译器为80C51微控制器的软件开发提供了C语言环境,同时保存了汇编代码高效,快速的特点。C51编译器的功能不断增强,更加贴近CPU本身,及其它的衍生产品。C51已被完全集成到uVision2的集成开发环境中,这个集成开发环境包含:编译器,汇编器,实时操作系统,工程管理器,调试器。uVision2IDE可为它们提供单一而灵活的开发环境。4.2 protues7.10软件介绍Proteus 软件进展单片机系统仿真设计,是虚拟仿真技术和计算机多媒体技术相结合的

30、综合运用,有利于培养学生的电路设计能力及仿真软件的操作能力;在单片机课程设计和全国大学生电子设计竞赛中,我们使用 Proteus开发环境对学生进展培训,在不需要硬件投入的条件下,学生普遍反映,对单片机的学习比单纯学习书本知识更容易承受,更容易提高。实践证明,在使用 Proteus 进展系统仿真开发成功之后再进展实际制作,能极大提高单片机系统设计效率。Proteus软件是英国Lab Center Electronics公司出版的EDA工具软件该软件中国总代理为广州风标电子技术。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前比较好的仿真单片机及外围器件的工具。虽然目前国

31、内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus是英国著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB

32、等多种编译器。4.3程序流程在整个程序流程中,经常要控制一局部指令重复执行假设干次,以便简短的程序完成大量的处理任务。这种按某种控制规律重复执行的程序称为循环程序。循环程序有先执行后判断何先判断后执行两种 基本构造。而我们要选用的是先判断后执行。MQ-2刚开场的时候不能马上检测烟雾,需要等通电一会后才能正常工作,程序初始化完毕后系统进入工作状态。89S52单片机对传感器检测到的烟雾信号进展模数转换,然后与设定的门限值进展比较,如果超过预算门限值蜂鸣器报警,同时把烟雾浓度值送入显示管显示,没有超过门限值继续进入监控工作状态。4.2.1流程图图 4.2.1 程序流程图开场读温度传感器初始化液晶进入

33、while循环读取烟雾值和温度值是否有按键按下执行按键程序启动报警是否设置状态温度或者烟雾超过限值完毕关闭报警是是是否否否4.3主程序void main()check_wendu(); /初始化时调用温度读取函数 防止开机85Ccheck_wendu();init_eeprom(); /开场初始化保存的数据Init1602(); /调用初始化显示函数while(1) /进入循环temp=ADC0809(); /读取烟雾值check_wendu(); /读取温度值Key(); /调用按键函数 扫描按键if(Mode=0) /只有当模式为0时才会执行以下的阀值判断局部Display_1602(yu

34、she_wendu,yushe_yanwu,c,temp); if(temp=yushe_yanwu) /烟雾值大于等于预设值时LED_yanwu=0; /烟雾指示灯亮baojing=0; /蜂鸣器报警else /烟雾值小于预设值时LED_yanwu=1; /关掉报警灯if(c=(yushe_wendu*10)baojing=0; /翻开蜂鸣器报警LED_wendu=0; /翻开温度报警灯else /温度值小于预设值时LED_wendu=1; /关闭报警灯if(tempyushe_yanwu)&(c0;x-) for(y=10;y0;y-);/写命令void write_com(uchar c

35、om) LCDRW=0; LCDRS=0; P0=com; LCDdelay(5); LCDEN=1; LCDdelay(5); LCDEN=0;/写数据void write_data(uchar date) LCDRW=0; LCDRS=1; P0=date; LCDdelay(5); LCDEN=1; LCDdelay(5); LCDEN=0;/1602初始化void Init1602() uchar i=0; write_com(0x38);/屏幕初始化 write_com(0x0c);/翻开显示 无光标 无光标闪烁 write_com(0x06);/当读或写一个字符是指针后一一位 wr

36、ite_com(0x01);/清屏 write_com(0x80);/设置位置 for(i=0;i16;i+) write_data(Init1i); /显示数组1的数据 write_com(0x80+0x40);/设置位置 for(i=0;i16;i+) write_data(Init2i); /显示数组2的数据 4.3.2 A/D转换子程序/ADC0809读取信息uchar ADC0809()uchar temp_=0x00;/初始化高阻太OE=0;/转化初始化ST=0;/开场转换ST=1;ST=0;/外部中断等待AD转换完毕while(EOC=0)/读取转换的AD值OE=1;temp_=

37、Data_ADC0809;OE=0;return temp_;第五章 总结5.1 软件调试总结本次课程设计,充分讲课堂上学习上的知识运用到实践中。除了要求C预言,单片机知识的掌握力度之外,还要学习熟练电脑仿真软件。本次仿真软件采用的是protues7.10 ,由于烟雾传感器无法再仿真元件中查找,我们根据烟雾传感器的原理,采用的是可变电位器进展代替。当改变电位器的电阻大小的时候,ADC0809的输入端检测到电信号,并进展转换成数字信号输入给单片机。通过数据处理之后,在传送给液晶显示器。在程序上,使用keil C51软件编写程序。才进展初次仿真时,发光二极管并不发光。经检测程序,发现对于二极管是否

38、接地,程序中需要改变其相应的电平。5.2 硬件功能实现的总结本次课程设计的硬件电路,全是手工焊接。焊接要求:元器件的布局必须美观,操作方便。焊锡尽量不使用拖焊,特别是长距离的连接,制止使用拖焊进展连接。在硬件电路焊接完成后,先检测电路中是否有短路,虚焊的现象。详细检查各个芯片,元器件的正极与负极是否都已经焊接完成。检查完成之后再开场接入电源。参考文献1 胡宴如主编.模拟电子技术M 高等教育出版社,2008-2-1 2 赵利主编.数字电子技术M 冶金工业出版社,2009-1-1 3 李华.单片机语言编程M.北京:北京航空航天大学出版社,2005-8-1.4 徐爱钧单片机原理实用教程基于Protr

39、ues虚拟仿真M北京:电子工业出版社.2009-1 5 李萍AT89S51单片机、原理、开发与应用实例M北京:中国电力出版社2008-76 张晔、王玉民等单片机应用技术M 北京:高等教育出版社2006-37 陈忠平 基于protues的51系列单片机设计与仿真 电子工业出版社 2013-18 张毅刚主编 单片机原理与应用设计 电子工业出版社 2014-29 顾辉,陈越等主编 微机原理与接口技术 电子工业出版社 2012-210 王港元 电子设计制作根基 江西科技技术出版社 2015-3致谢非常感谢刘丹娟教师,在我设计制作仿真时候,细心教诲,为我解决很多问题,并且还拓宽了我的知识,让我对于单片机

40、各方面的知识与应用,有了更多的认识。当然也要感觉此前的学习中,模拟电路教师,数字电路教师的教学。如果不是他们的任教,他们的帮助和指导,单单凭就我那浅薄的单片机知识,是不可能完成本次的课程设计的。感谢你们对我们学习付出的时间与精力,对此,我一定会铭感五内,始终不忘记教师的教诲。正是由于你们的教诲,我才能在各个方面提升自己能力,让我以后在社会中有了些许立足之本。在此向各位教师表示我由衷的谢意,并祝所有的教师培养出越来越多的优秀人才,桃李满天下!当然,我还需要感谢我的小组成员,是我们共同探讨,共同完成本次的课程设计。当然还要感谢我的室友,帮我解决我在写程序时遇到的各种问题。我知道,这个课程设计基于单

41、片机的烟雾报警设计的圆满完成,是与教师,同学的帮助是分不开的。再次对我的指导教师刘丹娟以及我的同学致以最崇高的敬意和衷心的感谢。附录1源程序/程序头函数#include /宏定义#define uint unsigned int #define uchar unsigned char/显示函数#include /显示函数display.h在工程里也可鼠标选中左边右键open document #include #include eeprom52.h#define Data_ADC0809 P1 /定义P1口为Data_ADC0809 之后的程序里Data_ADC0809即代表P1口/管脚声明s

42、bit LED_wendu= P25; /温度报警灯sbit LED_yanwu= P26; /烟雾报警灯sbit baojing= P31; /蜂鸣器接口sbit DQ = P27; /ds18b20的数据引脚/ADC0809sbit ST=P33;sbit EOC=P36;sbit OE=P32;sbit CLOCK=P30;/按键sbit Key3=P23; /设置键sbit Key2=P24; /加按键sbit Key1=P37; /减按键signed char w; /温度值全局变量uint c; /温度值全局变量/酒精含量变量uchar temp; /用于读取ADC数据uchar

43、yushe_wendu=50; /温度预设值uchar yushe_yanwu=45; /烟雾预设值/按钮模式| uchar Mode=0; /=1是设置温度阀值 =2是设置烟雾阀值/函数声明extern uchar ADC0809();extern void Key();/*void delay(uint z) /延时函数大约延时z msuint i,j;for(i=0;iz;i+)for(j=0;j0;i-) DQ = 0; / 给脉冲信号 dat=1; DQ = 1; / 给脉冲信号 if(DQ) dat|=0x80; Delay_DS18B20(4); return(dat);/*写一

44、个字节*/void WriteOneChar(unsigned char dat) unsigned char i=0; for (i=8; i0; i-) DQ = 0; DQ = dat&0x01; Delay_DS18B20(5); DQ = 1; dat=1; /*读取温度*/unsigned int ReadTemperature(void) unsigned char a=0; unsigned char b=0; unsigned int t=0; float tt=0; Init_DS18B20(); WriteOneChar(0xCC); /跳过读序号列号的操作 WriteO

45、neChar(0x44); /启动温度转换 Init_DS18B20(); WriteOneChar(0xCC); /跳过读序号列号的操作 WriteOneChar(0xBE); /读取温度存放器 a=ReadOneChar(); /读低8位 b=ReadOneChar(); /读高8位 t=b; t=8; t=t|a; tt=t*0.0625; t= tt*10+0.5; /放大10倍输出并四舍五入 return(t);/*读取温度*/void check_wendu(void)c=ReadTemperature()-5; /获取温度值并减去DS18B20的温漂误差if(c=999) c=9

46、99;/ADC0809读取信息uchar ADC0809()uchar temp_=0x00;/初始化高阻太OE=0;/转化初始化ST=0;/开场转换ST=1;ST=0;/外部中断等待AD转换完毕while(EOC=0)/读取转换的AD值OE=1;temp_=Data_ADC0809;OE=0;return temp_;void Key()/模式选择if(Key1=0) /设置按键while(Key1=0);if(Mode=3) Mode=0;else/ write_com(0x38);/屏幕初始化 write_com(0x0f);/翻开显示 无光标 光标闪烁/ write_com(0x06)

47、;/当读或写一个字符是指针后一一位Mode+;/模式加一switch(Mode)/判断模式的值case 1:write_com(0x80+7);/为1时 温度阀值的位置闪烁break; /执行后跳出switchcase 2:write_com(0x80+15);/为2时 烟雾阀值的位置闪烁break;case 3:/当模式加到3时/write_com(0x38);/屏幕初始化write_com(0x0c);/翻开显示 无光标 无光标闪烁Mode=0;/模式清零break;if(Key2=0&Mode!=0) /加按键只有在模式不等于0时有效while(Key2=0);switch(Mode)

48、/加按键按下时 判断当前模式case 1: /模式为1时yushe_wendu+; /预设温度值阀值加1if(yushe_wendu=99) /当阀值加到大于等于99时yushe_wendu=99; /阀值固定为99write_com(0x80+6); /选中阀值在1602上显示的位置write_data(0x30+yushe_wendu/10); /将阀值数据分解开送入液晶显示write_data(0x30+yushe_wendu%10);write_com(0x80+7);write_eeprom(); /保存数据break;case 2:yushe_yanwu+; /同温度阀值设置if(

49、yushe_yanwu=255)yushe_yanwu=255;write_com(0x80+13);write_data(0x30+yushe_yanwu/100);write_data(0x30+yushe_yanwu%100/10);write_data(0x30+yushe_yanwu%10);write_com(0x80+15);write_eeprom(); /保存数据break;if(Key3=0&Mode!=0)while(Key3=0);switch(Mode)case 1:yushe_wendu-; /同上if(yushe_wendu=0)yushe_wendu=0;wri

50、te_com(0x80+6);write_data(0x30+yushe_wendu/10);write_data(0x30+yushe_wendu%10);write_com(0x80+7);write_eeprom(); /保存数据break;case 2:yushe_yanwu-; /同上if(yushe_yanwu=yushe_yanwu) /烟雾值大于等于预设值时LED_yanwu=0; /烟雾指示灯亮baojing=0; /蜂鸣器报警else /烟雾值小于预设值时LED_yanwu=1; /关掉报警灯if(c=(yushe_wendu*10) /*温度大于等于预设温度值baojing=0; /翻开蜂鸣器报警

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!