基于单片机的居室报警系统设计方案_第1页
基于单片机的居室报警系统设计方案_第2页
基于单片机的居室报警系统设计方案_第3页
基于单片机的居室报警系统设计方案_第4页
基于单片机的居室报警系统设计方案_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于单片机的居室报警系统设计方案1.1 当前社会背景随着目前社会的不断发展进步,人们生活水平的不断提高,但是在我们身边有着越来 越多的隐患。为了及早地发现和报警,把我们的人身财产安全损失减到最低。那么灾自动 识别报警系统已经成为了我们日常生活中不可画缺的一部分了。而目前有很多的高层建筑 物、商业建筑、工厂、密集住宅区,对消防报警系统的要求更加的严格核可。消防安全和 消防设施作用的发挥对于系统设计、安装和使用该系统显得尤为重要。火灾自动报警系统 提醒人们火灾的发生一般都是通过环境中产生的烟雾、热量等变量识别然后传送到控制器 再由控制器传到各个模块实现的。现在大部分的企业都主要面向货物存储地、大型

2、超市、 高层公寓、酒店等的大型场所的报警系统研发。而忽视了再居民住宅区、学校教室等的小 型防火楼房。不仅仅火灾给我们的生活带来了威胁,盗窃事件也经常威胁这我们。根据目前的社会 发展趋势来看,由于我国人口分布不均,人口基数大,城市人口密集。因此城市中的人们 都比较是在密集的住宅区定居。 这些住宅区的主要特点是楼层较高和密集, 人员流动较大, 安全防要提高。因此我们很有必要要提高家庭电子防盗报警系统。而本次设计也为了这种 需求所设计的居室报警系统来满足当今社会的需求。2 系统总设计方案2.1 设计容和要求本设计主要是硬件和软件两部分。硬件还有数据收集模块、远程控制、报警等。因为 报警系统主要是检测

3、室温度和烟雾的浓度识别来实现报警功能的。所以本居室报警系统的 硬件主要由红外线人体传感器、温度传感器、烟雾传感器、报警模块、单片机控制电路来 实现的。当居室遭到入侵时,装在门窗检测点上面的红外探头可以检测到人体辐射出来的 红外能量,从而得知有人入侵,系统就会通过相应的处理把数据传到单片机,然后实现了 报警。而当火灾发生的时候,居室中的烟雾浓度会升高,热量也会升高,那么通过烟雾传 感器和温度传感器检测到变量,经过 A/D 转变成数字信号传送到单片机,单片机分析处理 后就会驱动报警器,实现报警。2.2 系统设计的总体思路从这次的设计要求来以知道,硬件电路包括输出 / 输入电路、单片机、扩展电路模块

4、 等组成。本次基于单片机的居室报警系统包括了硬件设计和软件设计这两部分。所以系统 应该包含如下图的结构, STC89C51单片机为核心控制、红外检测模块、温度检测模块、烟 雾检测模块和 AD采集这几部分,该系统的结构框图如图 2-1 所示。在本次系统设计中,对于报警系统获取识别信息的途径主要有两种。一种是对于环境 中烟雾浓度的识别,另外一种是红外光电管的识别。当环境中的烟雾浓度升高时,单片机 将会识别该转换后的数字信号,从而触发中断,传到报警电路发出报警。而第二种识别, 平时在没有遮挡物的时候,接收管可以接收到发射管发射出来的信号。当有人入侵经过, 会遮挡住发射管,由于红外线无法穿透物体,因此

5、,接收管无法接收到信号,此时单片机 会接收到一个高电平信号触发中断,产生了报警信号。3 核心单片机电路3.1 STC89C51 系列单片机介绍本系统的主要控制核心是 STC89C51系列单片机。它是具有低功耗,高性能,而且稳 定的微控制器。在本系统中,它的主要任务就是通过中断信号,来判断是否发生了火灾和 有人入侵居室,如果确实发生了火灾和有人进入,就会触发警报进行报警。STC89C51系列单片机在电子产品领域中具有广泛应用, 它在单晶的片上, 拥有 8 位的 CPU和在系统可编程的 Flash 。它具有 32个I/O 口,2个 16位定时/计数器,片 4K的FLASH, 4K字节闪存,128字

6、节随机存取数据存储器, 并且含有中断、 串口等外设。另外,STC89C51 仍能够进行 0HZ的与非运算,具有省点的功能模式。在空闲模式下,可以停止一些不必要 的操作,节省了系统的损耗的同时又能够保持中断串口等外设的正常工作。在掉电之后, 程序仍不会丢失,保存在存储器中,晶振会停止震荡,直到下次上电开启。其具体引脚如 下:Vcc:电源电压。Vss:接地。XTAL1:接外部时钟输入端和片振荡器的高增益反相放大器。XTAL2:作为片振荡器的高增益反相放大器的输出端。RST:作为复位信号输入端。只有在高电平的时候才有效。如果要对单片机进行复位 操作的话,那么只需要在这个引脚上面,加上 2 个机器周期

7、以上的高电平即可。EA/Vpp:输入信号的时候,外部储存器允许访问的控制信号。当EA端高电平的时候,那么就会读取存储程序的存储器。但是当访问的 PC 值超过 0FFFH时,它就会自动跳转访 问外部储存器中储存的数据。而当 EA 端输出为低电平时,它就会只读取外部储存器,地 址为 0000HFFFF,H此时片的 Flash 存储器将不起功能。 Vpp 作为引脚的另一个功能,作 为输入编程电压。ALE/PRO:G在访问存储器时候,该引脚可以产生信号,锁存地址,低8 为的地址不能呗访问,确保了整个系统的安全。在平时, ALE 会产生脉冲信号,该信号的频率为晶振的 1/6 。闪存的访问必须经过 ALE

8、位的有效信号之后才能够正常的开始。如果 ALE所存了地 址,则该地址具有写保护的特性。此外,该信号可以为程序存储器提供相应的时钟信号。 在必要的时候,它还能够禁止 ALE操作放址单元 D0 位置,那是特殊放大寄存器区中程序 存储器 INC的 8EH。这样指令 ALE才会被应用,同时该引脚将会在单片机部被拉高,并且 单片机在执行外部程序的时候,此时信号线将失效。PSEN:片程序储存器的读选通程序存储器信号。当程序元需要访问外部空间的时候, 该引脚会产生下降沿信号,用于触发对外部存储器的读写。此外,该引脚可以当做外部存储器的使能信号引脚。P0口:一个具有双功能 8 位双向 I/O 口。当 STC8

9、9C51增加外部存储器时,以及 P0 口 作为外部寄存器的地址总线,数据总线为分时复用端口。并且 P0 口也能够作为 I/O 口使 用,需要加一个上拉电阻,才可以变成准双向口。当作为普通的 I/O 输入时, 应先向输 出的锁存器端口外部的寄存器写入数据 1。而且 P0口可驱动 8个 LS型 TTL负载。P1口:是一个 8 位单功能的准双向 I/O 口,部有上拉电阻。P1口是专为用户使用的准双向 I/O 口,当作为普通的 I/O 输入时, 应先向端口的输出 锁存器写入 1。P1口可驱动 4个 LS型TTL负载。P2口:是一个 8 位双功能的准双向 I/O 口,部也有上拉电阻。 当作为地址输出线,

10、它可输出高 8 位地址。P2口也可作为普通的 I/O 口使用。当作为普通的 I/O 输入时,先向输出锁存器写入 1。 P2口可驱动 4个 LS型TTL负载。P3口:是一个 8 位有第二输入功能的准双向 I/O 口,不存在高阻抗输入状态,有上拉 电阻。P3口可作为通用的 I/O 口使用。当作为通用的 I/O 输入时,先向输出锁存器写入 1。 P3口可驱动 4个 LS型TTL负载。本设计选用 STC89C51作为主控芯片,其管脚如图 3-1 所示。图 3-1 STC89C51 的管脚图3.2 单片机最小系统STC89C51如果需要正常工作, 那么外部的晶振电路是必不可少的。 因为它所产生的一 个固

11、定频率的振荡信号可以作为单片机部的时钟基准。 单片机有两个引脚 XTAL1, XTAL2, 两端连接石英晶振,一个为输入一个为输出。外部连接两个匹配电容。外部晶振的频率越 高,振荡器产生的震荡信号频率越高, 单片机的工作速度越快。 但是并不是晶振越高越好, 运行速度快对存储器的速度要求振荡器越高,对印制电路板的振荡器工艺要求也高,即要 求线间振荡器的寄生电容要小振荡器,过高的速度会降低 51 单片机的运行稳定性。3.3 晶振电路在本次系统设计中主要使用的是 STC89C51系列单片机和 12MHZ的晶振,配上一个 30PF 的电容。晶振电路主要作用的是 XTAL1和 XTAL2这两个引脚。 X

12、TAL1主要是用来输出和支 持部时钟电路的工作,并且作为反向震荡放大器, XTAL2 作为来自反向振荡的输出。一般 选取电容 C1为 10uf, 电阻 R1为 10K。这是为了在上电的时候, RST脚的高电平可以保持两 个以上机器周期,如图 3-2 所示。图 3-2 STC89C51 单片机晶振电路3.4 复位电路STC89C51系列单片机的复位一般都是由外部的复位电路来实现的, 通过外部复位电路 来实现复位引脚 RST的。复位电路工作原理是给电源 VCC上电的时候,电容 C7进行充电, 电阻 R6 会出现电压,从而使单片机复位;然后,电容C7充电完毕,电阻 R6上的复位电流降到 0,电压也降

13、为 0,那么单片机就进入复位工作。工作期间,按下按键,那么电容 C7就会放电复位,同时在电阻 R6上会出现电压,使得单片机复位。 S4 复位松手,电容 C7 又复位充电,几个毫秒后复位,单片机进入工作状态,如图 3-3 所示。图 3-3 STC89C51 单片机的复位电路4 温度传感电路4.1 DS18B20 介绍DS18B20,是一种常用的温度传感器。它体积较小,适用围较广,抗干扰能力较强, 检测精准等特点。它的主要特点是采集数据为数字信号,能够直接传给单片机处理。同时 它可以提供 9 位的温度读数,显示温度。而且它是单线接口方式,只需要一条线就可以使 单片机与 DS18B20实现双向通讯,

14、无须外接电源。4.2 工作电路本设计 DS18B20与单片机的 P2.3 相连,采集到温度信号后,将数据传输给单片机当 温度达到预先设定的上限值(本文的上限值是: 45 ),则 LED红灯点亮,蜂鸣器报警, 数码管显示当前的温度值,如图 4-1 所示。5 烟雾传感电路5.1 烟雾传感器 MQ-2并且该传感器价格便宜, MQ-2气体传感器作为报 5-1 和图 5-2 所示。本次系统设计中 主要使用的是 MQ-2气体传感器。它的主要是由二氧化锡 (SnO2)组成, 这种材料的电导率是较低的。 MQ-2气体传感器的灵敏度很高,尤其是液化石油气、氢气, 天然气等。它的主要原理是电导率随可燃气体的浓度增

15、大而增大 安全可靠,是一种理想的气体检测传感器。因此,本设计采用 器烟雾信息采集部分的核心,烟雾传感器的外观和结构图如图图5-1 MQ-2 型传感器的外观图5-2 MQ-2型传感器的结构图5.2 MQ-2 传感器的介绍它对天然气、液化石油气等可燃气体识别灵敏,反应迅速,还能长期持续工作,具备 良好的重复利用。并且对于工作电压的要求低, 24V 以下都能工作。并且加热电压为 5 0.2V。这是由于它初期是稳定状态的,会吸附空气中的水蒸气,因此不能马上进入工作状 态。长期不通电工作后必须要预热几分钟,使粘附水蒸气蒸发了,它才能够正常工作。而 在此我们称为初期稳定时间。5.3 ADC0832 介绍5

16、.3.1 ADC0832 功能特点ADC0832是 NS公司生产的 8 位分辨率的 A / D转换芯片,多达 256的最大分辨率可适 用普通模拟转换的要求。芯片只需要 32S 转换时间,输出的是一个双数据可以用作数据 验证,以便减少数据误差,转换速度快且稳定还有强大的性能。单独的芯片使能输入,使 更多的设备连接和处理器控制变得更加方便。通过 DI 数据输入,就可以很容易地选择通 道来实现功能。5.3.2 ADC0832 外部引脚及其说明ADC0832各引脚说明如下: CS片选使能,在低电平时有效。 CH0, CH1两路模拟输入通道,或作为 IN+/- 使用 DI 数据信号的输入端,选择通道控制

17、。 DO数据信号的输出端,模数转换数据输出。 CLK芯片时钟输入。 Vcc/REF电源的输入端和基准电压的输入端。 GND电源接地端。5.4 单片机对 ADC0832的控制原理ADC0832分别是通过 CS,CLK, DO,DI 这四个管脚与单片机相连。但由于在 DO和 DI 通信时,它们不是在同一时间有效,而且还因为,单片机接口是双向的,所以一般我们将 在一条线上并联使用 DO和 DI。当 ADC0832没有连接工作时,这是因为 CS输入为高,则芯 片不工作。当需要 A/D 变换,则应该终止 CS中的第一件事情是拉低电平,并且需要保持 低电平直到转换结束。然而,芯片此时开始的转换,那么处理器

18、将发送一个脉冲信号到芯 片的时钟输入端之前,接收第一时钟信号, DI 端都要高电平,这表明起始位。在此之前的 第二个和第三个时钟脉冲时,在为了选择信道的功能, DI 输入端一般有 2 位数据,其功能 如表 5-1 :表 5-1输入形式配置位选择通道CH0CH1CH0CH1差分输入00+-01-单端输入10-+11+由表 5-1 可知,当配置位的差分输入的 CH0和 CH1为 0和 0 的时候,那么选择通道 CH0 将会作为正输入端 IN+,CH1将会作为负输入端 IN- 。当配置位的差分输入的 CH0和 CH1为 0和 1的时候,那么选择通道 CH0将会作为负输入端 IN- ,CH1将会作为正

19、输入端 IN+。当 配置位的单端输入的 CH0和CH1为1和 0的时候,那么选择通道 CH0只进行单通道转换。当配置位的差分输入的 CH0和 CH1为 1 和 1 的时候,那么选择通道 CH1将会只进行单通道 转换。在收到第 3 时钟脉冲,输入电平 DI 端没有任何效果,然后 DO/DI 端输出的数据, 以及将读取数据 DO。在收到的第 1 个与第 4个时钟脉冲将 DO端从数据转换输出,然后接 收每个脉冲, DO终端将输出下一个数据。直到前 11 个脉冲到来前,都输出最低位数据, 因此,在完成输出数据的一个字节的目的。 从该数据, 输出数据相对的下一个字节也开始, 也就是从第 11 个时钟脉冲

20、输出 D0。然后,它会输出 8 位数据,直到第 19 个脉冲到来时的 数据输出,同时也标志着这是第一次 A/D 转换完成。5.5 A/D 转换电路因为 MQ-2烟雾传感器是电阻型的, 所以需要串联电阻。 然后再经过放大电路后, 传到 ADC0832进行采集,信号经过 A/D转换模块转换之后, 传送到单片机进行处理 ,如图 5-3 所 示:图 5-3 A/D 转换电路6 光电对管检测电路红外线接收管是用来接收和感应红外线光线的。通常接收管和发射器都是红外线发射 管成套运用的。红外光电对管的特征与原理如下:红外线接收管接收红外光电,它主要是 将红外光信号,转变成电信号的半导体电器件,它的核心部分是

21、有一个特殊材料的PN结,与普通的红外光二极管主要区别是,红外光线接收管为了更大接收面积的接受入射光线, 它会尽量做大它的 PN结面红外光电积,同时电极的面积应该越小, 同时 PN结的电结很浅, 一般小于 1 微米。红外线接收二极管的工作原理,主要是受到红外光电反向电压的作用。 每当有物体遮挡时,此时红外光电没有受到光照,那么它的反向电流很小,我们称之为暗 电流。然而当有红外线光照时,受到强烈的光照,那么红外线光子携带着能量进入 PN 结后,把能量传给束缚在共价键上被物体遮挡的电子, 就会使少量这些电子的挣脱了共价键,产生了电子空穴对。它们在反向电压的作用,会发生漂移,同时在光照变大,反向电流也

22、会更加的明显变大,光照强度越大,反向电流也越大。通常我们称这种特性“光电导”。 在平时无遮挡物,接受管可以收到发射管发射出来的信号,在发射管的输出端会一直为低 电平。当有物体经过,遮挡住发射管时,由于红外线无法穿透物体,因此,接受管无法接 收到信号,此时有高电平信号产生。具体的电路如图 6-1 所示:图 6-1 光电传感器电路6.1 报警电路本次系统设计使用蜂鸣器灯光作为报警警报。通过单片机接收温度传感器、气体传感器和红外传感器的数据,判断环境变量来确定是否进行报警。6.2 蜂鸣器当单片机接收到的信号判断为超过环境中的设定值时,就会把Q1导通,驱动蜂鸣器,发出报警声,如图 6-2 所示:图 6

23、-2 蜂鸣器报警电路6.3 按键设置电路在单片机上接上按键控制电路的两端,一端是地线,另一端是 P1口,如图 6-3所示:图6-3 按键设置电路其中四个按键分别为红外人体传感器,控制烟雾浓度,控制火灾温度,加减浓度和温 度上限值。按键1:代替红外人体传感器进行仿真操作;按键2:火灾温度值和烟雾浓度值设置按键,可以设置火灾温度和烟雾浓度的上限值, 本设计的火灾温度上限值为 45,烟雾浓度上限值为 2;按键3:增加预设环境中的烟雾浓度上限值和温度上限值;按键4:减少预设环境中的烟雾浓度上限值和温度上限值;6.4 LED 灯光电路LED灯闪光报警电路,一端和地线相连,另一端和 STC89C5的1 P

24、3口相连。显示火灾情况和 居室入侵报警情况,电路图如图 6-4 所示。图 6-4 LED 显示电路6.5 显示电路火灾报警显示电路采用 LED共阳极数码管,用来显示环境中的温度和烟雾的浓度。电 路图如图 6-5 所示。图 6-5 显示电路7 系统软件设计本次设计中,软件编程部分主要解决的是识别判断环境中的温度传感器、烟雾传感器 和红外人体传感器传来的数据,进行判断处理作出报警。其逻辑流程图如图 7-1 所示单片机进行数据处理图 7-1 逻辑流程图7.1 系统主程序在本次系统设计中,上电之后首先是对单片机系统进行初始化。单片机中断的初始化 主要是为了更好的实现单片机检测信号的到来。在这之后,便开

25、始等待外部中断的到来, 当环境中温度烟雾浓度和红外接收器产生变量,会产生相应的电平变化,触发中断,产生 报警。报警时,程序控制 LED灯进行闪烁,如果单片机没有接收环境中的变量时,则单片 机处于等待中断的模式。 主程序主要是要进行初始化, 以及设置中断的矢量和调用显示等。7.2 温度采集处理模块由于本次使用的是集成了数字信号转变的温度传感器。所以不需要 A/D 转换。为了方 便展示本次设计,将温度传感器的报警温度设定为 40,在实际当中其报警温度为 60 温度采集转换的流程图如图 7-2 所示:开始对DS18B20进行初始化图 7-2 温度采集流程图7.3 烟雾采集处理模块7.3.1 标度变换

26、概念传感器元器件检测物理变量的方法,一般都是通过传感器感受环境中的变量,转换为 电信号,再经过数据采集系统后得到与被检测相对应的数字信号。也就是说在不同的智能 设备中,同样的数字量所代表的是不一样的。通常采用一定的处理技术将这些数字量转换 为具有不同纲量的相应物理量,这一技术称为标度变换。7.3.2 标度变换的原理如果被测量物理量,它的变化围为 A0-Am,物理量的实际测到数据量为 Ax;A0 对应的 数字量是 NO,Am对应的数字量是 Nm,Ax 对应的数字量是 Nx;如果传感器的整个采集系统是 线性相关的,那么它的标度变换公式就是:7-1 )7-2 )Ax=A0+(Am-A0)*(Nx-N

27、0)/(Nm-N0)在本设计中,由于采集的是负载电阻的电压值,再而算得出烟雾传感器的电阻值,从 而求得对应的浓度值。则有:Ax=A0+(Am-A0)*(Nx-N0)/(Nm-N0)=0+(5-0)*( Nx-0)/(255-0)= Nx/517.3.3 数据采集系统上电就会驱动 ADC083,2 IN0、IN1进行 A/D转换,转换好的数字信号传到单片机 之后,把相应的数据存在储存器,这是由中断服务程序完成。注意:当 cs 从高变为低的 时候,就会选择 ADC083。2 在时钟的上升沿, ADC0832部的多路地址移位寄存器就会把 DI 端的数据存入。在第一时钟周期中, DL 是高电平,这意味

28、着起始位置,那么将输入两个进 入配置位。当启动位和配置位输入了之后,选通模拟通道,此时转换就开始。从转换开始 之后,一个时钟周期的延时,就会使得选定的通道稳定。紧接着它会在第4 个时钟下降沿的时候,输出转换数据。它会先输出最高位 (D7-DO),在把转换结果输出了之后,又会从 最低位开始再一次输出数据 (D7-DO),这两次发送的最低位会共享。8 结束语智能家居防火防盗报警系统的普及,能够保障人们生命财产安全,可以有效的尽早对 火灾发生发出警报,以及居室的非法入侵进行报警。它是集防火防灾和人身生活安全的设 备仪器。本次设计的居室报警系统主要由温度传感器,烟雾浓度传感器和红外人体传感器构 成。

29、DS18B20温度传感器它体积较小,使用环境广泛,封装多种多样,适合小型设备的使 用。MQ-2烟雾传感器可以检测多种可燃性气体,成本低,可靠性高,是一种理想的气体检 测传感器。它可以把环境中的烟雾浓度进行气 - 电的转换器,而电导率会随着可燃气体浓 度变化,转换成电流信号,通过 A/D 转换电路成数字信号,再发送到单片机进行处理。DYP-ME003人体感应传感器是基于红外线技术的元器件,它的灵敏度强,可靠性高,应用 广泛。STC89C51单片机是一款低能耗、 具有可编程的存储器, 而且应用围广泛, 容易上手, 价格便宜,扩展性强,适合我们本次的系统设计要求。如果再在本次的设计系统上加以扩展功能

30、,就可以使本系统功能更加的完善和强大, 可靠性和安全系数更高。附录 1 基于单片机的智能家居防火防盗报警系统仿真图附录 2 基于单片机的智能家居防火防盗报警系统程序源代码1. Hari主程序: ffinclude include 18b20.h include displaLyh i?include *adcO832.hunsigned char value;unsigned char count=O; void niaLin ()TMOD=Oxll; /徒时器T1初始化TH1=(65535-1000) /256;TL1= (65535-1000)%2 56;EA=1;ETO=1;ET1-1

31、;TRO=1;TR1=1;Init.DS18B20();温度芯片初始化PO=Oxff;初始化断口Pl=Oxff;P3=0xff;while (1) Scan_Key () baojinQ ;value = ReadAd.c0832(0);2. DS18B20 程序:itmclude 18b20h#includereg52. hsbit DQ = P2*3;void Delay(int nun)while (num;/应时国数 2uS/次)void Init_DS18B2O(Yoid)/l9始化 ds 1820unsigned char x=0;DQ = 1;/DQ 复位Delay(8);/什肖

32、做延时DQ = 0;/单片机将拉低Delay(80);/I青确延时大于480usDQ二1;/拉高总线Delay(14);沪DQ;?肖做延时后,如果x=0则初始化成功,x=l贝U初始化失败Delay(20); 、 一unsigned chai ReadOneChar(void)/i$个字节unsigned char i=0;unsigned char dat = 0;for (i=8;i0;i)Kl = 0; dat=l;W = 1;if(DQ)/给脉冲信号/给脉冲信号dat1=0x80;DeLay(4); return(dat);宀卄void ViiteOneChar (unsi gned c

33、har个字Tunsigned char i=0; foi (i=8; i0; i)DQ = 0;DQ = dat&OxOl;Delay(5);DQ = 1; dat=l;unsigned int ReadTemperature(void)unsigned char a=0;unsigned char b=0;unsigned int t=0;float tt二0;Ini-t_DS18B20 ();Wzi-teOneChai (OxCC); /坯过读序号列号的操作Wxi-teOneChaz (0x44) ; / 启动温度转换Ini-t.DS18B20 0;WzitZOneChar (OxCX:)

34、; 跳过读序号列号的操作 Wzi-teOneChaz (OxBE); 读収温度看存器 a=ReadOneChax () ; i貳氐 8 位 b=ReadOneChax 0 ; /读高 8 位2b;t=8;t=t |a;tt=W. 0625;t=/倣大10倍输出并四舍五入return(t); _3. di splay显不程序 #mc l-ude#inc lude display, h#includer18b20.#define laddata =PO;Unsigned char code duanma = OxcO, 0xf9, Oxa4,OxbO,0x99,0x920x82, Oxf850x8

35、0, 0x90,0x89,0xc7;共阳数玛管带小数点段码表5, 工辽;T P5飞unsigned char code tab = OxcO, 0xf9, 0xa4, OxbO, 0x9%OxS2, 0x82, Oxf8, 0x80 0x90;extern unsigned char id=0;extern unsigned char value;unsigned char 1eve1=0;bit h_tenp=O, l_temp=0;/ 定义闪烁标志位int temp, temph=45, temp 1=3;/igS-tT7限温度int flag=l;float nongdu;unsigne

36、d chai ad_datalj ad_data2 ad_data3;unsigned int data dis4= 0x00,OxOOj0x000x00;sbit beep= Pl*0;sbit leshidian = Pl 1;sbit SET = PT2;sbit UP = P3;sbit DOWN = P4;sbit ledlaim = P3*3;sbit ledNorm. = P34;unsigned chai tempFLagO, nongduFlagO, buttonFlag=0;char alatmLevel = 2; 浓度报警设置sbit wdul = P26;/浓度sbit

37、 vdu2 = P25:/豆示sbit vduS 二P2“4;温度十位sbit vdu4 = P27;温度个位void delsy_Jh.s (unsigned char Jhs) / 延时毫秒 12M, ms 值 255unsignftd. char i;while(fts)for(i = 0; i 100; i+); _void display temp (void) 显示函数 EA = 0;temp = ReadTemperature();EA = 1;dxs 2=value/51, /AD 值转换为 3 位 BCD 码,最大为 5.00V, dis 3=value%51; 余数暂有 d

38、is 3=dis 3*10;计算小数第一位disll=dis3/51;dis3=dxs3%51;dis 3=dxs 3*10;计算小数第二位disO=difi3/51;nongdu = d.is 2+l. O+dis 1 *0 l+d 0 *0.01;xf(nongduO. 70)level=l;else rf (070=nongdu085) level=2;else if (0.85=nongdu0.90)1eve1=3;else if (0. 90=iwngdu0 95)1eve1=4;else if (0. 95=nongdul. 99) temph=99;elseif (一tftJit

39、ph5) leve1=6;elseif (level2)id二 0;whil e(SET = 0);if G 乍二 0)h_t eihp=0; emp=0;if G 乍二 1)h_teinp=l; id_case_key ();i(xd=2)h + ejnp-0; 1 +eTnp=l; id case key (); if (x e shi dian =0)delay_ms(20);if (zeshidian = 0)buttonFlg = buttonFlag;while(reshidian = 0);)void baojin(void)if(level= alaxmLeve1)n.ongd

40、uFlag=l;elsenong duF 1 ag=0;)if (temp/10)=tejnph)tempFlag=l;/ledAlai=0; /edNoxjn=l; 溫度高于或等于上限值,报警elsetempFlag=O;if (tempFlag|buttonFlag|nongduFlag)beep=0;ledAlarn=l;ledNorm=0丿elsebeep=l; ledAlain=O; ledNor=l;参考文献1 GB50116-98 火灾自动报警系统设计规 M.: 中国计划 .2 群芳 , 肖看 . 单片机原理、界面及应用嵌入式系统技术基础.: 清华大学 ,2005.3 谭浩强着 .C 语言程序设计 .: 清华大学 ,20064 义和,王敏男,许宏昌,等 .例说51单片机.: 人民邮电 ,2008.5 周丽娜 .Protel99SE 电路设计技术 .: 中国铁道 ,20096 郁有文 ,常健,程继红等 . 传感器原理及工程应用(第三版) .: 电子科技大学

温馨提示

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

评论

0/150

提交评论